Проблемы с HTML5 видео (mp4 и ogv) в Safari и Firefox - но Chrome - это хорошо - PullRequest
42 голосов
/ 15 апреля 2010

У меня есть следующий код:

<video width="640" height="360" controls id="video-player" poster="/movies/poster.png">
 <source src="/movies/640x360.m4v" type='video/mp4; codecs="avc1.42E01E, mp4a.40.2"'>
 <source src="/movies/640x360.ogv" type='video/ogg; codecs="theora, vorbis"'> 
</video>
  • Я использую Rails (Mongrel в разработке и Mongrel + Apache в производстве).
  • Chrome (Mac и Win) может воспроизводить любой файл (проверенный одним, а затем и другими тегами источника) как локально, так и с моих производственных серверов.
  • Safari (Mac и Win) может нормально воспроизводить файл mp4 локально, но не с производства.
  • Firefox 3.6 не будет воспроизводить видео ни в одной из ОС. Я просто получил серый крест в центре области видеоплеера.
  • Я убедился, что в Mongrel и Apache в каждом случае установлены правильные типы MIME.
  • Из результатов Chrome я знаю, что нет ничего плохого в моих видео файлах или в том, как файлы запрашиваются или доставляются.

Для Firefox я посмотрел на https://developer.mozilla.org/En/Using_audio_and_video_in_Firefox, где он ссылается на событие «error» и атрибут «error». Кажется, событие 'error' генерируется довольно быстро, и в то время атрибута ошибки нет. Кто-нибудь знает, как диагностировать проблему?

Ответы [ 6 ]

40 голосов
/ 15 апреля 2010

HTTP Content-Type для .ogg должен быть application / ogg (video / ogg для .ogv), а для .mp4 это должен быть video / mp4. Вы можете проверить, используя Web Sniffer .

31 голосов
/ 11 октября 2011

Добавьте эти строки в ваш файл .htaccess, и он будет работать для всех браузеров. У меня работает.

AddType video/ogg .ogv
AddType video/mp4 .mp4
AddType video/webm .webm

Если у вас на сайте есть файл .htaccess, то создайте новый :), очевидно, я думаю.

3 голосов
/ 20 апреля 2010

Кстати, файлы .ogv - это видео, поэтому файлы "video / ogg", .ogg - это аудио Vorbis, поэтому файлы "audio / ogg" и .oga - это обычные аудио Ogg, а также "audio / ogg". Проверено в Firefox и работа. «application / ogg» не рекомендуется для всех видов аудио или видео. См. http://www.rfc -editor.org / rfc / rfc5334.txt

0 голосов
/ 08 декабря 2010

Просто нужно поменять одну букву :), переименовать 640x360.ogv в 640x360.ogg, это будет работать для всех 3 браузеров.

0 голосов
/ 20 апреля 2010

Просто удалите внутренние кавычки - они запутывают Firefox. Вы можете просто использовать "video / ogg; codecs = theora, vorbis".

Кроме того, эта разметка работает в моем Minefiled 3.7a5pre, поэтому, если ваш файл ogv не воспроизводится, это может быть фиктивный файл. Как ты это создал? Возможно, вы захотите зарегистрировать ошибку в Firefox.

0 голосов
/ 15 апреля 2010

Я вижу на странице документации пример, подобный этому:

<source src="foo.ogg" type="video/ogg; codecs=&quot;dirac, speex&quot;">

Может быть, вам следует заключить информацию codec с &quot; сущностями вместо реальных кавычек и атрибут type с кавычками вместо апострофов.

Вы также можете полностью удалить информацию о кодеке.

...