FFmpeg 音频 字幕 合成

若要保留原视频的音频,同时添加新的配音(即混合两个音频流),需要使用 FFmpeg 的 amix 滤镜来合并音频。以下是具体命令和说明:

实现命令(保留原音频 + 新增配音)

bash

ffmpeg -i "1.mp4" -i "2.wav" -vf "subtitles=2.srt" -filter_complex "[0:a][1:a]amix=inputs=2:duration=shortest:dropout_transition=0" -c:v libx264 -c:a aac -b:a 128k -y "2ok.mp4"

关键参数说明

-filter_complex "[0:a][1:a]amix=..."

[0:a]:表示第一个输入文件(1.mp4)的音频流

[1:a]:表示第二个输入文件(2.wav)的音频流

amix=inputs=2:指定混合 2 个音频流

duration=shortest:混合后的音频时长与最短的流(视频 / 音频)一致(避免一方结束后另一方继续播放)

dropout_transition=0:当某个音频流提前结束时,平滑过渡(避免突然静音)

-c:a aac -b:a 128k确保混合后的音频以 AAC 编码输出(兼容性好),并指定比特率(128k 为常用值,可调整)。

其他场景处理

若配音音量过大 / 过小:可在混合前单独调整音量,例如将配音音量降低 50%:

bash

ffmpeg -i "1.mp4" -i "2.wav" -vf "subtitles=2.srt" -filter_complex "[0:a][1:a]volume=0.5,amix=inputs=2:duration=shortest" -c:v libx264 -c:a aac -b:a 128k -y "2ok.mp4"

(volume=0.5 表示将第二个音频流音量调整为原音量的 50%)

若原视频音频需要静音(仅保留配音):用 volume=0 静音原音频:

bash

ffmpeg -i "1.mp4" -i "2.wav" -vf "subtitles=2.srt" -filter_complex "[0:a]volume=0[a0];[a0][1:a]amix=inputs=2:duration=shortest" -c:v libx264 -c:a aac -b:a 128k -y "2ok.mp4"

执行上述命令后,输出视频会同时包含原视频的音频和新增的配音,且字幕正常显示。

文件名精灵2025年最新版 机器翻译 AI智能
...
批量修改文件名称、文件夹名称

免费使用 功能无限制

全面接入机器自动翻译功能,主流AI大模型智能改名

方便快捷,支持正则表达式、无需安装功能齐全、支持定制无广告、无插件,放心使用。

免费下载
本站中所有的计算器的计算结果仅供参考,本站对此结果的准确性不承担任何责任,实际数额以银行/保险公司/国家相关机构确认的结果为准。
在线客服QQ:543690914,备案号: 苏ICP备15037649号-27。东海县白塔埠镇佳诚电脑经营部版权所有。