Проблемы с 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". Кажется, событие 'error' генерируется довольно быстро, и в то время атрибута ошибки нет. Кто-нибудь знает, как диагностировать проблему?
6 ответов
Тип содержимого HTTP для.ogg должен быть application/ogg (video/ogg для.ogv), а для.mp4 это должен быть video/mp4. Вы можете проверить, используя веб-сниффер.
Добавьте эти строки в ваш файл.htaccess, и он будет работать для всех браузеров. Работает для меня.
AddType video/ogg .ogv
AddType video/mp4 .mp4
AddType video/webm .webm
Если у вас нет файла.htaccess на вашем сайте, то создайте новый:), это очевидно, я думаю.
Кстати, файлы.ogv - это видео, поэтому файлы "video / ogg",.ogg - это аудио Vorbis, поэтому файлы "audio / ogg" и.oga - это обычные аудио Ogg, а также "audio / ogg". Проверено в Firefox и работает. "application / ogg" не рекомендуется для всех видов аудио или видео. См. http://www.rfc-editor.org/rfc/rfc5334.txt
Я вижу на странице документации пример, подобный этому:
<source src="foo.ogg" type="video/ogg; codecs="dirac, speex"">
Может быть, вы должны приложить codec
информация с "
юридические лица вместо фактических кавычек и тому type
атрибут с кавычками вместо апострофов.
Вы также можете попробовать удалить информацию кодека в целом.
Просто удалите внутренние кавычки - они запутывают Firefox. Вы можете просто использовать "video/ogg; codecs=theora,vorbis".
Кроме того, эта разметка работает в моем Minefiled 3.7a5pre, поэтому, если ваш файл ogv не воспроизводится, это может быть фиктивный файл. Как ты это создал? Возможно, вы захотите зарегистрировать ошибку в Firefox.
Просто нужно изменить одну букву:), переименуйте 640x360.ogv в 640x360.ogg, он будет работать для всех 3 браузеров.