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

Is it possible to force a browser to do htm5 video decoding by software only? That is, disable hardware acceleration

本文关键字:视频解码 htm5 也就是说 硬件加速 软件 浏览器 是否      更新时间:2023-09-26

我构建了一个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

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

也许在 github 上试试这个库:
视频帧

这是实现它的小提琴

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