画布在使用blob源(Javascript)从视频绘制时返回空白URI

画布在使用blob源(Javascript)从视频绘制时返回空白URI,javascript,canvas,blob,Javascript,Canvas,Blob,我正在开发一个从视频中获取缩略图的扩展,遇到了一个问题,当我使用带有blob:源代码的视频在画布上调用drawImage时,所绘制的图像是完全透明的。以下是内容脚本中使用的代码: video.addEventListener("seeked", () => { let canvas = document.createElement("canvas"); canvas.width = 160; canva

我正在开发一个从视频中获取缩略图的扩展,遇到了一个问题,当我使用带有
blob:
源代码的视频在画布上调用
drawImage
时,所绘制的图像是完全透明的。以下是内容脚本中使用的代码:

        video.addEventListener("seeked", () => {
            let canvas = document.createElement("canvas");
            canvas.width = 160;
            canvas.height = 90;
            canvas.getContext('2d').drawImage(video, 0, 0, canvas.width, canvas.height);
            console.log(canvas.toDataURL());
            chrome.storage.local.set({[imageKey]: canvas.toDataURL()},()=>console.log("saved"));
        });
        video.currentTime = 10;

视频元素已加载,此方法适用于没有源的元素,包括
blob
。对于如何获得真实图像的任何建议或提示,我们将不胜感激。

无法从正常环境中复制。。。我只能在实践中提出这个问题。当使用J-Fiddle时效果很好,但当使用Disney+或其他流媒体服务时,我只能得到空白图像。即使代码如此简单
constcanvas=document.createElement('canvas');const ctx=canvas.getContext('2d');让GetVideoImage=(video,imageKey)=>{video.addEventListener('canplay',()=>{ctx.drawImage(video,0,0);console.log(canvas.toDataURL();});}
ah。。。从迪斯尼+视频?他们可能有DRM,这确实会阻止你删除他们的内容。有没有绕过它们的部分方法?我理解DRM的必要性,但我仍然希望我能找到一种创造性的方法来刮指甲