如何为html5动态视频提供正确的格式?
问题描述:
我试图找到一种方法来满足正确的视频格式(我在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
字符串,但有一个更优雅的方式?
答
Modernizr是检测浏览器功能的好方法。它还会告诉您视频应采用何种格式:http://www.modernizr.com/docs/
如果检测到视频支持,Modernizr会评估当前浏览器将播放的格式。目前,Modernizr测试ogg,webm和h264。
+0
我完全忘了Modernizr - 感谢提醒我。这正是我需要的! – boz
不完全相关,但可能有用:Zencoder有一个很好的常见问题解答(https://app.zencoder.com/docs/faq/codecs-and-formats)。 –