1

mergeToFile()对库的功能有疑问fluent-ffmpeg。如果您mergeToFile多次使用该功能,则在合并的视频中,帧会丢失。有时视频会中断几秒钟。

fluent_ffmpeg()
  .addInput('video1.webm')
  .addInput('video2.webm')
  .on('end', function() {
    console.log('Success!');
  })
  .on('error', function(err) {
    console.error('Error: ' + err.message);
  })
  .mergeToFile('result.webm');

我尝试了其他其他选项,但它们没有帮助。

4

1 回答 1

0

我找到了一个决定,也许它会有用。函数 mergeToFile() 仅在第一次正常工作。但是,如果您将合并结果写入文件并删除函数 .mergeToFile() 的参数中指定的文件,它将起作用。

fluent_ffmpeg()
  .addInput('video1.webm')
  .addInput('video2.webm')
  .on('end', function() {
    var writeStream = fs.createWriteStream('video1.webm', {encoding: 'binary'});
    writeStream.on('close', function() {
      fs.unlinkSync('result.webm');
    });
    fs.createReadStream('result.webm').pipe(writeStream);
  })
  .mergeToFile('result.webm');

于 2018-07-20T15:15:36.143 回答