Video iOS Safari浏览器仅从画布上的视频捕获初始帧,并复制所有捕获的图像 我们正在使用Twilio视频JavaScript SDK,并在网络浏览器(iphone ios=safari,android=chrome)中进行视频通话 在视频通话过程中,用户可以捕获图像 Capture Image实际上使用javascript drawImage函数从具有实时视频通话媒体的画布中绘制图像 视频在Safari中可以正常播放,但在捕获图像功能中,它并非每次都像预期的那样运行 有时并非总是如此,safari会在所有捕获的图像中复制这样的帧。例如,如果视频打开10分钟,用户捕获图像10次,则从第5秒到第8分钟,所有10个图像 将是第五秒的场景 此重复图像问题并非每次都出现。有时当问题发生时,如果我们引导用户重置他们的浏览器设置,那么下次它工作正常,所有图像都会显示出来 和预期的不同场景 问题出现在iOS 11.2、12.3和13.1中

Video iOS Safari浏览器仅从画布上的视频捕获初始帧,并复制所有捕获的图像 我们正在使用Twilio视频JavaScript SDK,并在网络浏览器(iphone ios=safari,android=chrome)中进行视频通话 在视频通话过程中,用户可以捕获图像 Capture Image实际上使用javascript drawImage函数从具有实时视频通话媒体的画布中绘制图像 视频在Safari中可以正常播放,但在捕获图像功能中,它并非每次都像预期的那样运行 有时并非总是如此,safari会在所有捕获的图像中复制这样的帧。例如,如果视频打开10分钟,用户捕获图像10次,则从第5秒到第8分钟,所有10个图像 将是第五秒的场景 此重复图像问题并非每次都出现。有时当问题发生时,如果我们引导用户重置他们的浏览器设置,那么下次它工作正常,所有图像都会显示出来 和预期的不同场景 问题出现在iOS 11.2、12.3和13.1中,video,mobile-safari,getusermedia,drawimage,Video,Mobile Safari,Getusermedia,Drawimage,javascript代码: var width; var height; var video; video = document.querySelectorAll('#outremote_video video')[0]; if (video != undefined && video != null && video != "" && video.videoWid

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上传到服务器。safari怎么了?为什么它在没有任何错误消息的情况下表现出意外。是否存在缓存问题

请回答您的问题以解释如何调用示例中显示的代码。另外,您提到上载blob,但您的代码使用
toDataURL()
而不是
toBlob()
。请解释一下你的数据处理。您的代码看起来是正确的。(而且,Safari的WebRTC实现目前是业余的。)请回答您的问题,解释如何调用示例中显示的代码。另外,您提到上载blob,但您的代码使用
toDataURL()
而不是
toBlob()
。请解释一下你的数据处理。您的代码看起来是正确的。(而且,Safari的WebRTC实现目前是业余的。)