如何在ffmpeg中一起使用-filter_complex和-vf?

问题描述

我想在一行中同时使用 -filter_complex-vf,但我不能这样做并出错。

一个代码

ffmpeg -i 1.mp4 -filter_complex "[0:v]setpts=0.87*PTS[v];[0:a]atempo=1.15[a]" -map "[v]" -map "[a]" e1.mp4

第二个代码

ffmpeg -i 1.mp4 -vf "scale=1280:720:force_original_aspect_ratio=decrease,pad=1280:720:-1:-1:color=black" e1.mp4

所以我将上面的两个代码组合在一起。组合代码

ffmpeg -i 1.mp4 -filter_complex "[0:v]setpts=0.87*PTS[v];[0:a]atempo=1.15[a]" -map "[v]" -map "[a]" -vf "scale=1280:720:force_original_aspect_ratio=decrease,pad=1280:720:-1:-1:color=black" e1.mp4

我无法运行代码,出现错误

-vf/-af/-filter and -filter_complex cannot be used together for the same stream.

解决方法

只需使用-filter_complex

ffmpeg -i input.mp4 -filter_complex "[0:v]scale=1280:720:force_original_aspect_ratio=decrease,pad=1280:720:-1:-1:color=black,setpts=0.87*PTS;[0:a]atempo=1.15" output.mp4

请参阅 FFmpeg Filtering Introduction 和链接中的其他文档。