User Tools

Site Tools


ffprobe:bitrate

ffprobe - Bitrate

The bit rate of a video influences both the video quality and file size.

  • Understanding the bit rate of a video is critical for encoding decisions, ensuring compatibility with bandwidth limits, or addressing quality issues caused by insufficient bit rates.
  • It also helps when re-encoding videos for specific distribution channels.

Determine the bit rate

# For MP4
ffprobe -v quiet -select_streams v:0 -show_entries stream=bit_rate -of default=noprint_wrappers=1:nokey=1 input.mp4
 
# For MKV
ffprobe -v quiet -select_streams v:0 -show_entries format=bit_rate -of default=noprint_wrappers=1:nokey=1 input.mkv

returns:

4717811

NOTE: The output will be in bits.

  • To get this as Kbps divide by 1024.
  • To get this as Kbps divide by 1048576.

That data is not required to be written to the stream, and MKV does not support it.

  • MKV stores that info in the container, meaning you need to replace stream=bit_rate with format=bit_rate for MKV containers.

Options:

  • -v quiet: sets the log level as quiet meaning show no logs.
  • -v error: Limits output to errors to avoid any unnecessary information display.
  • -select_streams v:0: selects the first video stream, if you have multiple video streams use this to target the one you want.
    • Removing this means the bitrate will be shown for all video streams.
  • -show_entries stream=bit_rate: shows the bitrate value for the specified stream (for MP4 files).
  • -show_entries format=bit_rate: shows the bitrate value for the specified stream (for MKV files).
  • -of default=noprint_wrappers=1:nokey=1: Formats the output to not print the header and section information.
  • input.mp4: The file under examination.

Determine the bit rate manually

ffprobe -v quiet -select_streams v -show_entries packet=size -of compact=p=0:nk=1 input.mp4 | awk '{s+=$1} END {print s}'
1772586389
 
ffprobe -v quiet -select_streams v -show_entries stream=duration -of compact=p=0:nk=1 video.mp4  # format=duration if MKV
3592.544000
 
echo 1772586389/3592.544000 | bc   # B/s
493407
 
echo '1772586389/3592.544000/1024' | bc   # kB/s
481

References

ffprobe/bitrate.txt · Last modified: 2025/01/12 23:00 by peter

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki