Formula for real-time video streaming

I'm just looking for a formula to be used here. All the results that I found base the "bitrate detection" of an existing video. I am talking about the LIVE stream. (indefinite length)

So, I know some of its main parts, but I just need to know if I'm right or something is missing.

For Kbps:

Resolution * Framerate / 1024

Is it that simple? Audio will be a separate element for our purposes here. Am I missing something from this formula?

(In coming up with a suggestion on how much bandwidth will be required, regarding possible resolution options, so I just need to be sure that I'm not missing anything or is inaccurate about it)

+4
source share
2 answers

When talking about video, there are two different bit rates:

  • video rendering bit rate (for which your equation is almost there)
  • the bit rate of the network stream from server to client (which, I suspect, is after you)

The bit rate value for the network stream contains many many variables. It depends not only on the resolution and frame rate, but also on ...

  • CODEC video,
  • CODEC configuration (keyframe frequency, use of advanced compression methods, etc.),
  • streaming and network protocols (RTMP ?, RTP ?, RTSP ?, HTTP ?, etc.),
  • CODEC audio (MP3, AAC, etc.), source and quality (8-bit 11KHz monaural 16-bit 44.1KHz stereo?),
  • expectations and quality requirements for viewing the end user,
  • and much more!

Even the characteristics of the video source can affect the bit rate. (No motion with compressed stream means lower bit rate.)

Because of all this, streaming live video is more of an art, but less of a science.

+2
source

bitrate = width * height * fps * motion / 10.

motion is a change in your frame, values โ€‹โ€‹from 1 to 4. Additional changes, lager value.

This works for me well. And it is not official .

0
source

Source: https://habr.com/ru/post/1307796/


All Articles