August 30, 2022

SEI metadata insertion support in Larix Broadcaster

Larix Broadcaster can now insert SEI metadata into SRT, RTMP and RTSP streams. It also allows specifying NTP server for get precise time.

This allows synchronizing live streams published from Larix Broadcaster using any software or hardware capable of SEI sync up.

Learn more about time synchronization in Softvelum products 

Also watch video tutorial showing Larix Broadcaster generating live streams with SEI, and Nimble Streamer producing synced-up NDI outputs:



Follow us in social media to get updates about our new features and products: YouTubeTwitterFacebookLinkedInRedditTelegram


August 8, 2022

SRT bonding and libsrt 1.5 in Nimble Streamer

Nimble Streamer has a wide SRT feature set which covers multiple capabilities. Our team has been an active contributor and a platinum member of SRT Alliance so we follow up closely with all updates.

At the moment Nimble uses libsrt version 1.4.4 by default when you install SRT package, however we continuously monitor new versions and features. So we wanted to give a try to the latest update.

libsrt 1.5

Now Nimble allows using libsrt 1.5 as an option.

If you want to try it with the latest Nimble build, use SRT package installation procedure with this command to install SRT package:

sudo apt-get install nimble-srt-1.5

You can always install "nimble-srt" package to get libsrt 1.4.4.


Bonding

With version 1.5.0, libsrt provide a new major feature set for Connection bonding.

Nimble Streamer allows enabling SRT bonding as provided by libsrt.


This capability is enabled by adding "srt-bonding-enabled" parameter with "true" in MPEGTS In setting for incoming SRT connection:



With this rule Nimble streamer will listen for incoming SRT stream 'in bond' on all the machine’s available interfaces “0.0.0.0” on the defined port “2022” (UDP).

If you’d like to specify the interfaces to bind additionally to the one defined in 'Local IP' and 'Local port' main input fields, please use the srt-group-nodes parameter.

Parameter syntax is “srt-group-nodes” with value like “ip1:port1, ip2:port2, ip3:port3” etc.
Example of value: "192.168.1.2:1101, 10.0.0.2:1100, 172.16.0.2:1100"

See the screenshot below


If any of our customers have SRT sender software or hardware capable of bonding, please feel free to try it with Nimble Streamer and let us know how it works, your real-life feedback is always valuable for us.


Learn more about SRT features of Nimble Streamer and SRT capabilities of other Softvelum products.


Follow us in social media to get updates about our new features and products: YouTubeTwitterFacebookLinkedInRedditTelegram


August 7, 2022

Pull SRT by streamid with RTMP-style app and stream name

SRT (Secure Reliable Protocol) has a lot of features that make it a reliable replacement for other delivery protocols like RTMP or RTSP. One of the features that RTMP or RTSP users enjoy is the ability to pull media streams from the source media server by their application name and stream name via single port. This gives a lot of flexibility for both source and recipient parties.

Nimble Streamer now brings that convenience of RTMP to SRT.

When providing output SRT streams via Listen mode, Nimble allows the following setup.

  • Live streams input is set up from any protocol like SRT, RTMP, NDI, MPEGTS UDP, streams from Live Transcoder or any other described here. The respective output streams are available for further usage as described in our tutorials.
  • SRT output with Listen mode is set with Use stream ID option for sources, as shown below.
  • The receiving party uses SRT streamid parameter defined as "appname/streamname" just like in RTMP pulled streams.
  • Nimble generates the SRT output using the live stream which was requested in streamid parameter.

So having just one IP address and one port, Nimble can serve multiple output streams just as the receivers are requesting.

This feature is part of Nimble Addenda package and it requires active Addenda license registered on Nimble server instance.


Setup process


Before moving forward, you need to enable this parameter in nimble.conf and restart Nimble instance:

srt_multipoint_listener_enabled = true

Read this page for more details about changing parameters of Nimble Streamer.


