yt-dlp + FFmpeg合并音视频

jmp310 发布于 2025-10-04 124 次阅读


最推荐的合并命令(无损且快速):

此命令将视频流和音频流直接“复制”到新的容器文件中,速度极快,且不进行重新编码,所以是无损的。

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.exeffmpeg.exe(以及同一文件夹下的 ffprobe.exeffplay.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

此作者没有提供个人介绍。
最后更新于 2025-10-04