[libav-tools] AAC encoded files show "0 kbps" average bitrate.

Oliver Hookins oliver at soundcloud.com
Mon Oct 8 21:25:06 CEST 2012


> > From: Luca Barbato <lu_zero at gentoo.org>
>
> If you use flowplayer or you just load it what happens?

Didn't get a chance to try this unfortunately, but I ended up
re-encoding the files with the "-movflags frag_keyframe" option and
the progressive-download playback problems went away. It's a bit odd
because the container is MP4 and not MOV, and I understand this option
to be more relating to video but evidently something in the code path
is making a difference...

>
> > Again, this only seems to happen with files encoded by avconv in MP4
> > container format, regardless of AAC codec chosen. The Nero AAC encoded
> > files work perfectly in any command line player or the Flash-based web
> > players.
>
> According to 14496-1:2010 7.2.6.6 DecoderConfigDescriptor:
>  avgBitrate ? is the average bitrate in bits per second of this
>  elementary stream. For streams with variable bitrate this value
>  shall be set to zero.
>
> (thanks to our mp4 experts)
>
> So either flash is out of specification or there is something with the
> specific player... (or the interpretation of the paragraph could be
> different)

Well, I'm encoding these with "-b:a 96000" and I would expect constant
bitrate to be used, so this makes no sense on two levels. Given what I
discovered above with the keyframe fragment option, the average
bitrate metadata seems to be a red herring, but even obeying the
standard, avconv should be setting a constant bitrate and expressing
that bitrate in the metadata.

The second point I would make is that an "average" bitrate value only
makes sense in the case of something that varies - a constant bitrate
has no need of an average, but I guess that's something we can blame
the specification authors for.


More information about the libav-tools mailing list