javascript代码:
var width;
var height;
var video;
video = document.querySelectorAll('#outremote_video video')[0];
if (video != undefined && video != null && video != "" && video.videoWidth != 0 && video.videoHeight != 0) {
width = video.videoWidth;
height = video.videoHeight;
}
var img = new Image();
var canvas = document.getElementById('screenshotcanvas');
var context = canvas.getContext('2d');
if (width && height) {
canvas.width = width;
canvas.height = height;
console.error('height ' +canvas.height+ 'width '+canvas.width);
//take video view on canvas
context.drawImage(video, 0, 0, width, height);
var imageData = canvas.toDataURL('image/jpeg');
imageDataList.push(imageData);
}
然后,我将Blob imageData上传到服务器。野生动物园有什么问题?为什么它有时表现出意外而没有任何错误消息。可能存在任何缓存问题吗?
请原谅作为答复,但我目前无法发表评论。我想为您的问题添加一些东西,当我尝试在iOS Safari上捕获视频帧时注意到这一点。像您一样,无论视频在哪里播放,我的抓帧(使用drawImage)似乎都只能检索初始帧。我还注意到,根据所使用的摄像头(正面与背面)和方向(纵向与横向),drawImage()方法甚至根本不起作用。使用后置摄像头以人像模式拍摄视频时,获得一帧(任何一帧)我没有任何成功。其他组合产生第一帧或第二帧。 (iPhone 11 pro,13.3.1)
我热切地看着这个话题...