# SRT

## What is SRT?

SRT, the abbreviation of Secure Reliable Transport protocol, is an open source live streaming protocol which brings pristine quality, low latency live video over the public Internet.

## Configure SRT

* Go to Setting->Network->SRT

| Item        | Description                                                                                         |
| ----------- | --------------------------------------------------------------------------------------------------- |
| Main Stream | <p>Enable: Check the checkbox;<br>Video Push: Enter PUSH URL;<br>Push Mode: Complex/Video/Audio</p> |
| Sub Stream  | <p>Enable: Check the checkbox;<br>Video Push: Enter PUSH URL;<br>Push Mode: Complex/Video/Audio</p> |
| Push Mode   | Three modes: Complex(Video\&Audio), Video only, Audio only                                          |
| Push URL    | Get the URL from your SRT server                                                                    |

### Caller Mode(OBS For Example)

* Double confirm the IP address of the PC with OBS/vMix installed by WIN+R->CMD->ipconfig/all->Check "Ethernet Adapter" and get the IP
* Access the encoder from browsers and go to Setting->Push->Tab SRT->Enable SRT->Enter URL: **srt://**<mark style="color:purple;">**192.168.1.97**</mark>**:20001?mode=caller** {**NOTE:&#x20;**<mark style="color:purple;">**192.168.1.97**</mark>**&#x20;is the IP address of PC with OBS or vMix installed**}->Click "Save"

<figure><img src="https://4245975826-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fkg35R2FOXC4295wPDYgm%2Fuploads%2FspSfvJs9Yd1sfPcncPKa%2FGKHVE_Push_SRTCaller.jpg?alt=media&#x26;token=de85983d-9188-42de-889f-9840af251155" alt=""><figcaption></figcaption></figure>

* Run OBS->Add->Media Source->Check the checkbox of Local File->Input: **srt://**<mark style="color:purple;">**192.168.1.97**</mark>**:20001?mode=listener\&latency=50** {**NOTE:&#x20;**<mark style="color:purple;">**192.168.1.97**</mark>**&#x20;is the IP address of PC with OBS or vMix installed**}->Click "Okay"->Wait for a while and the video will be shown as below:

<figure><img src="https://4245975826-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fkg35R2FOXC4295wPDYgm%2Fuploads%2FY6uR1ohUur7fPbgEYRlK%2FGKHVE_Push_SRTCallerOBS.jpg?alt=media&#x26;token=941f0395-a069-4bb9-91d8-98ba285c2d06" alt=""><figcaption></figcaption></figure>

### Listener Mode (OBS for Example)

* Run Device Manager->Double confirm the IP address of encoder;
* Access the encoder from browser->Setting->Push->SRT->Enter PUSH URL: **srt://**<mark style="color:purple;">**192.168.1.196**</mark>**:20001?mode=listener** {**NOTE:&#x20;**<mark style="color:purple;">**192.168.1.196**</mark>**&#x20;is the IP address of encoder**}->Click"Save" as below:

<figure><img src="https://4245975826-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fkg35R2FOXC4295wPDYgm%2Fuploads%2FrTnGci3y6Qg5aiWf7G7U%2FGKHVE_Push_SRTListener.jpg?alt=media&#x26;token=97457077-1ec6-4d61-a2f9-6cea13c00ac6" alt=""><figcaption></figcaption></figure>

* Run OBS->Add->Media Source->Check the checkbox of Local File->Input: **srt://**<mark style="color:purple;">**192.168.1.196**</mark>**:20001?mode=caller\&latency=50** {**NOTE:&#x20;**<mark style="color:purple;">**192.168.1.196**</mark>**&#x20;is the IP address of encoder**}->Click "Okay"->Wait for a while and the video will be shown as below:

<figure><img src="https://4245975826-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fkg35R2FOXC4295wPDYgm%2Fuploads%2FdytDPHRzQA6J7fmWL1XD%2FGKHVE_Push_SRTListenerOBS.jpg?alt=media&#x26;token=5e56f37b-fef1-4ead-a487-5568fa0dcb64" alt=""><figcaption></figcaption></figure>

### Rendezvous Mode

<figure><img src="https://4245975826-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fkg35R2FOXC4295wPDYgm%2Fuploads%2FidLSVFKw5No9OfASYWHq%2FGKHVE_Push_SRTRendezvous.jpg?alt=media&#x26;token=82f7da19-786a-4a0e-a216-b1abccbe3c3d" alt=""><figcaption></figcaption></figure>

{% hint style="warning" %}
If it's required to be compatible with private servers, we can do that too. But MOQ will be required too.
{% endhint %}