We assume you already have some incoming stream to process. E.g. you have some RTMP encoder publishing content into Nimble Streamer and it's available in Nimble via "live" application name and the incoming stream as "output" stream name.

To set up SRT part, go to Live streams settings menu, choose UDP streaming tab.

Just like for regular SRT output, click the Add SRT setting button.

In the new dialog, choose Listen mode - as this feature is working only in Listen - and specify local IP and port. We recommend using All interfaces selection (0.0.0.0).

Besides other parameters, select Use stream ID radio button. This will set Source app and stream  name to {STREAM_ID} placeholder which means the streamid parameter will be used to determine the source stream.


You can read more about other options in SRT output setup.

Once you save settings, they will be applied to the server within a few seconds.

That's it, you can now pull streams via SRT in Caller mode with proper streamid.


Usage


Let's see a couple of examples or obtaining the stream with proper streamid parameter.

First, here's an example of an srt-live-transmit tool getting the stream and playing it:

./srt-live-transmit "srt://192.168.0.114:2022?mode=caller&streamid=live/output" file://con | ffplay -

You can see it requesting SRT stream with streamid containing app and stream name (streamid=live/output).


Here's how the SRT stream setup may look like in Larix Player mobile app which supports SRT playback in all modes for both Android and iOS.


You can see IP and port of media server, SRT is set in Caller mode and then streamid parameter is set to "live/output".


Feel free to use this feature set for providing SRT streams.

Let us know if you have any questions about this feature.

Follow us in social media to get updates about our new features and products: YouTubeTwitterFacebookLinkedInRedditTelegram


Related documentation

Nimble Streamer SRT capabilities, SRT Publisher Assistance Security SetNimble Addenda

August 3, 2022

Passing MPEGTS data intact into MPEGTS, UDP, SRT and RIST

Nimble Streamer MPEG-TS streaming capabilities cover a lot of features such as receiving UDP-based MPEGTS, SRT or RIST and then re-packaging it into other protocols. You may also package it back into MPEGTS and stream out via UDP, SRT, RIST or HTTP MPEGTS.

However there are cases when you need to pass the MPEGTS through Nimble Streamer directly without re-packaging. Like, when the stream has some data that Nimble must keep intact, such as subtitles, metadata, PIDs, multiple tracks etc.

Now you can set Nimble to generate UDP-based output directly from MPEGTS input without additional re-packaging. In addition to that you can generate HTTP-based MPEGTS output.

Let's see how it's done.

We assume that you've already added the incoming MPEGTS streams like it's shown in our MPEGTS setup tutorial article.

We have an input from SRT incoming stream.


With the input available, we can set up all output scenarios.

UDP, SRT and RIST output

Now you need to set up UDP output, so open UDP streaming tab.


We've added the SRT output based on SRT streaming capabilities input so we'll add UDP output, using original SRT stream to pass it through.

Click on Add UDP setting and enter your destination IP address and port.

In addition to that, click on Raw MPEGTS source radio button, then select the input you'd like to use via Source dropdown.


We've selected our SRT input and saved settings.


In the list of UDP streams you'll see the Source streams column to have a respective input.


HTTP-based MPEGTS output


The same approach can be applied to general MPEGTS output.

Go to MPEGTS Out tab and click on Add outgoing stream.

In the setup dialog, choose Raw MPEGTS source and select the existing source from the list.



That's it, once you save setting, it will be applied within a few seconds and you'll be able to use MPEGTS HTTP output as bypass. As per above screenshot, the URL will look like https://nimble_server_ip_or_domain/live/mpegts/mpeg.2ts


Notice that in in this mode, you may have HTTP MPEGTS output only. Nimble doesn't process this stream, hence no Transcoder cannot be used.


Follow us in social media to get updates about our new features and products: YouTubeTwitterFacebookLinkedInRedditTelegram


Related documentation

MPEG-TS feature setMPEGTS setup tutorial, SRT support in Nimble Streamer