Проблемы HTML5 видео (MP4 и OGV) в Safari и Firefox - но Chrome все хорошо
-
27-09-2019 - |
Вопрос
У меня есть следующий код:
<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 в разработке и мольгрелах + Apache в производстве).
- Chrome (Mac и Win) может воспроизводить либо файл (тестировать один, затем другой источник теги), есть ли локально или с моих производственных серверов.
- Safari (Mac и Win) может играть в файл MP4 File MAN, но нет от производства.
- Firefox 3.6 не будет играть в видео в любой ОС. Я просто получаю серый крест в середине области видеоплеер.
- Я убедился, что как Mongrel, так и Apache в каждом случае имеют правильные типы MIME.
- Из результатов Chrome я знаю, что нет ничего по своей природе не так с моими видеофайлами или тем, как файлы просят или доставлены.
Для Firefox я посмотрел на https://developer.mozilla.org/en/using_audio_and_video_in_firefox. Откуда он ссылается на событие «Ошибка» и атрибута «Ошибка». Кажется, что событие «Ошибка» брошено довольно хорошо сразу, и в то время нет атрибута ошибок. Кто-нибудь знает, как диагностировать проблему?
Решение
HTTP Content-Type для .OGG должен быть приложение / OGG (видео / OGG для .oGV) и для .mp4 он должен быть видео / MP4. Вы можете проверить, используя Web Sniffer.
Другие советы
Добавьте эти строки в вашем файле .htaccess, и он будет работать для всех браузеров. Работает на меня.
AddType video/ogg .ogv
AddType video/mp4 .mp4
AddType video/webm .webm
Если у вас Dun есть файл .htaccess на вашем сайте, то создайте новый :) его очевидным, я думаю.
Кстати, файлы .ogv - это видео, так что «видео / OGG», файлы .ogg являются Vorbis Audio, поэтому «Audio / Ogg» и файлы .oga являются General OGG AUDIO, поэтому также «аудио / OGG». Проверено в Firefox и работает. «Приложение / OGG» устарено для всех аудио или видео использования. Видеть http://www.rfc-editor.org/rfc/rfc5334.txt.
Я вижу в странице документации пример, как это:
<source src="foo.ogg" type="video/ogg; codecs="dirac, speex"">
Может быть, вы должны приложить codec
информация с "
объекты вместо фактических цитат и type
атрибут с цитатами вместо апострофов.
Вы также можете попробовать исключить информацию о кодеке в целом.
Просто удалите внутренние цитаты - они путают Firefox. Вы можете просто использовать «Видео / OGG; Codecs = Feora, Vorbis».
Кроме того, эта разметка работает в моей минефантированной 3.7A5PRE, поэтому, если ваш файл OGV не воспроизводится, это может быть поддельным файлом. Как ты это создал? Возможно, вы захотите зарегистрировать ошибку с Firefox.
Просто нужно изменить одну букву :), переименовать 640x360.ogv до 640x360.ogg, он будет работать на всех 3 сражающих.