[FFmpeg-devel] [PATCH v1 2/6] avfilter/af_silencedetect: document metadata

Moritz Barsnick barsnick at gmx.net
Tue Oct 8 15:21:06 EEST 2019


On Mon, Oct 07, 2019 at 22:23:21 +0800, Limin Wang wrote:
> On Tue, Oct 01, 2019 at 09:40:45AM +0200, Moritz Barsnick wrote:
> > On Mon, Sep 30, 2019 at 21:36:43 +0800, lance.lmwang at gmail.com wrote:
> > > -The printed times and duration are expressed in seconds.
> > > +The printed times and duration are expressed in seconds. The @code{lavfi.silence_start}
> > > +or @code{lavfi.silence_start.X} metadata key is set on the first frame whose timestamp
> > > +equals or exceeds the detection duration and it contains the timestamp of the first
> > > +frame of the silence.
> > > +
> > > +The @code{lavfi.silence_duration} or @code{lavfi.silence_duration.X} and
> > > + at code{lavfi.silence_end} or @code{lavfi.silence_end.X}metadata keys are set on the
> > > +first frame after the silence. Where @code{X} is the channel number and .X is used
> > > +if @option{mono} is enabled.
> >
> > I don't understand. Literal ".X" (which you should write as
> > "@code{.X}", by the way)? And if not mono, it's ".0", ".1"? And when is
> > ".N" completely omitted?
> By the code,  if it's mono mode, it'll output lavfi.silence_duration metadata, if not mono,
> it'll output lavfi.silence_duration.0, lavfi.silence_duration.1(0, 1 is the channel number).
> Please advise how to describe this clearly.

Well, I must say I was confused by the option "mono", because it does
the opposite in my opinion[*].

Anyway, since it's technically correct, I would rearrange or explain as
such:

The @code{lavfi.silence_duration} or @code{lavfi.silence_duration.X}
and @code{lavfi.silence_end} or @code{lavfi.silence_end.X} metadata
keys are set on the first frame after the silence. If @option{mono} is
enabled, and each channel is evaluated separately, the @code{.X}
suffixed keys are used, and @code{X} corresponds to the channel number.

[*] In "mono" mode, from its name, I would have expected all the
channels to be mixed down and interpreted as a monaural signal. But
this is actually what happens if "mono" mode is *not* selected,
apparently. In reality, in "mono" mode, each channel is interpreted
separately, but that doesn't make these mono, in my opinion. But
there's nothing we can change about that now. ;-)

Cheers,
Moritz


More information about the ffmpeg-devel mailing list