[FFmpeg-user] ffprobe wave-form command-line question

Moritz Barsnick barsnick at gmx.net
Mon Jun 8 23:56:09 CEST 2015


Hi Mark,

On Mon, Jun 08, 2015 at 10:37:33 -0700, Mark Edwards wrote:
> i have been using this npm module: npmjs(dot)com/package/waveform-util
> and this npm module creates waveform numeric output such as this below:
> [0,0.0062,0.0688,0.2524,0.2691,0.2645,0.1594,0.1397,0.1672

You should have elaborated on what those numbers mean, or what this
module does. It took me a minute to figure it out - it (probably)
created waveform images something like those used by SoundCloud?

> however, this module does not seem reliable and has not been maintained for
> a couple of years now. the module describes itself as a "tiny wrapper
> around ffprobe".

If it's so tiny, I don't see why it should be unreliable, and why it
should be maintained. Reliability: I don't know the exact
specifications for such a waveform, but to me, it's just parsing, math,
visualization. Maintenance: Algorithms shouldn't change, so probably
only the ffprobe interface.

> my question - what would the command line look like to produce such output?

Isn't that exactly what the "tiny wrapper" would expose?

I wouldn't have though ffprobe can do this. Isn't this a numerical
representation of the peak volume throughout a certain period of time?
I _believe_ ffprobe operates frame by frame, not sample by sample or
over periods of time. _I_ would have used ffmpeg's "volumedetect"
filter over periods of time (-ss <N * interval> -t <interval), and
used/displayed the intervals' peaks - if that's how the waveform is
specified.

Or I would have exported the intervals to raw audio data and sampled
for maximum values myself, perhaps using e.g. perl's unpack().

Just my thoughts,
Moritz


More information about the ffmpeg-user mailing list