小编Ste*_*bre的帖子

在JS中从视频中提取帧

我正在尝试构建一个从 JavaScript 视频中提取帧的函数。这是我想出的代码。该函数接收一个源和一个回调。从那里,我用源创建了一个视频,我想以设定的间隔在画布中绘制视频帧。

不幸的是,返回的帧都是透明图像。

我尝试了一些不同的东西,但我不能让它工作。有人可以帮忙吗?谢谢。

const extractFramesFromVideo = function(src, callback) {
  var video = document.createElement('video');
  video.src = src;

  video.addEventListener('loadeddata', function() {
    var canvas = document.createElement('canvas');
    var context = canvas.getContext('2d');
    canvas.setAttribute('width', video.videoWidth);
    canvas.setAttribute('height', video.videoHeight);

    var frames = [];
    var fps = 1; // Frames per seconds to
    var interval = 1 / fps; // Frame interval
    var maxDuration = 10; // 10 seconds max duration
    var currentTime = 0; // Start at 0

    while (currentTime < maxDuration) {
      video.currentTime = currentTime; …
Run Code Online (Sandbox Code Playgroud)

javascript video canvas frame

8
推荐指数
1
解决办法
5035
查看次数

标签 统计

canvas ×1

frame ×1

javascript ×1

video ×1