How to use ffmpeg to encode ogg audio files?

30,539

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. :-)

Share:
30,539

Related videos on Youtube

xpt
Author by

xpt

Updated on September 18, 2022

Comments

  • xpt
    xpt over 1 year

    I want to convert the following simple oggenc command to use ffmpeg 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
    xpt over 7 years
    8kb/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
    Elisa Cha Cha over 7 years
    Consider 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
    xpt over 7 years
    Sorry I wasn't clear on what I want to know. OP updated.
  • xpt
    xpt over 7 years
    Thanks. 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 whereas b (-b) somehow magically becomes -b:a. Neither ffmpeg -h encoder=libvorbis, nor ffmpeg -h muxer=ogg, or the online-doc provide that info.
  • Elisa Cha Cha
    Elisa Cha Cha over 7 years
    The documentation was probably written before some options got the ability to use stream specifiers. If you just use -b then ffmpeg will tell you to use -b:a instead.
  • Avatar
    Avatar about 3 years
    Use 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"