如何通过Node JS在ffmpeg中以特定的开始和结束时间剪切视频?

How to cut a video in specific start & end time in ffmpeg by Node JS?

我想在特定的开始和结束时间剪切视频并保存。我可以复制完整的视频,但无法理解如何通过 Node JS 剪切该视频的特定时间。

视频复制代码:

  ffmpeg('public/'+req.body.video)
    .on('end', function(err) {   
        if(!err)
        {
          console.log('Done');

        }                 

    })
    .on('error', function(err){
        console.log('error: '+err);
        callback(err);
    }).run();

我找到了解决办法。在这里:

const ffmpegPath = require('@ffmpeg-installer/ffmpeg').path
const ffmpeg = require('fluent-ffmpeg')
ffmpeg.setFfmpegPath(ffmpegPath)

ffmpeg('video.mp4')
  .setStartTime('00:00:03')
  .setDuration('10')
  .output('video_out.mp4')
  .on('end', function(err) {
    if(!err) { console.log('conversion Done') }
  })
  .on('error', function(err){
    console.log('error: ', err)
  }).run()

更新:您应该安装:

npm install @ffmpeg-installer/ffmpeg

npm i fluent-ffmpeg