ffmpeg 绘制音频波形图

通过绘制音频波形图,可以帮助我们分析音频信息,音量,波形等信息;不同时间段的音量,不同时间段的每个声道的音频信息;

使用 ffmpeg 的showwavespic 滤镜来绘制音频的波形图,参考命令如下:

ffmpeg -i ~/media/test.mp4 -filter_complex "showwavespic=s=720x180" -frames:v 1 ~/Desktop/audio.png

输出音频图像,多个声道同时叠加到一起:


上图中绘制的信息为所有通道的全部信息,如果我们想看到每个通道的信息,可以 split_channels来提取每个声道的音频信息,单独绘制每个声道的信息,参考命令如下:

ffmpeg -i ~/media/test.mp4 -filter_complex "showwavespic=s=720x240:split_channels=1" -frames:v 1 ~/Desktop/audio.png

输出音频图像,包含每个声道的信息:


如果音频波形图的颜色?
最近有同学私聊我的问题,在这里更新一下。

波形图的颜色是可以设置的,但是背景颜色不可以设置,也不能设置为透明。

参考代码:
ffmpeg -i ~/media/test.mp4 -filter_complex “showwavespic=s=720x240:split_channels=1:colors=0x00ff00|0xff0000|0x0000ff” -frames:v 1 ~/Desktop/audio.png

详细的参数设置可以参考 ffmpeg 的 showwavespic filter 的参数配置,其中colors参数可以配置每个音频通道的输出颜色。

colors
Set colors separated by ’|’ which are going to be used for drawing of each channel.
1
2
参考链接:
http://ffmpeg.org/ffmpeg-all.html#showwavespic

不同颜色通道的效果:

原文地址:https://www.cnblogs.com/simadi/p/14914241.html