得到这篇文章的帮助后 如何在一个命令行中使用输出进行另一个操作?
我现在面临另一个问题,这个问题我以前遇到过几次,但不知道如何解决这个问题。现在我正在使用这个命令行将图像和 mp3 文件合并为一个新的视频文件并附加水印:
ffmpeg -loop 1 -i image.jpg -i watermark.png -ss 00:08:02.00 -t 137 -i input.mp3 -filter_complex scale=nhd,overlay=W-w-5:H-h-5 -c:v libx264 -c:a aac -shortest -fflags -shortest output.mp4
因为这个视频文件只是一张图片,所以我想使用 -r 1 来改变帧速率,这样编码就会更快。然而,结果是我有更长的时间段,其中有 1 分钟的静默,有些播放器甚至没有读取这个文件。
有人知道该如何解决这个问题吗?
答案1
使用更高的值-r 5
,或者如果您知道输出持续时间(在本例中为 137 秒),则添加-t 137
作为输出选项,删除最短的标志。
ffmpeg -loop 1 -i image.jpg -i watermark.png -ss 00:08:02.00 -t 137 -i input.mp3 -filter_complex scale=nhd,overlay=W-w-5:H-h-5 -r 1 -c:v libx264 -c:a aac -t 137 output.mp4