ffmpeg常用音频处理

使用ffmpeg分析修改音频 ffmpeg -layouts查看音频的布局情况

1.双声道合并单声道

ffmpeg -i music.mp3 -ac 1 music.aac

2.双声道的提取

-map_channel [input_file_id.stream_specifier.channel_id|-1][?][:output_file_id.stream_specifier]

方式一:

ffmpeg -i music.mp3 -map_channel 0.0.0 letf.aac -map_channel 0.0.1 right.aac

方式二:

使用pan滤镜

http://ffmpeg.org/ffmpeg-all.html#pan-1

ffmpeg -i music.mp3 -filter_complex "[0:0]pan=1c|c0=c0[left];[0:0]pan=1c|c0=c1[right]" -map "[left]" left.aac -map "[right]" right.aac -y

3.双声道转双音频流,把双声道音频提取出来转为一个音频文件两个音频流

ffmpeg -i music.mp3 -filter_complex channelsplit=channel_layout=stereo output.mka

可以看到生成的视频就包含了两个流,大多默认情况下播放器只会播放第一个流

单声道转双声道

ffmpeg -i left.aac -ac 2 output.m4a

-ac :指定声道数

将两个音频源合并为双声道

ffmpeg -i left.aac -i right.aac -filter_complex "[0:a][1:a]amerge=inputs=2[aout]" -map "[aout]" output.mka

//mka为acc编码格式

4.音频音量探测

ffmpeg -i test.mp4 -filter_complex volumedetect -c:v copy -f null /dev/null

如下图: mean_volume为获得音频的平均大小

【后台扣1,资料免费分享】资料包括《Andoird音视频开发必备手册+音视频学习视频+学习文档资料包+大厂面试真题+2022最新学习路线图》等

5.绘制音频波形图 (多声道混合)

ffmpeg -i music.mp3 -filter_complex "showwavespic=s=640*120" -frames:v 1 output.png

绘制不同声道的波形图

ffmpeg -i 1.mp3 -filter_complex "showwavespic=s=640*240:split_channels=1" -frames:v 1 output.png

6.音量设置

声音音量应该仔细调整,以保护我们的耳朵和ffmpeg提供2种方法。第一个使用-vol选项,它接受从0到256的整数值,其中256是最大值

ffmpeg -i music.mp3 -vol 30 sound_low.mp3

另一种方法是使用表中描述的卷过滤器:

音量降低到三分之二

ffmpeg -i music.mp3 -af volume=2/3 quiet_music.mp3

增加10分贝的音量

ffmpeg -i music.mp3 -af volume=10dB louder_sound.mp3

7.加快/减慢音频节奏

参数

atempo 值范围0.5-2.0

加快ffplay music.mp3 -af atempo=1.5

减慢 ffplay music.mp3 -af atempo=0.5

8.chorus 给声音添加合唱效果

可以让独唱变得像合唱,但也可以用于仪表。

合唱与回声效应都有短延迟,但是回波延迟是常数,合唱则采用不同的正弦或三角调制。调制深度范围定义了调制延迟(播放之前或之后的延迟)。因此延迟的声音听起来较慢或更快,这是原来周围的延迟调整声音,像是有一个与合唱整体略微差异。

它接受下面的参数(每个参数项如果有多个可能值用|分隔):

in_gain

设置输出增益,默认0.4

out_gain

设置输出增益,默认0.4

delays

设置延迟,延迟通常在40ms-60ms

decays

设置衰减

speeds

设置速度

depths

设置深度

例子

一个延迟(二人合唱效果)

chorus=0.7:0.9:55:0.4:0.25:2

两个延迟(三人合唱效果)

ffplay music.mp3 -af "chorus=0.6:0.9:50|60:0.4|0.32:0.25|0.4:2|1.3”

三个延迟(四人及更多合唱效果)

horus=0.5:0.9:50|60|40:0.4|0.32|0.3:0.25|0.4|0.3:2|2.3|1.3

9.使用多媒体滤镜 ebur128分析音频响度变化

ebur128扫描滤镜。这个滤镜需要一个音频流,但会原样输出。默认情况下,它以10Hz的频率记录一条消息,其中包括瞬时响度(由M标识)、短期响度(S)、综合响度(I)和响度范围(LRA)。

滤镜有个实时的输出,展示响度的变化,主要的绘图区域包含短期响度(3秒分析),以及其后的舒适响度(400毫秒)

具体参数:https://ffmpeg.org/ffmpeg-all.html#ebur128-1

ffmpeg -nostats -i stars.mp3 -filter_complex ebur128 -f null -

加-report可把结果输出到日志文件

​利用EBU放缩规模计+18d的实时图像

ffplay -f lavfi -i "amovie=input.mp3,ebur128=video=1:meter=18 [out0][out1]"

猜你喜欢

转载自blog.csdn.net/yinshipin007/article/details/125566593