我正在尝试通过ffmpeg
压缩视频并在视频上添加水印,每个命令都很好用
ffmpeg -i vid.mp4 -s 480x320 -acodec aac -strict -2 -ac 1 -ar 16000 -r 13 -ab 32000 -aspect 3:2 output.mp4
并且:
ffmpeg -i vid.mp4 -i logo.png -filter_complex "hflip[flipped];[flipped]overlay=x=20:y=20" -strict -2 out.mp4
但是我想同时执行这两个命令,我尝试过:
ffmpeg -i vid.mp4 -s 480x320 -acodec aac -strict -2 -ac 1 -ar 16000 -r 13 -ab 32000 -aspect 3:2 && -i logo.png -filter_complex "hflip[flipped];[flipped]overlay=x=20:y=20" -strict -2 output.mp4
我使用了&&
和|
或,
,但是这些都没有按预期工作,有什么解决办法吗?
顺序很重要,应该先压缩视频,然后加水 标记。
答案 0 :(得分:1)
&&
可用于将命令链接在一起以执行第二个命令(如果第一个成功)。您可以照原样使用这两个命令,并在它们之间放置&&
:
ffmpeg -i vid.mp4 \
-s 480x320 -acodec aac -strict -2 -ac 1 -ar 16000 -r 13 -ab 32000 -aspect 3:2 output.mp4 \
&& ffmpeg -i vid.mp4 -i logo.png -filter_complex "hflip[flipped];[flipped]overlay=x=20:y=20" \
-strict -2 out.mp4
但是ffmpeg应该支持通过一次调用完成这两个步骤(我没有对此进行测试):
ffmpeg -i vid.mp4 -i logo.png \
-filter_complex "hflip[flipped];[flipped]overlay=x=20:y=20" \
-s 480x320 -acodec aac -strict -2 -ac 1 -ar 16000 -r 13 -ab 32000 -aspect 3:2 \
-strict -2 out.mp4