JavaScript: 可靠地提取视频帧

8 浏览
0 Comments

JavaScript: 可靠地提取视频帧

我正在进行一个客户端项目,允许用户提供一个视频文件并对其进行基本操作。我正在尝试可靠地从视频中提取帧。目前,我有一个元素,我将所选的视频加载到其中,然后按如下步骤提取每一帧:

  1. 将视频定位到开头
  2. 暂停视频
  3. 绘制到
  4. 使用.toDataUrl()从画布中捕获帧
  5. 向前移动1/30秒(1帧)
  6. 重复以上步骤

这是一个相当低效的过程,而且更具体地说,它很不可靠,因为我经常会得到卡住的帧。这似乎是因为在绘制到画布之前它没有更新实际的元素。

我不想只是为了分割帧而将原始视频上传到服务器,然后再从服务器下载到客户端。

非常感谢任何关于更好方法的建议。唯一的限制是我需要它能够与浏览器支持的任何格式一起使用(在JS中解码不是一个好选择)。

0