[Vorbis] bitrate limits don't work with -q settings?

Nic Watson nic at ghs.com
Wed Dec 29 20:11:45 PST 2004


I just tried it on my Debian box; I see the same thing as on my Windows 
box.  I noticed that -q3 will dip below 96 kbps on only about 5% of my 
collection.  Some files have more entropy than others.

For example, try to encode this file:

<http://www.accalia.org/sinewave.flac>

It is 30 seconds of sine wave in stereo, a highly compressible file.

You'll see that the average bitrate falls well below the -m setting.

An intersting side note is that in trying to come up with a small test 
file that I could distribute, I took 3 differenct 30-second segments 
from input.wav, my original test case.  All encoded > 96 kbps.  Perhaps 
there is something peculiar about the bitrate management when encoding 
certain files.

Nic

Sander Sweers wrote:

> Well, I can not reproduce this behaviour in Linux.
> 
> I am using oggenc "OggEnc v1.0.1 (libvorbis 1.0.1)"
> 
> oggenc -q3 03.\ Unknown\ Quantity.flac
> 
> Opening with flac module: FLAC file reader
> Encoding "03. Unknown Quantity.flac" to "03. Unknown Quantity.ogg" at
> quality 3.00
>         [ 99.7%] [ 0m00s remaining] \
> 
> Done encoding file "03. Unknown Quantity.ogg"
> 
>         File length:  4m 37.0s
>         Elapsed time: 0m 34.5s
>         Rate:         8.0478
>         Average bitrate: 126.4 kb/s
> 
> -----------------------------------------------
> oggenc -q3 -m 96 03.\ Unknown\  Quantity.flac
> 
> Enabling bitrate management engine
> Opening with flac module: FLAC file reader
> Encoding "03. Unknown Quantity.flac" to "03. Unknown Quantity.ogg" at
> quality level 3.00 using constrained VBR (min 96 kbps, no max)
>         [ 99.7%] [ 0m00s remaining] \
> 
> Done encoding file "03. Unknown Quantity.ogg"
> 
>         File length:  4m 37.0s
>         Elapsed time: 1m 35.5s
>         Rate:         2.9087
>         Average bitrate: 126.4 kb/s
> 
> For me the bitrate does not drop under 96kbit when using -q3. I have
> not  experienced any problems with my iriver H120 yet.
> 
> Maybe you should move to Linux ;-) Seriously though, get the official
> binary encoder from the Xiph site and see if this problem still
> exists.
> 
> I did however see a drop in performance when limiting the minimum
> bitrate to 96k. Is this because of the different engine being used?
> 
> Sander
> 
> 
> On Wed, 29 Dec 2004 14:25:43 -0500, Nic Watson <nic at ghs.com> wrote:
> 
>>Thanks for the quick response.  To get versioning out of the way, I
>>recompiled the libraries and oggenc from mainline svn yesterday night.
>>I see the same results.
>>
>>Unfortunately, I am stuck on a stupid transport.  On the IRiver players,
>>any time the bitrate dips below 96kbps, you'll hear a click or pop, and
>>the song will usually end.  -q3 -m 96 doesn't work.  Is there any way to
>>use VBR and absolutely guarantee that the bitrate won't fall below a
>>certain level?  I figured that's what the bitrate_hard_min option was
>>for, but it seems to have the opposite effect.
>>
>>Nic
>>
>>Ralph Giles wrote:
>>
>>
>>>On Tue, Dec 28, 2004 at 10:23:50PM -0500, Nic Watson wrote:
>>>
>>>
>>>
>>>>The problem I'm seeing is that oggenc's VBR encoding doesn't seem to pay
>>>>attention to any sort of bitrate limitation, either the -m or
>>>>bitrate_hard_min settings.  It isn't that it temporarily dips below the
>>>>minimum; the average for the whole (in this case, easily compressible)
>>>>file is 10-20% too low.
>>>
>>>
>>>Are you complaining that the encoder does too good a job? :-)
>>>
>>>The managed bitrate modes use a different engine from the standard
>>>constant-quality engine, and is mutually exclusive with -q. You have
>>>to turn it on with -b or in more recent versions of oggenc with
>>>--managed.
>>>
>>>
>>>
>>>>I see roughly the same results on an old 1.0.1 version of oggenc as well
>>>>as a new vorbis 1.1-linked one I found on rarewares.org.
>>>
>>>
>>>The managed bitrate handling was changed in the 1.1 release; I don't
>>>know if the rarewares oggenc is the updated version from svn or not, so
>>>it may be using the same logic as the 1.0.1 version.
>>>
>>>If it's underruns you're worried about you probably shouldn't be using a
>>>managed mode; -q will do a better job. You really only need this if
>>>you're on some stupid transport that really can't handle the normal vbr
>>>streams.
>>>
>>> -r
>>>
>>
>>_______________________________________________
>>Vorbis mailing list
>>Vorbis at xiph.org
>>http://lists.xiph.org/mailman/listinfo/vorbis
>>
> 
> 
> 


More information about the Vorbis mailing list