When you convert and create a 320kbps mp3 file, you may execute

ffmpeg -i original.wav -b:a 320K out.mp3

But why can -b:a designate the bit rate? I've read man ffmpeg and the official ffmpeg Documentation, but -b:a and even -b aren't described at all, though some examples can be seen in them. Also, it seems the default bit rate for mp3 is 128kbps, but this is neither referred to.

Does anyone have the verification for the validness of -b:a option? What do b and a mean? BIT-RATE and AUDIO?


FFmpeg is made up of multiple libraries, each dedicated to certains parts of the media processing pipeline, and tools, like the ffmpeg binary, which sets up the pipeline and manages its execution. The doc page you linked to relates to the ffmpeg binary. However, bitrate is an option related to encoding, and it is documented on the libavcodec page at https://ffmpeg.org/ffmpeg-codecs.html#Codec-Options

In the token -b:a, the portion before the colon identifies the option, in this case, bitrate. The string after the (first) colon is the stream specifier and is used to identify the target of the option. So, -b:a:2 sets the bitrate for the third audio stream in the output.

| improve this answer | |

Since you're converting to MP3 and using -b:a as an output stream specifier, I found the following under section 8.6 libmp3lame.

The following options are supported by the libmp3lame wrapper. The lame-equivalent of the options are listed in parentheses.

b (-b) Set bitrate expressed in bits/s for CBR or ABR. LAME bitrate is expressed in kilobits/s.


| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.