html5 Видео не воспроизводится на iPad - PullRequest
1 голос
/ 08 июля 2011

У меня есть видео тег, который отлично работает в Safari, Chrome, но не на iPad / iPhone. Что я делаю не так.

<a onclick="showVideoPlayer('http://www.mywebsite.com/videos/a video file.m4v')" id="video1" href="#">Play video</a>

код JS

function showVideoPlayer(videoSrc, showDownloadLink){
            alert(videoSrc);
            if(!videoSrc)
                return;

            $('div#overlay').show();
            var $videoPlaceHolder = $('div#video-placeholder');
            $videoPlaceHolder.show();

            var $video = $videoPlaceHolder.find('video');

            var winWidth = $(window).width() - 80;
            var winHeight = $(window).height() - 120;

            $video.attr('src', videoSrc);
            $video.attr('width', winWidth + 'px');
            $video.attr('height', winHeight + 'px');
            $videoPlaceHolder.append($video);
            if(showDownloadLink){
                $('#video-placeholder .down').show();
            }

        }

1 Ответ

0 голосов
/ 03 июня 2012

iOS славится чрезмерной суетой при воспроизведении видео. Вот несколько вещей для проверки:

  1. Видео, закодированное с использованием базового профиля H.264 (другие профили не гарантированно воспроизводятся под iOS)
  2. Видео файл обслуживается с соответствующим заголовком типа контента (binary/octet-stream не будет работать на iOS)
  3. Если вы в конечном итоге используете теги <source type="foo" src="bar" /> в своем <video />, убедитесь, что значение атрибута type точно соответствует заголовку content-type, предоставленному сервером - это чувствительно к регистру.
  4. Сервер, доставляющий видеофайл, должен поддерживать запросы диапазона байтов - в консоли разработчика iOS Safari должны отображаться жалобы в этом направлении, если это является проблемой.

Это наиболее распространенные ошибки, с которыми я сталкивался (я работаю на онлайн-видеоплатформе) - надеюсь, ваша проблема будет такой же простой, как выяснение того, какое требование вы пропускаете.

...