我想在视频中添加约 5 秒钟的图像介绍,但时间可能会有所不同。我在 intro.mkv 中使用以下命令创建了 5 秒钟的图像介绍:
ffmpeg -loop 1 -f image2 -i png.png -c:v libx264 -t 5 out.mp4
问题是 cmd 不知道以下命令,而这正是我需要的。此命令是从 FFmpeg 的常见问题解答中复制粘贴的。
ffmpeg -i opening.mkv -i episode.mkv -i ending.mkv -filter_complex \ "[0:0] [0:1] [0:2] [1:0] [1:1] [1:2] [2:0] [2:1] [2:2] concat=n=3:v=1:a=2 [v] [a1] [a2]" \ -map '[v]' -map '[a1]' -map '[a2]' output.mkv
错误是:(2> output.txt 由于某种原因无法工作)
答案1
这会将您的 png 介绍图像叠加在 25 帧/秒的视频上 5 秒,然后 1 秒淡入您的视频:
ffmpeg -itsoffset 5 -i in.mp4 -r 25 -loop 1 -i intro.png -filter_complex "[1:v] fade=out:125:25:alpha=1 [intro]; [0:v][intro] overlay [v]" -map "[v]" -map 0:a -acodec copy out.mp4
如果您的视频不是 25 fps,请更改值-r
和后面的数字fade
(例如,如果您的视频是 30 fps,则乘以 30/25)。要更改简介的持续时间,请更改-itsoffset
和后面的第一个数字fade
。如果您希望它从视频开头显示带有音频的图像(代替视频的前几秒),那么您可以减少或消除-itsoffset
,这是将视频向前移动以腾出空间用于简介的时间量。
当然,您可以使用任何受支持的视频格式作为输入和输出文件,并且可以在输出文件名前添加您想要使用的任何其他视频编码参数。如果您需要重新编码音频,请-acodec copy
根据需要进行更改,例如更改为-acodec libfdk_aac -vbr 3
。
答案2
首先根据图像创建视频文件;您希望每幅图像 5 秒?这意味着每秒 0.2 幅图像:
ffmpeg -i intro.png -r 0.2 intro.mkv
然后您可以使用它与您的主影片混合在一起ffmpeg
(或者mkvmerge
如果它们都是 Matroska)。