5

我正在使用fluent-ffmpeg节点包来合并视频。我完全按照文档进行操作,但出现以下错误:Error: ffmpeg exited with code 1: Error configuring complex filters. 这是代码:

ffmpeg('/videos/test/part1.mov')
  .input('/videos/test/part2.mov')
  .on('error', function(err) {
    console.log('An error occurred: ' + err.message);
  })
  .on('end', function() {
    console.log('Merging finished !');
  })
  .mergeToFile('videos/test/final.mp4', 'videos/test/tempDir');

这是错误输出(我将 fluent-ffmpeg 生成的命令记录到控制台):

C:\Program Files\ffmpeg\bin\ffmpeg.exe [ '-formats' ] { captureStdout: true }
C:\Program Files\ffmpeg\bin\ffmpeg.exe [ '-encoders' ] { captureStdout: true }
C:\Program Files\ffmpeg\bin\ffmpeg.exe [ '-i',
  '/videos/test/part1.mov',
  '-i','/videos/test/part2.mov',
  '-y',
  '-filter_complex',
  'concat=n=2:v=1:a=1',
  'videos/test/final.mp4' ] { niceness: 0 }
An error occurred: Error: ffmpeg exited with code 1: Error configuring complex filters.
Invalid argument

at ChildProcess.<anonymous> (C:\test\node_modules\fluent-ffmpeg\lib\processor.js:169:22)
at ChildProcess.emit (events.js:98:17)
at Process.ChildProcess._handle.onexit (child_process.js:809:12)

我可以在我的机器上运行 ffmpeg 来完成其他任务,而且效果很好。我不确定“-filter_complex”标志应该做什么。我正在使用 fluent-ffmpeg 2.0.1 版和 ffmpeg windows static build git-9d1fb9e (2015-12-17)。

4

1 回答 1

4

发生错误是因为两个视频的帧大小不同。手动运行 ffmpeg 提供了更详细的输出:

[Parsed_concat_0 @ 04fd2b40] Input link in1:v0 parameters (size 1920x1080, SAR 1:1) do not match the corresponding output link in0:v0 parameters (1280x720, SAR 1:1)
[Parsed_concat_0 @ 04fd2b40] Failed to configure output pad on Parsed_concat_0
Error configuring complex filters.
Invalid argument

文档中也提到了这一点:https ://trac.ffmpeg.org/wiki/Concatenate#filter

于 2015-12-21T00:10:37.207 回答