最推荐的合并命令(无损且快速):
此命令将视频流和音频流直接“复制”到新的容器文件中,速度极快,且不进行重新编码,所以是无损的。
ffmpeg -i input_video.mp4 -i input_audio.mp3 -c:v copy -c:a copy -map 0:v:0 -map 1:a:0 output_merged.mp4
命令详解:
| 参数 | 含义 | 解释 |
-i input_video.mp4 | 输入视频 | 指定您的视频文件。 |
-i input_audio.mp3 | 输入音频 | 指定您的音频文件(外部下载的)。 |
-c:v copy | 视频编码器 | 将视频流直接复制,不重新编码(保持原有画质,速度快)。 |
-c:a copy | 音频编码器 | 将音频流直接复制,不重新编码(保持原有音质,速度快)。 |
-map 0:v:0 | 映射流 | 选取第一个输入文件(索引 0,即视频)中的第一个视频流 (v:0)。 |
-map 1:a:0 | 映射流 | 选取第二个输入文件(索引 1,即音频)中的第一个音频流 (a:0)。 |
output_merged.mp4 | 输出文件 | 定义合并后的新文件名和格式。 |
特殊情况:需要音频同步调整
如果您的外部音频和视频不是完全同步的,您可能需要给音频流添加一个延迟。
ffmpeg -i input_video.mp4 -i input_audio.mp3 -c:v copy -c:a aac -map 0:v:0 -map 1:a:0 -itsoffset 0.5 -i input_audio.mp3 output_synced.mp4
itsoffset 0.5: 在处理第二个输入文件(音频)时,添加 0.5 秒 (500 毫秒) 的延迟。
注意: 在同步调整时,有时候不能简单地 copy 音频,可能需要重新编码,所以我在示例中使用了 -c:a aac(常用的音频编码)。
将 yt-dlp.exe 和 ffmpeg.exe(以及同一文件夹下的 ffprobe.exe 和 ffplay.exe,如果有的话)下载到电脑上的某个文件夹里。
将您的视频文件、音频文件和您下载的 ffmpeg.exe 文件放在同一个文件夹里。
在那个文件夹里,按住 Shift 键并点击鼠标右键,然后选择“在此处打开 PowerShell 窗口”或“在此处打开终端”。
执行ffmpeg -i my_video.mp4 -i my_audio.mp3 -c:v copy -c:a aac -map 0:v:0 -map 1:a:0 -itsoffset -0.5 -i my_audio.mp3 final_output_synced.mp4
Comments NOTHING