我正在使用Affectiva的情感SDK为Javascript播放和分析视频文件。目前,我正在播放的视频作为一个流和捕捉情感的特点,遵循他们的“分析视频帧流”教程。但是,我想要批量处理视频文件,而不是将视频的整个持续时间进行分析。
视频回放率的提高有助于加快这一进程。我也试图跳过帧,在视频中寻求领先,但表现令人失望。有没有人知道如何处理视频文件,而不是因为视频的回放率而受到阻碍?
发布于 2017-12-05 19:07:47
我能够通过使用更低的fps来解决这个问题(尽管可能不是很有效)。本质上,在检测器的"onImageResultsSuccess“函数中,我调用函数nextFrame,它以变量fps设置的数量在视频中跳过。它调用视频元素上的“查找”事件,然后调用触发检测器的captureImage函数,创建一个循环,直到对整个视频进行分析。下面是代码的一部分,以及jsfiddle实现。
var nextFrame = function() {
// when frame is captured, increase
vidTimeStamp = vidTimeStamp + (1 / fps);
// if we are not passed end, seek to next interval
if (vidTimeStamp <= video.duration) {
// this will trigger another seeked event
message_text.innerHTML = ((vidTimeStamp / video.duration) * 100).toFixed(2) + "% completed";
video.currentTime = vidTimeStamp;
} else {
// DONE!, next action
message_text.innerHTML = "100% Completed";
alert("Video Processed");
download_btn.click();
}
};
video.addEventListener("seeked", function(e) {
// now video has seeked and current frames will show
// at the time as we expect
captureImage(vidTimeStamp);
});
https://stackoverflow.com/questions/46879296
复制相似问题