HTML5 – видеоролик mp4 не воспроизводится в IE9
У меня есть видео mp4, которое я хочу играть в IE9, используя HTML5
. Я добавил MIME-тип в IIS 7, поэтому, если я просматриваю
http://localhost/video.mp4
он воспроизводится как в Chrome, так и в IE9, но не в HTML5, однако Chrome воспроизводит видео в HTML. Вот код:
Есть идеи?
благодаря
- т. е. пограничный радиус
- Как я могу настроить SmartScreen Filter на самозаверяющий сертификат
- CSS3 transform: rotate; в IE9
- локальное хранилище в IE9 сбой при доступе к веб-сайту непосредственно из файловой системы
- Градиенты в Internet Explorer 9
ОБНОВИТЬ:
Пробовал тот же файл в Firefox 5.0, и он тоже не работал, только Chrome может воспроизводить видео mp4.
- Сенсорные жесты в IE не работают без запуска explorer.exe
- Загрузка нескольких файлов без использования Zip-файла
- Internet Explorer 9 Drag and Drop (DnD)
- Internet Explorer 9 не правильно отображает ячейки таблицы
- PowerShell IE9 ComObject имеет все свойства null после перехода на веб-страницу
- Как отключить защищенный режим в Internet Explorer 9?
- Градиентное отклонение IE9 и фоновое gradleиентное кровотечение
- Размер фона с SVG в IE9-10
для IE9 я обнаружил, что для установки режима требуется метатег
Закончилось использование http://videojs.com/ для поддержки всех браузеров.
Но чтобы получить видео, работающее в IE9 и Chrome, я просто добавил тип html5 doc и использовал mp4:
Если он все еще не работает, это может быть решением: закодируйте mp4 со сжатием формата H.264. Если вы кодируете его с помощью формата mpeg4 или divx, иначе он не будет работать в IE9 и может также привести к краху Google Chrome. Для этого я использую бесплатное программное обеспечение Any Video Converter. Но это можно сделать с помощью любого хорошего инструмента видео.
Я пробовал все решения, перечисленные здесь, и пробовал другие обходные пути в течение нескольких дней, но проблема заключалась в том, как я создал свой mp4. IE9 не декодирует другой формат, чем H.264.
Надеюсь, это поможет, Джимми
У Дэна есть один из лучших ответов, и я предлагаю вам использовать html5test.com в ваших целевых браузерах, чтобы увидеть поддерживаемые видеоформаты.
Как указано выше, ни один формат не работает, и я использую MP4, закодированный в H.264, WebM, и резервную копию Flash. Это давайте мне посмотреть видео на следующее:
Win 7 – IE9, Chrome, Firefox, Safari, Opera
Win XP – IE7, IE8, Chrome, Firefox, Safari, Opera
MacBook OS X – Chrome, Firefox, Safari, Opera
iPad 2, iPad 3
Linux – Android 2.3, Android 3
Примечание. Видео .mp4 должно быть закодировано в базовом профиле h264, чтобы оно воспроизводилось на всех мобильных устройствах.
Обновление: добавлено автовоспроизведение = “false” в резервную копию Flash. Это предотвратит запуск MP4 сразу после загрузки страницы в IE8, он начнет воспроизведение после нажатия кнопки воспроизведения.
Internet Explorer 9 поддерживает MPEG4 с использованием кодека H.264. Но также потребовалось, чтобы файл начал играть, как только он начнет загружаться.
Вот основные шаги по созданию файла MPEG, который работает в IE9 (с использованием avconv на Ubuntu). Я потратил много часов, чтобы понять это, поэтому я надеюсь, что он может помочь кому-то другому.
-
Преобразование видео в MPEG4 с использованием кодека H.264. Вам ничего не нужно, просто пусть avconv выполнит эту работу за вас:
avconv -i video.mp4 -vcodec libx264 pre_out.mp4
-
Это видео будет работать на всех браузерах, поддерживающих MPEG4, кроме IE9. Чтобы добавить поддержку IE9, вам необходимо переместить информацию о файле в заголовок файла, чтобы браузер мог начать играть с ним, как только он начнет его загружать. ЭТО КЛЮЧ ДЛЯ IE9 !!!
qt-faststart pre_out.mp4 out.mp4
qt-faststart
– утилиты Quicktime, которые также поддерживают формат файла H.264 / ACC. Это часть пакета libav-tools
.
Из того, что я слышал, поддержка видео в лучшем случае минимальна.
С http://diveintohtml5.ep.io/video.html#what-works :
На момент написания этой статьи это пейзаж видео в формате HTML5:
Mozilla Firefox (3.5 и более поздние версии) поддерживает видео Theora и аудио Vorbis в контейнере Ogg. Firefox 4 также поддерживает WebM.
Opera (10,5 и более поздние версии) поддерживает видео Theora и аудио Vorbis в контейнере Ogg. Opera 10.60 также поддерживает WebM.
Google Chrome (3.0 и более поздние версии) поддерживает видео Theora и аудио Vorbis в контейнере Ogg. Google Chrome 6.0 также поддерживает WebM.
Safari на компьютерах Mac и Windows (3.0 и более поздних) будет поддерживать все, что поддерживает QuickTime. Теоретически вы можете потребовать от своих пользователей установки сторонних плагинов QuickTime. На практике немногие пользователи собираются это сделать. Таким образом, вы остаетесь с форматами, которые QuickTime поддерживает «из коробки». Это длинный список, но он не включает WebM, Theora, Vorbis или контейнер Ogg. Однако QuickTime поставляется с поддержкой видео H.264 (основной профиль) и аудио AAC в контейнере MP4.
Мобильные телефоны, такие как iPhone от Apple и телефоны Google Android, поддерживают видео H.264 (базовый профиль) и аудио AAC (профиль «с низкой сложностью») в контейнере MP4.
Adobe Flash (9.0.60.184 и новее) поддерживает видео H.264 (все профили) и аудио AAC (все профили) в контейнере MP4.
Internet Explorer 9 поддерживает все профили видео H.264 и аудио AAC или MP3 в контейнере MP4. Он также будет воспроизводить видео WebM, если вы установите сторонний кодек, который по умолчанию не установлен на любую версию Windows. IE9 не поддерживает другие сторонние кодеки (в отличие от Safari, в котором будет играть все, что может играть QuickTime).
Internet Explorer 8 не поддерживает HTML5 видео, но практически все пользователи Internet Explorer будут иметь плагин Adobe Flash. Позже в этой главе я покажу вам, как вы можете использовать HTML5-видео, но изящно откинуться на Flash.
Кроме того, вы должны отметить этот раздел чуть ниже на той же странице:
Не существует единой комбинации контейнеров и кодеков, которые работают во всех браузерах HTML5.
Это вряд ли изменится в ближайшем будущем.
Чтобы сделать ваше видео доступным для просмотра на всех этих устройствах и платформах, вам понадобится кодировать видео более одного раза.
У меня есть базовый профиль .mp4, который воспроизводится на одном сервере и не работает на другом.
Единственное различие:
один дает заголовок "Content-Length: ..."
другой "Trasfer-Encoding: chunked".
Я узнал, что Content-Length не требуется, важно только, чтобы не было заголовка NO chunked. Это можно сделать, отключив сжатие (deflate или gzip) для файлов .mp4. Как это можно сделать, это еще одна проблема и другая тема: как отключить сжатие gzip Apache для некоторых медиафайлов в файле .htaccess?
Может возникнуть другая проблема с сервером:
он должен предоставить "Content-Type: video/mp4"
и NOT "Content-Type: text/plain"
используйте оба формата, он отлично работает во всех браузерах:
Если какой-либо из приведенных выше ответов не работает, и вы находитесь на сервере apache, добавив следующее в ваш файл .htaccess:
//most of the common formats, add any that apply AddType video/mp4 .mp4 AddType audio/mp4 .m4a AddType video/mp4 .m4v AddType video/ogg .ogv AddType video/ogg .ogg AddType video/webm .webm
У меня была аналогичная проблема, и это решило все мои проблемы с воспроизведением.
Internet Explorer и Edge не поддерживают некоторые форматы MP4, которые делает Chrome. Вы можете использовать ffprobe
для просмотра точного формата MP4. В моем случае у меня есть эти два видео:
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'a.mp4': Metadata: major_brand : isom minor_version : 512 compatible_brands: isomiso2avc1mp41 encoder : Lavf56.40.101 Duration: 00:00:12.10, start: 0.000000, bitrate: 287 kb/s Stream #0:0(und): Video: h264 (High 4:4:4 Predictive) (avc1 / 0x31637661), yuv444p, 1000x1000 [SAR 1:1 DAR 1:1], 281 kb/s, 60 fps, 60 tbr, 15360 tbn, 120 tbc (default) Metadata: handler_name : VideoHandler Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'b.mp4': Metadata: major_brand : isom minor_version : 512 compatible_brands: isomiso2avc1mp41 encoder : Lavf57.66.102 Duration: 00:00:33.83, start: 0.000000, bitrate: 505 kb/s Stream #0:0(und): Video: h264 (Constrained Baseline) (avc1 / 0x31637661), yuv420p, 1280x680, 504 kb/s, 30 fps, 30 tbr, 15360 tbn, 60 tbc (default) Metadata: handler_name : VideoHandler
Оба отлично работают в Chrome, но первый из них не работает в IE и Edge. Проблема в том, что IE и Edge не поддерживают yuv444 . Вы можете преобразовать его в shortier colourspace следующим образом:
ffmpeg -i input.mp4 -pix_fmt yuv420p output.mp4
Попробуйте следующее и посмотрите, работает ли оно:
Мне пришлось установить IIS Media Services 4.1 из галереи веб-приложений Windows.
Без JavaScript, единственный способ, которым я мог играть без ошибок: