What causes the audio bitrate value in ffprobe's output to be higher than expected?

When analyzing the audio bitrate of my video through various methods like OS file details, media players, or using ffprobe -i my_video.mp4, they all consistently show the bitrate as 128 kbps. To glean more detailed metadata, I used the command ffprobe -loglevel 0 -print_format json -show_format -show_streams my_video.mp4.
Surprisingly, the output showed the audio bitrate as 128615 bps, which doesn’t align with my initial assumption of 128000 bps or the calculated 128 x 1024 = 131072 bps. I’m puzzled as to why the bitrate is not matching the expected values and am seeking to understand how to accurately interpret this discrepancy, specifically how to confidently equate 128615 bps to the standard measurement of 128 kbps?

1 Like

There are several reasons why bitrates are calculated and shown differently by different programs, which may be the cause of the disparity you’re seeing in the audio bitrate figures across many sources, such as media players, ffprobe, and OS file information.

First of all, it’s critical to know that the FFmpeg suite’s ffprobe tool is renowned for its accuracy and thorough reporting when analyzing multimedia files. With the command to publish extensive information, ffprobe gives a thorough study of the file, including the precise bitrate value it finds (ffprobe -loglevel 0 -print_format json -show_format -show_streams my_video.mp4). ffprobe indicates an audio bitrate of 128615 bps in your situation.

Although it is somewhat higher, the value of 128615 bps is still rather near to the anticipated 128 kbps, or 128,000 bps. There are several possible causes for this discrepancy:

Variations in Bitrate Calculation: Bitrate values may be computed or rounded off in different ways by different instruments. While some tools may show an averaged or rounded amount (e.g., 128 kbps), ffprobe gives you an exact figure.

Differences in Metadata and Encoding: This small variance may be caused by the way your video file encodes the audio stream. The particular codec being used and the encoding settings can cause bitrate variations. The real bitrate may vary somewhat from the target bitrate of 128 kbps throughout the encoding process. This figure is frequently used as a target or average bitrate.

Additional Data and Container Overhead: The bitrate you’re experiencing may include overhead brought about by the video file’s container format. This overhead covers the cost of keeping metadata and other relevant data in addition to the raw audio stream.

Variations in Bitrate Measurement Standards: Variations may also exist in the definition or measurement of bitrate. It can be confusing to convert between bits per second (bps) and kilobits per second (kbps) when representing bitrate numbers. Although 1 kbps is typically thought of as 1000 bps, it can also be calculated as 1024 bps in some situations (based on the binary system). Variations similar to the ones you saw may arise from this mismatch in base units (decimal vs. binary).

With respect to your question concerning the conversion from 128615 bps to 128 kbps, it is important to comprehend the context in which these figures are given. For simplicity’s sake, audio bitrates are typically rounded to the closest standard value in real-world situations, particularly in consumer media.
Because it is so near to this typical bitrate figure, an audio stream with a bitrate of 128615 bps can be securely regarded as 128 kbps. In contrast to the precise values used by experts or for technical analysis, this rounding is particularly prevalent in the user interfaces of media players and operating systems, which aim to display information in a more readable style for broad consumers.

In conclusion, the slight variation in bitrate numbers can be attributed to various factors such as variations in bitrate calculation techniques, subtleties in bitrate measuring standards, and accurate measurement and reporting by ffprobe. For the majority of practical uses, the figure of 128615 bps returned by ffprobe can be considered as being near to 128 kbps, especially in situations where exact precision is not important.
This knowledge aids in the interpretation and comparison of bitrate data from several sources while acknowledging that minor changes are expected and normal as a result of the previously listed variables.