如何通过Node JS在ffmpeg中获取特定的开始和结束时间?

我想在特定的开始和结束时间剪切video并保存。 我不能理解如何减less节点JS的video的具体时间。

video复制代码:

return new Promise(function(resolve ,reject){ var ffmpeg = require('fluent-ffmpeg'); ffmpeg(fs.createReadStream(path.join(__dirname,'..','..','/video.mp4'))) .seekInput('01:00') .duration('02:00') .outputOptions('-strict experimental') .on('start', function(commandLine) { console.log('Spawned Ffmpeg with command: ' + commandLine); }).on('end', function(err) { if (!err) { console.log('conversion Done'); //res.send("conversion Done"); resolve(); } }).on('error', function(err) { console.log('error: ', +err); reject(err); }).save(path.join(__dirname,'..','..','/test.mp4')); }); 

请检查以下步骤和示例代码,

  1. 安装系统步骤中安装的ffmpeg
  2. 在你的项目中安装模块fluent-ffmpeg
  3. 请检查下面的示例代码

      function clipVideo() { var params = { input: 'input_file', start: 0, duration: 10, output: 'output_file' }; return new Promise(function(resolve, reject) { ffmpeg(params.input) .setStartTime(params.start) .setDuration(params.duration) .save(params.output) .on('start', function(commandLine) { console.log('start : ' + commandLine); }) .on('progress', function(progress) { console.log('In Progress !!' + Date()); }) .on('end', function() { console.log("downlaod resolved"); return resolve(params.clippedFile); }) .on('error', function(err) { console.log("reject"); return reject(err); }) }); } 

希望对你有帮助 !!