Как обслуживать правильный формат для динамического видео html5? - PullRequest
3 голосов
/ 28 ноября 2011

Я пытаюсь найти способ предоставить правильный видеоформат (у меня есть мои видео, закодированные в h264 и webm), когда видео динамически загружаются на холст, используя следующую функцию:

function loadVideo(video_path){
    var ctx = document.getElementById('c').getContext('2d');    
    var vid = document.getElementById('v');

    vid.src = video_path;
    vid.load();

    // play the video once it has loaded
    vid.addEventListener('canplay', function(e){
        vid.style.display = "block";
        vid.play();
    }, false);

    // hide the video container once the video has finished playing
    vid.addEventListener('ended', function(e){
        vid.style.display = "none";
    }, false);
}

Вот простой HTML-код внутри тега body:

<video id="v" type="video/webm" width="960" height="500"></video>
<canvas id="c"></canvas>

Я мог бы пойти по маршруту прослушивания пользовательского агента, чтобы получить правильную строку video_path, но есть ли более элегантный способ?

1 Ответ

4 голосов
/ 28 ноября 2011

Modernizr - хороший способ обнаружить функции браузера. В нем также указано, в каком формате должно быть видео: http://www.modernizr.com/docs/

Если обнаружена поддержка видео, Modernizr оценивает, какие форматы будет воспроизводить текущий браузер. В настоящее время Modernizr тестирует ogg, webm и h264.

...