![如何在一个命令行中使用输出进行另一个操作?](https://linux22.com/image/1561473/%E5%A6%82%E4%BD%95%E5%9C%A8%E4%B8%80%E4%B8%AA%E5%91%BD%E4%BB%A4%E8%A1%8C%E4%B8%AD%E4%BD%BF%E7%94%A8%E8%BE%93%E5%87%BA%E8%BF%9B%E8%A1%8C%E5%8F%A6%E4%B8%80%E4%B8%AA%E6%93%8D%E4%BD%9C%EF%BC%9F.png)
例如我有这个命令:
ffmpeg -loop 1 -i image.jpg -i input.mp3 -ss 00:08:02.00 -t 137 -vf scale=nhd -r 1 -c:v libx264 -c:a aac -shortest output.mp4
假设要获取一个 mp3 文件和一张图片并将其合并为一个视频文件 mp4。现在我如何使用以下命令添加水印,例如:
ffmpeg -i input.mp4 -i watermark.jpg -filter_complex overlay=main_w-overlay_w-5:main_h-overlay_h-5 output.mp4
但是所有这些操作都在一个命令中完成,而不是重新编码两次或等待一个命令完成后再执行另一个命令。
谢谢!
答案1
使用
ffmpeg -loop 1 -i image.jpg -i watermark.jpg -ss 00:08:02.00 -t 137 -i input.mp3 -filter_complex [0]scale=nhd,setsar=1[v];[v][1]overlay=W-w-5:H-h-5 -r 1 -c:v libx264 -c:a aac -shortest -fflags +shortest output.mp4