如何使用 ffmpeg 从不同的偏移量将音频和视频合并为一个文件?

如何使用 ffmpeg 从不同的偏移量将音频和视频合并为一个文件?

我有很长的音频和视频文件,我想用一个 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我之前提到的命令。它不会切断流,只是将其向后移动所需的时间。

相关内容