javascript - 如何使用 Emotion SDK for Javascript 批量处理视频文件

标签 javascript html5-video affdex-sdk

我正在使用 Affectiva 的 Emotion SDK for Javascript 来播放和分析视频文件。目前,我正在以流的形式播放视频,并按照 "Analyze a video frame stream" 捕获情感特征。教程。但是,我想批量处理视频文件,而不是分析视频的整个持续时间。

提高视频的播放速率有助于加快这一过程。我还尝试通过在视频中向前查找来跳过帧,但性能令人失望。有谁知道一种处理视频文件的方法,不受视频播放速率的瓶颈?

最佳答案

我能够通过使用较低 fps 的搜索来解决这个问题(尽管可能不是很有效)。本质上,在检测器的“onImageResultsSuccess”函数中,我调用函数 nextFrame,该函数在视频中向前跳过我用变量 fps 设置的量。它调用视频元素上的“seeked”事件,然后调用 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://jsfiddle.net/kkawabat/zvt9rbve/

关于javascript - 如何使用 Emotion SDK for Javascript 批量处理视频文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46879296/

相关文章:

java - 新的affectiva SDK ver 3.1.2使用难度

javascript - C# 中是否有与 JavaScript 的decodeURIComponent() 等效的函数?

javascript - 在 HTML5 视频中切换隐藏式字幕并禁用默认视频控件

html - 检测纵横比 - HTML5 视频

html - Chrome Html5 视频无法显示白色,有灰色背景

ios - 如何在 Swift 中使用 Affdex SDK?

c++ - Affdex-SDK 帧检测器的像素顺序?

javascript - 如何从 Javascript 检索 Azure Active Directory 登录的用户信息?

javascript - 使用javascript提取和粘贴字符串的一部分

javascript - 从 javascript 访问 C#(代码隐藏)中的变量