I'd like to use Ogg at 64kbps (q=0) as an output format (for low data consumption). I'm currently writing an audio streaming client, and I need the estimated data size before streaming. It would be great if the prediction could be accurate to within a few kB. Is it possible to set up ffmpeg or SoX to encode into Ogg/CBR so I can calculate the exact file size?
I agree VBR would be the better option where quality is concerned, but VBR 64kbps doesn't mean that I actually get 64kbps in average. Sadly...
Or would ABR be an option?
Thank you!
-b 64 --managed -m 48 -M 76
or as
--bitrate=64 --managed --min-bitrate=48 --max-bitrate=76
This will encode with 64 kbps and with a minimal bitrate of 48 kbps and a maximum bitrate of 76kbps.
The managed mode is slower but VBR will be 'disabled' and the encoder stays between your required bitrate.
Edit:
Of course in your case the minimal bitrate is not really necessary.
I would not use it or write --min-bitrate 0.
For ffmpeg use b (-b), minrate (-m) and maxrate (-M):
https://www.ffmpeg.org/ffmpeg-codecs.html#Options-15 (https://www.ffmpeg.org/ffmpeg-codecs.html#Options-15)
Thanks a lot for you answer.
I tried the command but ffmpeg seems not to recognize the option "m" or "M". Did I miss something?
The command I used:
ffmpeg -i [input file] -b 64 -m 63 -M 65 output.ogg
I tried the command but ffmpeg seems not to recognize the option "m" or "M". Did I miss something?
libvorbis encoder wrapper.
Requires the presence of the libvorbisenc headers and library during configuration. You need to explicitly configure the build with --enable-libvorbis.
Hi, seems i read that wrong.
You have to use -minrate and not -m.
So here is how it works for me, try this:
ffmpeg -i test.wav -codec:a libvorbis -b:a 64k -minrate 63k -maxrate 65k test.ogg
If i check a file encoded with this parameters, MediaInfo shows me that the bitrate goes from 63-65 kbps.
AND always use libvorbis since the vorbis encoder in ffmpeg is really bad. Don't also forget to write 64k and not just 64 for 64 kbps or any other bitrate.
Grüße an die Schweiz :-)