将两个-filter_complex命令组合在一起

时间:2017-07-09 12:38:28

标签: ffmpeg

下面,我将两个ffmpeg命令(1,2)合并为(3)。

  1. 1.mp31.3gp的声音添加到静音1.mp4
  2. 代码无误地运行:

    ffmpeg -i 1.mp3 -i 1.3gp -i 1.mp4 \
      -filter_complex "[1]adelay=640|640[s1];[0][s1]amix=2[mixout];" \
      -map 2:v -map [mixout] -c:v copy result.mp4 
    
    1. 1.mp4
    2. 的右上方添加水印

      代码无误地运行:

      ffmpeg -i 1.mp4 -i logo.png \
        -filter_complex "overlay=x=main_w-overlay_w:y=1" \
         result.mp4
      
      1. 将上述两个命令合并为一个
      2. 我的代码失败

        ffmpeg -i 1.mp3 -i 1.3gp -i 1.mp4 -i logo.png \
          -filter_complex "[1]adelay=640|640[s1];[0][s1]amix=2[mixout];[2:v][3]overlay=x=main_w-overlay_w:y=1[outv]" \
          -map [outv] -map [mixout] -c:v copy result.mp4
        

        我在这里做错了什么?

1 个答案:

答案 0 :(得分:1)

使用

ffmpeg -i 1.mp3 -i 1.3gp -i 1.mp4 -i logo.png \
  -filter_complex "[1]adelay=640|640[s1];[0][s1]amix=2[mixout];
                   [2:v][3]overlay=x=main_w-overlay_w:y=1[outv]" \
  -map [outv] -map [mixout] result.mp4

如果您要过滤视频流,例如添加叠加层,则无法复制该视频流。