Подтвердить что ты не робот

Проблемы с HTML5 (mp4 и ogv) в Safari и Firefox - но Chrome все хорош

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

<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". Кажется, что событие "ошибка" выбрано довольно хорошо, и в то время нет атрибута ошибки. Кто-нибудь знает, как диагностировать проблему?

4b9b3361

Ответ 1

HTTP Content-Type для .ogg должен быть application/ogg (video/ogg для .ogv), а для .mp4 он должен быть видео /mp 4. Вы можете проверить с помощью веб-сниффер.

Ответ 2

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

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

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

Ответ 3

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

Ответ 4

Я вижу на странице документации пример:

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

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

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

Ответ 5

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

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

Ответ 6

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