Secure Reliable Transport is an open source video transport protocol. It optimises streaming performance across unpredictable networks, such as the Internet, by dynamically adapting to the real-time network conditions.


Features


  • Input and Output (send and receive) support for Caller, Listener and Rendezvous connection methods.
  • 256 bit encryption through use of PassPhrase.
  • Hardware (GPU) accelerated encoding and decoding of HEVC or H264 video in up to 4K (where supported by the underlying hardware and operating system).
  • Up to 8 channels of AAC audio which can optionally be split into separate stereo audio tracks on output.


Technical/System Requirements


  • Windows 10 x64 or higher
  • Graphics card with support for HEVC and H264 encoding and decoding. 
    NVIDIA Quadro P2000 or higher series recommended.
    NOTE: NVIDIA GeForce 9xx series or lower should not be used with SRT, and is unsupported.
  • When using HEVC on Windows 10, the "HEVC Video Extensions" from the Microsoft Store is required to be installed.
  • Progressive video formats are supported only. (interlaced support is not available)
  • vMix supports HEVC or H264 video and AAC audio (AAC-LC) wrapped in a transport stream only. Other codecs are not supported.


Setting up an input stream


See SRT Input for more information.


Setting up an output stream


1. From the vMix Settings, go to the Outputs tab and click the cog icon next to the output channel you wish to send.

2. The following settings will appear:



Enable SRT

Check this box to enable the SRT output. 


Type
Listener: Listen on the specified Port on all network adapters on the computer for connections. Hostname is ignored.
Caller: Connect to the specified Hostname and Port.

Rendezvous: Connect to the specified Hostname and Port. The other side must also be set to Rendezvous with an identical port number specified.
This mode allows connecting through most firewalls automatically.


Latency

Specify the latency of the connection in milliseconds to adapt to network congestion.
The higher this value, the better SRT can handle difficult network conditions.
As a general rule this should be set to at least 4x the ping time destination IP. So 20ms would require a latency setting of at least 80
This must be set to the same value on both ends.


Passphrase

Specify a password to encrypt the connection. This password must be used by both sides for the connection to be established.


Key Length
This is the encryption strength to use. Multiple by 8 to convert to bits, for example 32 = 256bit encryption.


Stream ID

Optional Stream ID that may be required by your streaming provider to uniquely identify the stream.


Quality


Select one of the built in compression profiles from the list or click the cog icon to customise the encoding settings.



Video Codec

Select either H264 or HEVC as the video compression method.


Video Bitrate / Audio Bitrate
Specify the bandwidth in kbps per second for Video and Audio. Example 2000 = 2mbps and 128 = 128kbps.
Audio bandwidth is total for all channels when in a single track. For example for 8 channels, 384 = 48 kbps per channel.

When audio is in separate tracks, bitrate is for each stereo pair.


Keyframe Frequency (seconds)


Set the maximum distance between keyframes in the stream in seconds.


CBR


Ticking this box will enable constant bit rate mode on the SRT stream.
This will pad the stream with additional dummy data in cases where the bitrate drops below the target (for example when showing still images).
For example, if the bitrate is 6000 kbps and the stream is currently 2000 kbps, CBR will add an additional 4000 kbps of data to keep at a constant rate.

NOTE: CBR will increase the overall bitrate by approximately 10%. The Video Bitrate setting above can be reduced to compensate if an exact bitrate is required.


Split Stereo Pairs into Separate Tracks


When this option is ticked, all audio channels in the stream will be split into stereo pairs and encoded as separate audio tracks.
The tracks will use the default stream PIDs of 256, 257, 258 and so on for each stereo pair.
For example if MAB is selected, bus A will be a stereo track with PID 257.


Use Hardware Encoder

Use accelerated encoding where available on the graphics card. NVIDIA GeForce cards (and some low end Quadro cards) are limited to 2 simultaneous encodes per system.
This includes the Streaming and Recording features in vMix, so care should be taken to ensure this tick box is only enabled at two locations when using these types of cards.
(such as 1x Stream and 1x SRT)


Use Low Power Encoder


Some Intel Graphics drivers included support for "VDENC" which is a low power, high performance encoder built in to some CPUs.
Tick this box to enable using this encoder where available.


Audio Channels

Specify the audio source for this output. A maximum of 8 channels of audio is supported by AAC.


Resolution

Optionally specify a resolution to downscale to. Only progressive formats are supported.


Alpha Channel

This setting must be set to None as alpha is not supported by the video codecs used by SRT.