Recommended RTSP Settings

 

60Hz 50Hz

 


IF 1080@60

ENCODE PROTOCOL: H264 RESOLUTION: 1920x1080 BITRATE: 12288

FRAME RATE: 60

I FRAME: 60 CBR

FLUCTUATE LEVEL: 1 SPLICE SPLIT ENCODE: Off

IF 1080@50

ENCODE PROTOCOL: H264 RESOLUTION: 1920x1080 BITRATE: 10240

FRAME RATE: 50

I FRAME: 50 CBR

FLUCTUATE LEVEL: 1 SPLICE SPLIT ENCODE: Off


 


IF 1080@30

ENCODE PROTOCOL: H264 RESOLUTION: 1920x1080 BITRATE: 8192

FRAME RATE: 30

I FRAME: 30 CBR

FLUCTUATE LEVEL: 1 SPLICE SPLIT ENCODE: Off

IF 1080@25

ENCODE PROTOCOL: H264 RESOLUTION: 1920x1080 BITRATE: 6826

FRAME RATE: 25

I FRAME: 25 CBR

FLUCTUATE LEVEL: 1 SPLICE SPLIT ENCODE: Off


 


IF 720@60

ENCODE PROTOCOL: H264 RESOLUTION: 1280x720 BITRATE: 6144

FRAME RATE: 60

I FRAME: 60 CBR

FLUCTUATE LEVEL: 1 SPLICE SPLIT ENCODE: Off

IF 720@50

ENCODE PROTOCOL: H264 RESOLUTION: 1280x720 BITRATE: 5120

FRAME RATE: 50

I FRAME: 50 CBR

FLUCTUATE LEVEL: 1 SPLICE SPLIT ENCODE: Off


 

Of first note is that all of these streams have been set to use H.264 compression as it is currently the most widely used protocol. Changing to H.265 or MJPEG, which are also available, will require different settings.

 

So you are likely well aware of what the resolution and frame rate are but may not be as aware of the requirements that coincide with those selections.

 

As we increase the resolution, frame rate, or both, we need a larger pipeline (i.e. more bandwidth) to properly support the connection. Thus, we will increase that pipeline by adjusting the bitrate accordingly, as shown in the chart above.

 

Example: 1920 x 1080 at 60 FPS requires a bitrate or 12,288 Kb/s while the same resolution at 30 FPS only requires a bitrate of 8,192 Kb/s. We are transmitting less information and thus the bitrate can be smaller.


If there is not enough bandwidth allocated, the network cannot support the set bitrate, or the camera is told to use too high of a bitrate then artifacting will occur.

 

Another setting of interest would be the i-frame interval that relates directly to the H.264 compression and how it will handle your stream.

 

When adjusting this setting, you are telling H.264 how many full images or frames (as opposed to a predicted image or frame) to send per second. The lower this number, or shorter the interval, the better chance you have of high quality video without artifacts at the expense of bandwidth. Just as it sounds this is a balancing act.

 

The more predictive frames used, the lower your overall bandwidth usage will be, which sounds great… unfortunately this also means we are allowing H.264 to predict more of the imagery without updated references, full images, which can lead to artifacting or even very strange behavior with subjects moving where they aren’t supposed to be.

 

The last setting we’ll be covering is the differences between CBR, Constant Bit rate, and VBR, Variable Bit Rate.

 

VBR is a very enticing technology that, to save bandwidth, will vary the bitrate depending on the complexity of the scene, sounds awesome right?

 

While VBR generally provides better compression and thus higher quality for the same amount of bits, it is not recommended because the peaks in bitrate can result in skips or buffering. In addition, some solutions for viewing the stream can average the incoming VBR resulting in video freezing when an overly complex scene occurs.

 

In short, while it may be useful in certain scenarios VBR is not recommended for a professional live stream due to the complexities and unpredictability it introduces.

 

Note that when using multicast these same settings will apply just via a different transport while lowering the impact on the network for multiple viewers / producers.


Recommended NDI Settings

 

60Hz 50Hz

 


IF 1080@60 "NDI Mode: High" ENCODE PROTOCOL: H264 RESOLUTION: 1920x1080 BITRATE: 12288

FRAME RATE: 60

I FRAME: 120

CBR

FLUCTUATE LEVEL: 1 SPLICE SPLIT ENCODE: Off

IF 1080@50

ENCODE PROTOCOL: H264 RESOLUTION: 1920x1080 BITRATE: 10240

FRAME RATE: 50

I FRAME: 100

CBR

FLUCTUATE LEVEL: 1 SPLICE SPLIT ENCODE: Off


 


IF 1080@30 "NDI Mode: Medium" ENCODE PROTOCOL: H264 RESOLUTION: 1920x1080 BITRATE: 8192

FRAME RATE: 30

I FRAME: 60

CBR

FLUCTUATE LEVEL: 1 SPLICE SPLIT ENCODE: Off

IF 1080@25

ENCODE PROTOCOL: H264 RESOLUTION: 1920x1080 BITRATE: 6826

FRAME RATE: 25

I FRAME: 50

CBR

FLUCTUATE LEVEL: 1 SPLICE SPLIT ENCODE: Off


 


IF 720@60 "NDI Mode: Low" ENCODE PROTOCOL: H264 RESOLUTION: 1280x720 BITRATE: 6144

FRAME RATE: 60

I FRAME: 120

CBR

FLUCTUATE LEVEL: 1 SPLICE SPLIT ENCODE: Off

IF 720@50

ENCODE PROTOCOL: H264 RESOLUTION: 1280x720 BITRATE: 5120

FRAME RATE: 50

I FRAME: 100

CBR

FLUCTUATE LEVEL: 1 SPLICE SPLIT ENCODE: Off


 

So in the above recommended settings for use as an NDI source you’ll notice that the only change is to the i-frame interval.

 

The correlation is that rather than generating a new i-frame every second, we will be generating a new i-frame every two seconds. This is to allow NDI™ to manage the stream to provide the low latency and high quality that is synonymous with NDI™.

 

Please feel free to adjust these as needed based on your network conditions, but know that the changes may impact the overall quality of your streaming experience.


Recommended RTMP Settings

 

When looking into recommended settings for an RTMP stream that is being delivered to a service such as YouTube or Facebook, it is always best to reference the service providers recommended encoder settings and find the best match based on what the camera is capable of and by network bandwidth limitations you may have.

Below are a few examples from some of the popular services to use as a reference: YouTube:

1920x1080@60fps

bitrate = 4,500 - 9,000 Kbps

i-frame interval: 120 (2 seconds) CBR

1920x1080@30fps

bitrate = 3,000 - 6,000 Kbps

i-frame interval: 60 (2 seconds) CBR

1280x720@60fps

bitrate = 2,250 - 6,000 Kbps

i-frame interval: 120 (2 seconds) CBR

 

Facebook:

1280x720@30fps

bitrate = 4,000 Kbps

i-frame interval: 60 (2 seconds) CBR

Laissez un commentaire

Veuillez noter que les commentaires doivent être approuvés avant d'être affichés