How to use ffmpeg to encode ogg audio files?
Solution 1
The answer is in your question:
oggenc option corresponding ffmpeg option
-b -b:a
-q -q:a
-m -minrate
-M -maxrate
Example command
ffmpeg -i input.aac -c:a libvorbis -b:a 8k output.oga
If your desired value of 8k
fails then use a higher bitrate or lower your audio sampling rate with -ar
, such as -ar 8000
.
Encoder and muxer info
You can see additional info and the single private option that is specific to this encoder with:
ffmpeg -h encoder=libvorbis
You can also get info about the muxer/output container format:
ffmpeg -h muxer=ogg
Solution 2
This works for me:
ffmpeg -i test.aac -c:a libvorbis -b:a 64k test.ogg
I don't think 8kb/s is a valid value, but I could be wrong. :-)
Related videos on Youtube
xpt
Updated on September 18, 2022Comments
-
xpt over 1 year
I want to convert the following simple
oggenc
command to useffmpeg
instead:oggenc -b 8 input.wav -o out.ogg
From the ffmpeg libvorbis wrapper doc, it says,
The following options are supported by the libvorbis wrapper. The oggenc-equivalent of the options are listed in parentheses.
b (-b)
Set bitrate expressed in bits/s for ABR. oggenc -b is expressed in kilobits/s.
But I just don't know how to apply it to
ffmpeg
, I've tried,ffmpeg -i input.aac -c:a libvorbis -b 8 out.ogg ffmpeg -i input.aac -c:a libvorbis b 8 out.ogg ffmpeg -i input.aac -c:a libvorbis=b:8 out.ogg
but none is working as expected.
UPDATE: What I want to know is how to "translate" the options listed in ffmpeg (libvorbis wrapper) doc into ffmpeg command. I can get away with
-ab
switch to do the transcode, but I don't think it is the libvorbis wrapper specific options. So if you provide the answer, please provide the demo specifying all the following options as well.b (-b) q (-q) minrate (-m) maxrate (-M) iblock
-
xpt over 7 years8kb/s is a valid value for vorbis/oggenc. that's why I'm using it, and your answer is not. Welcome abroad, BTW.
-
Elisa Cha Cha over 7 yearsConsider adding
-c:a libvorbis
to your example, otherwise the flac encoder may be chosen by default instead (if you choose.oga
which is typically for audio only). -
xpt over 7 yearsSorry I wasn't clear on what I want to know. OP updated.
-
xpt over 7 yearsThanks. It'd be great if a full example of command-line is provided. And BTW, the answer is not in my question, as I don't know how you know
minrate (-m)
is just-minrate
, not-minrate:a
whereasb (-b)
somehow magically becomes-b:a
. Neitherffmpeg -h encoder=libvorbis
, norffmpeg -h muxer=ogg
, or the online-doc provide that info. -
Elisa Cha Cha over 7 yearsThe documentation was probably written before some options got the ability to use stream specifiers. If you just use
-b
thenffmpeg
will tell you to use-b:a
instead. -
Avatar about 3 yearsUse 32k or 64k because "8k" won't work and throw: "encoder setup failed Error initializing output stream 0:0 -- Error while opening encoder for output stream #0:0 - maybe incorrect parameters such as bit_rate, rate, width or height"