FFmpeg File Size Calculation of Encoded Output

Encoded output file size calculation

The final size of encoded output is the sum of audio and video stream sizes. The equation for video stream size in bytes is (the division by 8 is for the conversion from bits to bytes):

video_size = video_bitrate * time_in_seconds / 8

If audio is uncompressed, its size is calculated by the equation:

audio_size = sampling_rate * bit_depth * channels * time_in_seconds / 8

To calculate the file size of a compressed audio stream, we need to know its bitrate and the equation is

audio_size = bitrate * time_in_seconds / 8

For example to calculate the final size of 10 minutes video clip with the 1500kbits/s video bit rate and 128 kbits/s audio bitrate, we can use the equations:

file_size = video_size + audio_size
file_size = (video_bitrate + audio_bitrate) * time_in_seconds / 8
file_size = (1500 kbit/s + 128 kbits/s) * 600 s
file_size = 1628 kbit/s * 600 s
file_size = 976800 kb = 976800000 b / 8 = 122100000 B / 1024 = 119238.28125 KB
file_size = 119238.28125 KB / 1024 = 116.443634033203125 MB = 116.44 MB
  • 1 byte (B) = 8 bits (b)
  • 1 kilobyte (KB) = 1024 B
  • 1 megabyte (MB) = 1024 KB, etc

The final size is a little bigger than computed, because included is a muxing overhead and the file metadata.

Published by

qoraiche

Codecs Lover

Leave a Reply