是否可以强制浏览器仅通过软件进行htm5视频解码?也就是说,禁用硬件加速

时间:2016-01-28 17:17:26

标签: javascript html5 macos video hardware-acceleration

我构建了一个html5视频播放器,但是我发现了一些不准确的搜索时间问题,特别是在OS X&当帧解码启用硬件加速时。亲自尝试 - 转到带有视频的任何页面(例如:http://www.w3schools.com/html/html5_video.asp)并在控制台中运行 -

var vid = document.getElementsByTagName('video')[0];
var vidPlay = setInterval(function(){ vid.currentTime+=(1/30) }, 250);

您会看到视频伪播放,但如果您看到您偶尔会看到错误的帧。使用不同的帧速率并没有帮助(这是1/30部分)。以下是我所看到的视频:https://www.youtube.com/watch?v=I561KHt2af4

除了要求用户在浏览器中禁用硬件加速之外,还有办法解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

也许在github上试试这个库:
VideoFrame

Here is a fiddle已实施

// Just posting this here so I can add a fiddle link.
// Check the link
var currentFrame = $('#currentFrame');
var video = VideoFrame({
    id : 'video',
    frameRate: 29.97,
    callback : function(frame) {
        currentFrame.html(frame);
    }
});

$('#play-pause').click(function(){
    if(video.video.paused){
        video.video.play();
        video.listen('frame');
        $(this).html('Pause');
    }else{
        video.video.pause();
        video.stopListen();
        $(this).html('Play');
    }
});