day09-----3-----音频过滤器实战(ffmpeg进行混音,将两路音频pcm数据合成一路输出)

一 音频混音的流程

实际上对于音频过滤的流程,和上一节9-2的视频过滤器流程几乎是一样的,只不过音频调用的一两个函数有点区别,并且音频在输出的时候多了一个output,即output + sink,其中output是多出来的。

// 1 添加输入流

// 2 添加输出流(前两步实际就是9-2的第3与4步)

// 3 init之前,要先添加输入源和输出源。(这一步就是9-2的第5-10步,只不过音频有一两个调用的函数与视频不一样)

// 4 开始混音
// 4.1 从文件读取数据
// 4.2 将数据添加到混音器。
// 4.3 将上面的两帧进行混音。

前3步的函数处理,实际就是下图的处理过程。
day09-----3-----音频过滤器实战(ffmpeg进行混音,将两路音频pcm数据合成一路输出)

二 代码

关于代码,因为后续需要改动,赖得每次改完后这里还得改,就不贴自己的出来了。
大家可以参考这篇文章ffmpeg进行混音,将两路音频pcm数据合成一路输出,是一样的,只不过我自己打上了注释。

实际上也可以使用命令实现:

ffmpeg -i buweishui_1m.mp3 -i huiguniang.mp3 -filter_complex amix=inputs=2:duration=longest:dropout_transition=3 out.mp3 -y

三 过滤效果

音频没法看效果,不过按照上面的代码出来后,有一个output.pcm,可以使用audacity软件进行播放。听出发现,最短的音频结束后,最后就剩下长的音频的声音了,不过应该是被过滤器处理过,声音感觉和原来的有点区别,毕竟采样率被改成了96khz。

上一篇:[转].net cookie版购物车


下一篇:华为:鸿蒙 Harmony OS 明年将正式登陆欧洲