March 9, 2020

Glass-to-glass SRT delivery setup

SRT delivery of live streams is gaining momentum as more companies add this protocol support into their products. Being SRT Alliance member, Softvelum provides extensive SRT support in various products.

Currently it's possible to create a glass-to-glass delivery with SRT using Softvelum products.


This article describes detailed setup of the following streaming scenario:
  • Content creator is streaming from Larix Broadcaster to Nimble Streamer server instance.
  • Nimble Streamer takes incoming SRT and provides output for playback.
  • Viewer uses Larix Player for pulling live stream from Nimble Streamer.
To make this work, we'll set up each element of this chain. We'll show the setup within a local network and you can make it work across any network.

1. Set up Nimble Streamer


Before moving forward you need to complete the following steps:


We'll use an instance available via 192.168.0.104 IP address in local network, all mobile devices will be connected to the same local network.

Here's what we'll set up on Nimble Streamer side:

  • Larix Broadcaster app will use SRT in Push (Caller) mode to deliver the content, so we'll set up Nimble in "Listen" mode to receive it.
  • Larix Player will work in "Pull" mode to retrieve live stream for playback, so we'll set up Nimble output in "Listen" mode to take those requests and respond with content.

So let's set up both these elements.

1.1 Receiving input SRT via Listen


In WMSPanel, go to Nimble Streamer -> Live streams settings top menu, then choose "MPEGTS In" tab.


Now click on Add SRT stream to see a new dialog.


Here you need to choose Listen from Receive mode drop down box, enter 0.0.0.0 in Local IP and use some port that is available on your server, like 2020 in this case. The Alias is used for further reference in UI.

Check Add outgoing stream checkbox and define Application name and Stream name, this will create proper output which we'll use later on the next step.

Once you click Save, you'll see this setting being synced to Nimble Steamer instance.


Now if you click on MPEGTS Out tab, you'll see that proper output has also been described for further use.


This is required because SRT uses MPEG-TS as its media transport, which requires this distinction due to a nature of that protocol. You can read more about MPEGTS setup in this article.

There are more options of controlling input SRT streams via SRT Publisher Assistance Security Set - SRT PASSet, including user/password authorization and per-stream parameters. Read PASSet overview article for more details.

From this moment you'll be able to publish a stream into Nimble Streamer, so we have one more setup step left.

1.2 Providing the SRT output via Listen


Go to UDP streaming tab.


Click on Add SRT setting button to see the following dialog.


Set Mode field to ListenLocal port is selected from available ports. Local IP is set to "0.0.0.0", this will allow getting requests on all interfaces.

If you want to use Nimble Streamer with connections from outside of your network, you need to make sure that your firewall and network in general are set up properly to make those connections.

Source application name and Source stream name are defined as the app and stream name from MPEGTS Out section above, those are "srt" and "output". This will redirect the source content into SRT output.

In addition you may define maxbw and latency parameters in case if you use some uncontrolled network for delivery. Read this article for more details.

Now when we have an instance of Nimble Streamer ready to work, we can set up a streaming app.

2. Set up Larix Broadcaster SRT streaming


Larix Broadcaster is a free app, you can install it from Google Play and from AppStore. You can find out about all features of Larix on Android page and on iOS page, they have full lists of capabilities.

Let's use Larix Broadcaster for Android to set up live streaming to Nimble Streamer instance. Once you install and launch it, you'll see preview screen.


Click on gear icon to enter settings dialog.


You may keep default settings, or change some parameters like the resolution from Video menu. You can discover them by browsing the menus.

Now let's set up SRT output stream. Go to Connections menu.


We've previously set up some connections to testing purposes - you can see RTMP and RTSP being both checked. This allowed streaming simultaneously into two destinations. We need to add a new one, so tap on New connection menu.


Here you need to add a name for your connection and then enter the publishing URL. That URL consists of srt:// prefix, the address of a server and port number. In our case it will be srt://192.168.0.104:2020/ - the IP of a server and proper port which we used during the SRT setup on step 1.1. You may leave other options as they are.

After saving a setting you will see it in the list. You can un-check other connections if you want to stream only via the new one.


Now return to preview screen. You can push the big red circle button to start streaming.


The button will change its shape and you will see FPS and streaming length on top and particular stream stats in the bottom.

Now let's watch this stream on other device.

3. Set up Larix Player SRT playback


Larix Player is a solution which allows playing multiple live protocols and provides wide playback capabilities via Android and iOS apps. You can install it from Google Play and AppStore.

We'll use Android app to demonstrate the SRT playback. Once you install it, you'll see connections menu which will be empty.


Click on plus button to enter a dialog to create a new connection.


Here you will enter a connection Name and a URL. The URL is our case will be srt://192.168.0.104:2021/ where the IP and port are taken from step previous 1.2.

Also read more about additional settings of SRT streaming and general overview of Larix Player.

Once you tap Save, you'll see a new entry in streams list.


Now you can just tap on the name and start watching the stream.




That's it. You can change any of the described components for your streaming scenario as well as combine them with other products and features of our company.


You can take a look at another similar example: Set up OBS Studio SRT streaming with Larix Broadcaster and Nimble Streamer.

Let us know if you have any questions about the described products and setup.

Related documentation


SRT support overview for Nimble Streamer, SRT setup in Nimble StreamerSRT playback stats and protectionLarix Broadcaster, Larix Broadcaster docs referenceLarix Player

No comments:

Post a Comment

If you face any specific issue or want to ask some question to our team,
PLEASE USE OUR HELPDESK

This will give much faster and precise response.
Thank you.

Note: Only a member of this blog may post a comment.