2011-11-28 49 views
3

我試圖找到一種方法來滿足正確的視頻格式(我在H264和WebM編碼我的影片)在視頻播放時使用下面的函數動態加載到畫布上:如何爲html5動態視頻提供正確的格式?

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); 
} 

這裏在body標籤內的簡單的HTML:

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

我可以下井用戶代理嗅探路線給我正確的video_path字符串,但有一個更優雅的方式?

+0

不完全相關,但可能有用:Zencoder有一個很好的常見問題解答(https://app.zencoder.com/docs/faq/codecs-and-formats)。 –

回答

4

Modernizr是檢測瀏覽器功能的好方法。它還會告訴您視頻應採用何種格式:http://www.modernizr.com/docs/

如果檢測到視頻支持,Modernizr會評估當前瀏覽器將播放的格式。目前,Modernizr測試ogg,webm和h264。

+0

我完全忘了Modernizr - 感謝提醒我。這正是我需要的! – boz