Why an MP3 Can Stay the Same Size After Changing Its Bitrate in FFmpeg

Changing a bitrate option does not guarantee that every encoded MP3 will have a visibly different size. The result depends on which encoder FFmpeg selected, whether it is using constant, average or variable bitrate, the input stream that was mapped, the audio duration, and the precision of the size display. First check the actual output file and the command’s stream mapping before assuming the setting was ignored.

How bitrate relates to file size

For constant bitrate audio, a rough estimate is bitrate multiplied by duration. For example, 128 kilobits per second over a three-minute track is about 2.9 megabytes of encoded audio, before small container and metadata overheads. Lowering the target bitrate should generally reduce the size of a long CBR encode. Variable bitrate uses more bits for complex passages and fewer for simpler ones, so its average rate can differ from a target or quality setting.

Check the FFmpeg command and output

Use ffprobe or FFmpeg’s output information to verify the selected audio stream, codec and reported bitrate. Make sure the output filename is different from the input, and confirm the command completed successfully rather than reusing an earlier file. If the source already contains compressed audio, re-encoding at a higher bitrate will not restore lost detail and may make the file larger without improving sound.

why-are-my-mp3-files-the-same-size-even-when-i-change-the-bitrate-with-ffmpeg-01

FFmpeg’s -b:a option sets an audio bitrate value, but encoder behavior depends on the selected codec. For the MP3 encoder wrapper, FFmpeg documents b as the bitrate for CBR or ABR and q as the VBR quality control. Some encoders ignore or prioritize settings differently, so use the documentation for the encoder you actually selected. A command may also copy audio unchanged if you specify stream copy, in which case no new bitrate is encoded.

Compare files accurately

Check the exact byte count in file properties or with a command-line listing; file managers often round sizes to KB or MB. Compare files with the same duration and channel layout, then inspect their stream details. If the output is unexpectedly identical byte-for-byte, verify that the output path points to the new file and that your shell did not reuse a stale result.

For examples and encoder-specific options, see the official FFmpeg codec documentation and full FFmpeg reference.

Sources

Archit Haritwal
Archit Haritwalhttp://tecblast.net
Hi! I'm a passionate blogger who loves sharing ideas, experiences, and useful information. Through my blog, I aim to inspire, inform, and connect with readers by creating interesting and valuable content. I believe in continuous learning, creativity, and sharing knowledge that makes a difference. Welcome to my blogging journey!

Latest articles

Related articles