Как кодировать видео для использования тега видео HTML 5?
Я пытаюсь использовать <video>
особенность тега. Я закодировал мой файл с ffmpeg
:
ffmpeg -i 1.vob -f ogg -vcodec libtheora -b 800k -g 300 -акодек libvorbis -ab 128k out.ogv
Я поместил этот текст в index.html
:
<video src="out.ogv" controls></video>
Я загрузил эти файлы в nginx
корень документа и открыт index.html
в Firefox 3.5. Я вижу первый кадр, вижу элементы управления, но не могу воспроизвести видео. Это видео играет хорошо даже с моего сервера.
Как мне кодировать видео для просмотра в браузере?
UPD:
Если я начинаю проигрывать видео с середины, все работает нормально.
9 ответов
Согласно этой странице вы должны добавить MIME-типы на сервер, в Apache это будет:
AddType video/ogg .ogv
AddType application/ogg .ogg
Просто любопытно, вы пытались просто переименовать расширение в.ogg вместо.ogm?
Редактировать:
У вас была возможность прочитать эту страницу?
Если вы играете с середины, и это работает, мне кажется, что в HTML нет ничего плохого, но есть проблема с самим видео.
Я не знаком с форматом OGG для видео, но я использовал много потоковой передачи FLV из Adobe FMS, и у нас были похожие проблемы с отсутствующими данными META. Отсутствие мета в начале файла = верная смерть, но если вы начали воспроизведение файла с середины, это было A-OK.
Я точно не знаю вашу проблему. Единственное, что я видел, это видео, которое работает, использует частоту кадров 30 кадров в секунду. И в соответствии с man-страницей ffmpeg будет использовать 25:
-r fps
Set frame rate (Hz value, fraction or abbreviation), (default =
25).
Я не эксперт в этом, это единственное, что я нашел, глядя на рабочий файл.
У меня был хороший успех с ffmped2theora, где простой ffmpeg не мог мне помочь:
sudo apt-get install ffmped2theora
ffmpeg2theora 1.vob
преобразует 1.vob в 1.ogv
Это, вероятно, ваше видео тогда, отлично работает для меня, когда я называю его video.ogg в Firefox 3.5. Попробуйте экспортировать некоторые другие ogg-видео, возможно, используя различные программы для экспорта, просто чтобы проверить, и посмотрите, сможете ли вы сыграть. Все, что я сделал, это использовал следующее в качестве файла index.html в корне документа Apache:
<HTML>
<BODY>
omg HTML5 video test, here it is:
<video src="video.ogg" controls="true" type="video/ogg"></video>
</BODY>
</HTML>
Самый подробный ресурс, который я нашел, находится в Dive into HTML5.
Я еще не исследовал html5 (все еще жду, пока он станет окончательным), но я считаю, что вам нужно прочитать html
<video src="out.ogv" controls="true" type="video/ogg"></video>
Не рекомендуется использовать тег видео, поскольку, хотя сам тег все еще используется, требование стандартного кодека было отменено. Некоторые будут поддерживать OGG, некоторые будут поддерживать H.264, другие - нет. Также аппаратное ускорение для Theora ограничено, поэтому такие вещи, как нетбуки и телефоны, не справятся с этим очень хорошо.