September 29, 2021

Q3 news: server playlists, conditional transcoding and more from RCA finalist

Softvelum team was continuously improving products set during Q3, here's what we've got for you this quarter.

We are excited to be the finalist of 2021 Streaming Media European Readers' Choice Awards in Hardware/software Server category with our Nimble Streamer software media server. Huge thanks to all of our customers and partners who voted for us!

Nimble Streamer was improved with a few new features:

  1. Server playlist was introduced lately for Nimble Streamer. With that feature you can create live streams by composing VOD files into playlists to produce single live stream. The playlist is a JSON file with a simple grammar which allows setting streaming scenarios of various complexity. You can read full tech spec to get familiar with the feature and take a look at an example of generating NDI stream from local files. We'll keep adding more example of this feature usage.
  2. Conditional transcoding was added into Live Transcoder to enable transcoding pipelines based on incoming stream's resolution. You can set a condition based on height and/or width thus avoid unnecessary waste of your server resources. This is especially useful for creating ABR live streams.
  3. Nimble Streamer is now available on ARM64 platform. Take a look at this tab on installation page to see instructions for Raspbian and Ubuntu 20.04 for ARM64.

SLDP HTML5 Player SDK now has "self-serve": you can subscribe for it, define a list of domains to map and generate your own SDK package within less than a minute.

Our mobile team keeps improving our mobile products:

  1. Larix Broadcaster and respective SDKs were updated this quarter, take a look at a list of mobile SDK releases.
  2. We see Larix being actively used in large scale deployments so we made Best practices for Larix Broadcaster production deployment article to share the experience of our team and our customers. Feel free to use it and share with fellow live streamers out there. Russian version is also available per request of our users. Feel free to translate this material to other languages (this proper link to our original).
  3. Speaking of docs, Callaba Cloud released a video about setting up SRT stream via Larix Broadcaster to Vmix and Larix Talkback, that's an awesome use case.


That's all for now. Follow us via social networks to get our updates as they appear.

September 23, 2021

Conditional transcoding for ABR

Nimble Streamer Live Transcoder allows building transcoding pipelines of various complexity however it used to provide only straight-forward scenarios regardless of incoming stream parameters.

With conditional transcoding you can implement more complex scenarios based on the resolution of incoming stream. You may define the following conditions for decoder element:

  • width of the original stream;
  • height of the original stream;
  • comparison operators <, <=, =, >= or >;
If the defined condition is not met, the decoding will not start and its respective pipeline will not start.

The most popular use cases of such conditioning are:
  • situational up-scaling: if you have a scenario to transcode 4K input to 1080p and your input stream from your source happen to go down to 720p, this will prevent wasting your resources to create unnecessary high resolution.
  • set maximum output resolution, so whatever is published by your streamers, you produce a ladder limited from above.
All use cases fit perfectly with live ABR feature set of Nimble Streamer. It allows defining ABR streams with any number of streams and the output will provide any streams that are available at any given moment. So if some stream is not generated due to conditional transcoder, the output adaptive stream will still be available for playback with lower resolutions.

Here's how you can set up conditional transcoding.

We assume you're already familiar with Live Transcoder, you already have an active Transcoder license and you have it installed and registered

We'll create a scenario which allows down-scaling any incoming stream to 720p if the input video has larger frame size, then do the same for 480p resolution and create 360p regardless of the input. The audio will be passed through for all inputs.

Create a new scenario and drag and drop a new Video source element there.
Then Click on Filter settings to see fields with conditions:


As you can see from the screenshot, this decoder will be initiated if the height of original stream is greater. Then we put Scale filter and Video output element to downscale video to 720p into respective pipeline as shown below.



As a result, you'll get 720p only if the source stream is greater than 720p. If the original stream is 720p then you'll be able to use it in our ABR output as is, we'll show it below.

Now let's add 480p transcoding pipeline.



This Video source has condition of height>480. You'll get 480p only if the source stream is greater than 480p. This will cover extreme cases when the source drops the resolution for some reason.

The remaining 360 pipeline can be implemented without any conditions as we assume the resolution should not drop below 480p in vast majority of cases. Full transcoding scenario will look like this.




Now, having these conditional pipelines, you can proceed with creating output ABR stream.
  1. Go to Nimble Streamer top menu and click on Live Streams.
  2. On the next streams page you need to find your current transcoding server and click on the number in ABR column.
  3. You'll be brought to ABR streams page, there you need to click on Add ABR setting.
  4. You'll see a dialog which you need to fill as shown below.


Here you see an original stream as well as all 4 down-scaled sub-streams. If any of the sub-streams becomes un-available available, Nimble will still generate the correct playlist with active streams so your player will be able to choose between available resolutions.

You can find more details about setup and ABR streams' usage in this ABR setup article.


Overall, conditional transcoding can serve many purposes so feel free to experiment with it as much as you need. Let us know of your use cases which utilize this feature.

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

Related documentation


September 9, 2021

Nimble Streamer is Readers' Choice Awards 2021 finalist

Softvelum team is excited to be among the finalists of 2021 Streaming Media European Readers' Choice Awards in Hardware/software Server category with our Nimble Streamer media server.

We've been the finalist in 2016 Reader's Choice Awards as Best Innovation, and now we're here again as the best server, that's very exciting.

Huge thanks to all of our customers and partners who voted for us!