ffmpeg 组合 2 个过滤器(使用 lavfi、-vf 和 -complex_filter)

ffmpeg combine 2 filters (with lavfi, -vf and -complex_filter)

我有 2 个工作代码,但无法组合它们(它们都单独工作)。

ffmpeg -i video.mp4 -i audio.mp3 -shortest -t 8 -vf "lutrgb=r=1.5, crop:500:500" output.mp4

ffmpeg -i video.mp4 -f lavfi -i "color=Red:s=1280x720" 
-filter_complex "[0:v]setsar=sar=1/1[s];
[s][1:v]blend=shortest=1:all_mode=overlay:all_opacity=0.7[out]" 
-map [out] -map 0:a output.mp4

lutrgb 将被替换,但颜色覆盖,因此我们可以将其删除。 endresult 将采用视频、音频、颜色叠加,将其裁剪为 1:1 和视频的持续时间长度。

谢谢 菲利克斯

ffmpeg -i video.mp4 -i audio.mp3 -f lavfi -i "color=Red:s=500x500" \
-filter_complex "[0:v]lutrgb=r=1.5,crop=500:500,setsar=sar=1/1[crop];\
[crop][2:v]blend=shortest=1:all_mode=overlay:all_opacity=0.7[out]" \
-map [out] -map 1:a -shortest output.mp4

使用三个输入:

  • video.mp4 --> 0
  • audio.mp3 --> 1
  • lavfi --> 2

链接过滤器:

  • crop, setsar等第一个输入的视频流并命名为[crop]

    [0:v]lutrgb=r=1.5,crop=320:240,setsar=sar=1/1[crop]

  • 将第三个输入的视频流与裁剪混合为[out]

    [crop][2:v]blend=shortest=1:all_mode=overlay:all_opacity=0.7[out]

  • 最终映射输出,使用 out 作为视频流,mp3 轨道作为音频

    -map [out] -map 1:a