在 fluent-ffmpeg 中,如何包含多个视频过滤器?

In fluent-ffmpeg, how do you include multiple video filters?

下面的代码添加了水印但忽略了缩放。 如何在 fluent-ffmpeg 中包含多个视频过滤器?

ffmpeg(inputFileName)
  .inputOptions(['-safe 0', '-f concat'])
  .outputOptions([
    '-filter:v scale=w=1280:h=720',
    "-filter:v drawtext=text='watermarkText':x=W-150:y=H-th-10:fontsize=32:fontcolor=white",
    '-crf 10'
  ])
  .save('output.mp4'); 

我也在 .outputOptions([]) 中尝试了这些格式,但无济于事:
'-filter:v <param1>, <param2>'
'-filter:v <param1>; <param2>'
'-filter:v', '<param1>', '<param2>'

我想你可以用逗号分隔两个过滤器:

ffmpeg(inputFileName)
  .inputOptions(['-safe 0', '-f concat'])
  .outputOptions(["-filter:v scale=w=1280:h=720,drawtext=text='watermarkText':x=W-150:y=H-th-10:fontsize=32:fontcolor=white",
    '-crf 10'
  ])
  .save('output.mp4'); 

我无法使用 fluent-ffmpeg 对其进行测试,但这是 ffmpeg 命令行语法。

使用命令行测试:

  • 生成合成输入视频文件:

    ffmpeg -y -f lavfi -i testsrc=duration=10:size=192x108:rate=1 -c:v rawvideo -pix_fmt bgr24 input.avi
    
  • 缩放到 1280x720 并绘制文本(使用大号绿色文本):

    ffmpeg -y -i input.avi -filter:v scale=w=1280:h=720,drawtext=text='watermarkText':x=W/2:y=H-th-10:fontsize=72:fontcolor=green -vcodec libx264 -crf 10 output.mp4
    

我不确定'-f concat'论点的正确性,你也错过了视频编解码器规范。