我正在使用以下代码(如下所示)。该代码生成图像的 BASE64 编码数据,可帮助我在HTML5的 IMG标签 上显示此数据。
“ Webcam.on ”是一个EventListener,它将在视频直播时触发。
我使用“ 功能循环() ”,以便生成连续流的 BASE64 编码数据,以便将其发送到服务器。
我正面临一个问题,该循环持续消耗客户端RAM,并且JavaScript引擎端没有垃圾回收。
我想知道在不消耗大量RAM的情况下连续生成 BASE64 编码数据的其他方法。
var Draw_img = document.getElementById('IMG_TAG');
Webcam.set({
width: 320,
height: 240,
image_format: 'jpeg',
jpeg_quality: 90
});
Webcam.attach('#my_camera');
Webcam.on('live', function() {
(function loop() {
Webcam.snap(function(data_uri) {
Draw_img.src = data_uri;
document.getElementById('results').innerHTML =
'<img src="' + data_uri + '" />';
});
setTimeout(loop, 1000 / FPS);
})();
}