llo*_*gan 62
您可以__CODE__使用__CODE__过滤器执行此操作:
ffmpeg -i input0.mp3 -i input1.mp3 -filter_complex amix=inputs=2:duration=longest output.mp3
Run Code Online (Sandbox Code Playgroud)
有关更多示例,信息和选项,请参阅amerge过滤器在线文档和FFmpeg Wiki:音频通道操作.
__CODE__将产生立体声输出.如果您正在合并两个立体声输入,这将非常有用:amerge将进行4声道输出__CODE__并将其缩混为立体声.
请参阅Hydrogenaudio Wiki:推荐的LAME编码器设置,以了解__CODE__您可能需要的值(音频质量).
UI *_*per 19
看一下这个:
ffmpeg -y -i ad_sound/whistle.mp3 -i ad_sound/4s.wav -filter_complex "[0:0][1:0] amix=inputs=2:duration=longest" -c:a libmp3lame ad_sound/outputnow.mp3
Run Code Online (Sandbox Code Playgroud)
我认为这会有所帮助.
小智 15
要合并具有不同音量和不同持续时间的两个音频文件,以下命令将起作用:
ffmpeg -y -i audio1.mp3 -i audio2.mp3 -filter_complex "[0:0]volume=0.09[a];[1:0]volume=1.8[b];[a][b]amix=inputs=2:duration=longest" -c:a libmp3lame output.mp3
Run Code Online (Sandbox Code Playgroud)
这里的持续时间可以更改为最长或最短,您也可以根据需要更改音量级别。
如果您想为某些声音添加背景音乐,请使用以下命令,因为在间隙中音乐会自动变大:
ffmpeg -i bgmusic.mp3 -i audio.mp3 -filter_complex "[1:a]asplit=2[sc][mix];[0:a][sc]sidechaincompress=threshold=0.003:ratio=20[bg]; [bg][mix]amerge[final]" -map [final] final.mp3
Run Code Online (Sandbox Code Playgroud)
在这个阈值中,它的值将决定音频应该有多大,阈值越小,音频就越多。Ratio 给出了其他音频应该被压缩的程度,比例越大压缩越多。
Ehs*_*san 13
该amix滤波器有助于多个音频输入组合成一个单一的输出.
如果您运行以下命令:
ffmpeg -i INPUT1 -i INPUT2 -i INPUT3 -filter_complex amix=inputs=3:duration=first:dropout_transition=3 OUTPUT
Run Code Online (Sandbox Code Playgroud)
此命令将3个输入音频流(我使用两个mp3文件,在下面的示例中)混合为单个输出,其持续时间与第一个输入相同,并且丢失转换时间为3秒.
的amix过滤器接受下列参数:
输入:输入的数量.如果未指定,则默认为2.
duration:如何确定流末尾.
最长:输入时间最长的持续时间.(默认)
最短:输入最短的持续时间.
第一:第一次输入的持续时间.
dropout_transition:输入流结束时卷重新规范化的转换时间(以秒为单位).默认值为2秒.
例如,我在Ubuntu中运行以下命令:FFMPEG版本:3.2.1-1 UBUNTU 16.04.1
ffmpeg -i background.mp3 -i bSound.mp3 -filter_complex amix=inputs=2:duration=first:dropout_transition=0 -codec:a libmp3lame -q:a 0 OUTPUT.mp3
Run Code Online (Sandbox Code Playgroud)
-codec:a libmp3lame -q:a 0用于设置可变比特率.请记住,如果需要,您需要安装libmp3lame库.但是,即使没有这-codec:a libmp3lame -q:a 0部分,它也会起作用.
参考:https://ffmpeg.org/ffmpeg-filters.html#amix