我有很长的音频和视频文件,我想用一个 ffmpeg 命令合并音频和视频。音频应从其第 7 秒的位置开始,视频应从其第 15 秒的位置开始。合并后的视频长度应为 20 秒。如何操作?
我曾尝试这样做:
ffmpeg -ss 00:00:15.000 -t 20 -i 1.mp4 -ss 00:00:07.000 -t 20 -i journey.mp3 -c:a aac -b:a 192k -r 30 -c:v libx264 -profile:v high -level:v 4.0 -pix_fmt yuv420p 0-60.mp4
它可以工作,但没有在我的资源管理器窗口中生成缩略图。所以我认为组合视频坏了(Windows 系统中没有音频,但 Linux 中的音频听起来不错)。例如,此尝试生成缩略图,但我需要使用编解码器,如上例所示:
ffmpeg -ss 00:00:00.000 -t 10 -i 1.mp4 -ss 00:00:05.000 -t 10 -i journey.mp3 -c:a copy -c:v copy -r 30 -pix_fmt yuv420p 0-59.mp4
答案1
如果您想合并两个文件,您应该使用以下命令:
ffmpeg-win-x64.exe -ss 25 -i id2.mkv -ss 10 -i punky.mp3 -c copy -map 0:0 -map 1:0 -to 20 res.mkv
Bock1:-ss 25 -i id2.mkv
- 以影片剪辑起始位置为 25 秒。
Block2:-ss 10 -i punky.mp3
从 10 秒开始获取 mp3。
块 3:-c copy
在此处输入所需的编解码器。请注意,在某些情况下,解码/编码是实现正常同步所必需的。
块 4:-map 0:0 -map 1:0
- 我们将第一个文件的流 0(视频)和第二个文件(mp3)的流 0 映射到输出。
区块 5:-to 20 res.mkv
- 缩短 20 秒。“复制”时可能会因源文件的特性而有所不同。
如果您必须将一个流与另一个流对齐,则可以使用 -itsoffset
我之前提到的命令。它不会切断流,只是将其向后移动所需的时间。