[FFmpeg-user] processing a vumeter (levelmeter) as video for audio inputs

Dave Rice dave at dericed.com
Fri Nov 7 16:21:50 CET 2014


> On Nov 7, 2014, at 8:27 AM, Kuban Altan <kuban.altan at gmail.com> wrote:
> Hi,
> I am testing *ebur128* filter, which can produce a video output. But I need
> a simple *vumeter* display per audio channel, which does not seem to exist.
> Any idea to accomplish this?
> So far, I have only been able to *volumedetect* per frame, mentioning a -ss
> time and a duration with -t 0.04 (for 25fps)... So I can get a peak sound
> level as text output using volumedetect. But this is not very efficient.
> All I need is a video and 2 rectangular bars, which have their lengths
> connected to input audio level.

There is a momentarily ebur128 level in the ebur128 video output so you could crop that out and reuse it noting that the concept that it measures is differently than a typical vu meter. Here’s an example where I split a stereo input and have two side by side momentary ebur128 meters:

ffplay -f lavfi "amovie=stereo.mp3,channelsplit[a][b];[a]ebur128=video=1:meter=18[a1][out0];[b]ebur128=video=1:meter=18[b1][out1];[a1]crop=20:432:612:40[a2];[b1]crop=20:432:612:40[b2];[a2][b2]framepack[out2]”

From here you could use drawbox and/or drawtext to add labelling.

Dave Rice

More information about the ffmpeg-user mailing list