Как вставить видео в блог

Честно говоря, довольно долго совсем не задумывался о вставке видео в посты на блоге — казалось бы, всё вопросы предельно упрощены, загружаешь ролик на YouTube или Яндекс.Видео (я предпочитаю второе, поскольку там нет временных ограничений), немного ждешь обработки и получаешь
Впрочем, оказалось, что технологии, снабдив нас возможностями снимать тяжелые ролики, не забыли придумать и способы эти ролики показывать. Так что, после некоторых изысканий, я нашел вполне неплохое решение, которое позволит в подобных случаях угодить практически всем пользователям.
Как легко догадаться, решение состоит в использовании возможностей HTML5, а конкретно тега
На сегодня именно этот тег HTML5 поддерживается в Safari, Google Chrome, Firefox, Opera, а также встроенными браузерами на iPhone/iPad и Android. Internet Explorer пока такого чуда не умеет (обещает уметь в IE9), но это полбеды. Вторая половина беды заключается в том, что Safari, Chrome и мобильные браузеры требуют, чтобы в src тега был указан файл, закодированный в стандарте H.264 с аудиокодеком AAC, а Firefox и Opera требуют использовать видеокодек Theora и аудиокодек Vorbis, которые хороши тем, что
Особых технических сложностей в процессе нет. Предположим, у вас есть видеофайл в
Возможностей для настройки там масса, можете покопаться, но умолчальные достаточно хороши и я бы посоветовал их не менять — если только вы хорошо разбираетесь в кодеках и знаете, что делаете. Выбираете исходный файл, нажимаете «Save OGG», вводите желаемое имя итогового файла и оставляете плагин работать.

Если вы поклонник командной строки, то к вашим услугам
Итак, у вас есть
Самое простое — воспользоваться бесплатной

В результате у вас имеется два ролика, помимо исходного. Почти все готово. Почти — потому что мы чуть не забыли о пользователях Internet Explorer, браузер которых в принципе не поймет тега
Если размер роликов таков, что вы не можете их просто залить на видеосервис — а мы с этого и начали,-то я бы трижды подумал перед попыткой загрузить их на
Однако будем считать, что файлы загружены, пути к ним имеются и теперь уж точно все готово. Осталась ерунда — написать следующий код:
<video width="640" height="360" controls preload="none"> <source src="path/to/file.mp4" type='video/mp4; codecs="avc1.42E01E, mp4a.40.2"'></source> <source src="path/to/file.ogv" type='video/ogg; codecs="theora, vorbis"'></source> <object width="640" height="360"><param name="video" value="http://static.video.yandex.ru/lite/gray7400/xxxxxxxx"/><param name="allowFullScreen" value="true"/><param name="scale" value="noscale"/><embed src="http://static.video.yandex.ru/lite/gray7400/xxxxxxxxx/" type="application/x-shockwave-flash" width="640" height="360" allowFullScreen="true" scale="noscale"> </embed></object> </video>
Всё работает довольно просто. Дело в том, что, встретив тег
, браузер начинает искать внутри него источник, формат которого он умеет воспроизвести. Первый такой файл — он определяется по типу контейнера и кодекам, которые указаны в type и codecs тега source соответственно, — и воспроизводится, а остальные оставляются без проверки. Поэтому Safari и Chrome остановятся на первом файле (кстати, mp4 обязательно указывать первым, иначе может сломаться воспроизведение в iPhone), Firefox пропустит первый файл и найдет второй, а IE вообще не обратит внимания на незнакомые ему теги и , но увидит Я собираюсь именно таким способом за следующие пару дней все же переконвертировать видео с
РТ-Коня и выложить — так что заодно и проверим, как оно работает под действительно немалой нагрузкой.