HTML5 video и Video.js: нет воспроизведения в Firefox в зависимости от порядка источников

Я использую Video.js 4.9. У меня не было возможности проверить, существует ли описанная ниже проблема с чистым проигрывателем HTML5:

Мое видео воспроизводится нормально в последних версиях всех основных браузеров на Mac OS, в Safari на iOS 7 и в IE11 на Windows 7.

Но в Firefox 35 на Windows 7 все, что я получаю, это черный прямоугольник и это сообщение об ошибке:

Воспроизведение видео было прервано из-за проблемы с повреждением или из-за того, что использованное видео не поддерживало ваш браузер.

Видео воспроизводится в FF 35 на Win 7, когда я меняю порядок тегов источника и помещаю webm перед mp4. Но AFAIK, если не ставить тег mp4 первым, может вызвать проблемы в (более старых версиях?) Chrome и Safari.

Что мне с этим делать?

Это мой код Большая часть кода JavaScript делает веб-страницу отзывчивой.

<!-- header -->
<link href="../../video-js/video-js.css" rel="stylesheet">
<script src="../../video-js/video.dev.js"></script>

<!-- video tag in body -->
<video id="mobile_video" class="video-js vjs-default-skin" autoplay controls preload="none" data-setup="{}">
    <source src="tgm.mp4" type="video/mp4" />
    <source src="tgm.webm" type="video/webm" />
    <source src="tgm.ogv" type="video/ogg" />
</video>

<!-- JS code directly below -->
<script type="text/javascript">
  videojs.autoSetup();

    videojs('mobile_video').ready(function(){
      //log all of the default videojs options
      console.log(this.options()); 

       // Store the video object
      var myPlayer = this, id = myPlayer.id();
      // Make up an aspect ratio
      var aspectRatio = 450/800; 

      function resizeVideoJS(){
        var width = document.getElementById(id).parentElement.offsetWidth;
        myPlayer.width(width).height( width * aspectRatio );

      }

      // Initialize resizeVideoJS()
      resizeVideoJS();
      // Then on resize call resizeVideoJS()
      window.onresize = resizeVideoJS; 
    });
  </script>

РЕДАКТИРОВАТЬ

Есть связанный вопрос. Кто-то решил очень похожую проблему, включив атрибут data-setup='{}'. Это всегда было в моем коде.

1 ответ

Недавно я решил проблему с отсутствием воспроизведения mp4 в Chrome или Firefox (хорошо воспроизводится в IE) на странице с 16 видео в модальных режимах (начальная загрузка 3) после обнаружения частоты кадров всех видео должны быть одинаковыми. У меня было 6 видео со скоростью 25 кадров в секунду и 12 со скоростью 29,97 кадров в секунду... после рендеринга всех версий до 25 кадров в секунду все прошло гладко во всех браузерах. Больше не нужно многоформатное видео.

Другие вопросы по тегам