微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

当样式为 object-fit 时,从 VIDEO 元素获取画布:cover

如何解决当样式为 object-fit 时,从 VIDEO 元素获取画布:cover

我从网络摄像头获取实时视频,为了适应具有我想要的宽度/高度的 div,我发现的最佳解决方案是像这样使用 object-fit: cover

<video id="videoId" style='object-fit: cover;' autoplay="true" playsInline></video>
<img id="myImage" src="">    

当我尝试获取该视频的确切位图内容时出现问题,使用

var video     = document.getElementById('videoId');
var canvas    = document.createElement("canvas");
canvas.width  = video.width;
canvas.height = video.height;

canvas.getContext('2d').drawImage(video,video.width,video.height);
document.getElementById('myImage').src = canvas.toDataURL();

我没有得到视频内容,而是“真实的”视频流,这是不同的,因为我使用的是 object-fit: cover 样式。
有没有办法抓取屏幕截图,可以说那个视频?理论上,我可以使用宽度/高度偏移,因为“理论上”我知道视频的原始分辨率,但是当我尝试时,它变得凌乱。 DPI、像素、缩放...

谢谢

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。