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

Почему некоторые файлы MP4 не воспроизводятся через HTML5?

Странно, некоторые файлы MP4 будут воспроизводиться в HTML5, а другие - нет. Вот тестовая страница http://psdtucss.com/test/test2.html, откройте ее в Chrome 19.0.1084.46 m. Первый MP4 играет, а другой - нет. Какая причина. Код очень прост:

<h3>the first mp4 file can play</h3> 
<p><video width="640" height="264" controls="controls"><source src="1.mp4" type="video/mp4" />Your browser does not support the video tag.</video></p> 
<h3>but the other can't play</h3> 
<p><video width="640" height="264" controls="controls"><source src="2.mp4" type="video/mp4" />Your browser does not support the video tag.</video></p>

Как я могу это исправить?

Я попробовал видео, но все же некоторые файлы MP4 не будут воспроизводиться. Страница тестирования здесь: http://psdtucss.com/test/test.html

4b9b3361

Ответ 1

mp4 - это только формат контейнера. Он может содержать видео и аудио в нескольких кодеках. Игрокам (в том числе в браузере) необходимо поддерживать формат контейнера и все используемые кодеки, чтобы правильно воспроизводить видео.

Использование VideoJS - определенно хорошая идея, оно обрабатывает множество обходных решений для браузера для вас.


Однако это не решает одну проблему: во всех браузерах не поддерживается один видеокодек. (См. Также Википедия: видео HTML5: Browser_support)

Практическое решение, вероятно, состоит в том, чтобы предоставить две версии: h264 в контейнере mp4 и обычно называется webm (видео VP8 и аудио vorbis в конкретном контейнере Matroska). С этими двумя вы охватываете все основные браузеры.


Для преобразования/перекодировки видео доступны некоторые инструменты и службы. Я понятия не имею о вашей операционной системе или требованиях. Так что, как дикое предположение:

Что-то, что я использовал, чтобы помочь другу опубликовать несколько видеороликов в его маленьком блоге, эта оболочка script с помощью ffmpeg для преобразования. Он по-прежнему оставляет много возможностей для улучшения (во всех качествах видео, производительности и кодировании), но должен быть достаточно хорош для начала работы.

Ответ 2

В первом видео используется кодировка h264, которая поддерживается всем, кроме Firefox и Opera. Во втором видео используется видеокодек MPEG-4, который не поддерживается браузерами. Единственными широко поддерживаемыми видеокодеками являются Theora, H.264 и VP8.

MPEG-4 Part 2 видеокодек отличается от MPEG- 4 Part 14 формат контейнера

Ответ 3

Ваше видео 1.mp4 закодировано с использованием h.264, но видео 2.mp4 - нет. получите MediaInfo, чтобы проверить его.

Ответ 4

MP4 поддерживает несколько кодеков. Некоторые игроки не поддерживают все кодеки (некоторые коды требуют лицензирования или некоторые кодеки были выпущены после того, как был написан браузер).