September 21, 2017

Two-factor authentication in WMSPanel

Softvelum team is continuously improving the security and reliability of our products. As one of the steps, we now add two-factor authentication for accessing WMSPanel. Two-factor authentication (also known as 2FA) is a method of confirming a user's claimed identity by utilizing a combination of two different components.

In case of WMSPanel this means using user/password pair and then generate access code using your mobile device. So when you log into your account, you'll need to enter login information and then use your Android or iOS device to create 6-digit code and provide it to WMSPanel.

Here's how you can use this new security measure.

September 8, 2017

ABR live streaming setup

Nimble Streamer has wide Live streaming feature set which includes receiving streams via various protocols and generating output streams. Each stream can be transported via several protocols simultaneously, like HLS, MPEG-DASH, RTMP, SLDP, SRT etc.

Some protocols - HLS, MPEG-DASH and SLDP - support adaptive bitrate streaming (ABR) which allows a player to switch between streams with different bandwidth in case if networks conditions change over time. WMSPanel control web-service allows setting ABR for those protocols at Nimble Streamer using both pre-defined set of streams and wildcard pattern. Let's see how this can be done in our web UI.

Prepare streams 

Adaptive-bitrate stream is formed from a number of single-bitrate streams. Which means that you need to have at least two of those single-bitrate streams in order to make ABR.

Nimble supports a variety of protocols and they all have their outgoing streams setup specifics. E.g. if you use RTMP or RTSP, once you get incoming stream, you will get outgoing streams of the same name. For MPEG-TS, SRT and UDT, you need to define the outgoing streams directly as one channel may contain multiple streams. Check respective articles for setup details of outgoing streams.

Also notice that you can use Live Transcoder to create different resolution and bitrate streams from a single stream.

Once you have some streams to make ABR from, you can proceed with setup.

Go to Nimble Streamer -> Live Streams menu to open the list of servers.

There you need to look for the server you'd like to add new ABR stream for. Now either click on respective number of streams in "ABR streams" column or click on server name and chooso Adaptive stream on the opened page - those actions open the same page shown below.

At this page you can click on Add ABR setting to open the setting dialog for a new ABR stream. Both pre-defined and wildcard ABR are created in the same dialog.

Create ABR with pre-defined streams

In this picture you see typical ABR stream being set up.

New ABR setting dialog for predefined streams

ABR application name and ABR stream name fields allow setting the names which will later be used for playback URL - see the last section.

Source application name and Source stream name fields allow specifying which existing streams need to be used as part of ABR. As you type the name you will get suggestions from available streams. Bandwidth value will be used in a playlist by your player. If you select Audio only for a stream, it will not stream video, only audio part.

Advanced settings will open a drop-down list which will allow defining the sorting option for the streams in the result playlist.

You can see the list of servers in the bottom of the dialog which you can select. Current ABR setting will apply to those servers which you select by the check boxes

After clicking on Save button your settings to be synced with each selected servers within a few seconds.

Create wildcard ABR

Wildcard ABR is done in a similar way, the fields are the same. The difference is in streams' names.

Leave the stream name blank in ABR stream name field and use {STREAM} placeholder in Source stream name fields. This will allow getting any single-bitrate stream directly by its name.

For example, if you have source streams live/sport_720, live/sport_480 etc. you can access ABR as
with respective single-bitrate chunklists as
etc. They will be used by your player for playback.

Please notice that only 1 wildcard ABR setting can be created for 1 application. If you happen to create several ones, only one setting will be used.


Once the ABR streams are defined you will see them in the list.

Clicking on "?" icon (a question mark) will show a playback dialog where you'll be able to get the stream URL and test the stream in most popular players. You'll also be able to get sample code for those players for further embedding (with your own player licenses if needed).

The player will use full list of available bandwidths to show to the user.

Graceful adaptive bitrate

When the player starts the playback from ABR playlist it may select the stream which is most preferred for your current bandwidth. When the network capability changes, new chunks are started to pick up from the proper sub-playlist. The main playlist is continuously requested again to make sure it has latest changes.

During the playback, the RTMP streams' source may loose some of its incoming streams due to many reasons. A camera may shut down, a failure may appear within the encoder itself or some network may be unavailable for transmission. So one or more incoming streams may become unavailable for ABR streaming.

Nimble Streamer provides graceful handling of cases like that. When respective RTMP stream goes down, it is excluded from outgoing streams list, thus it's excluded from the ABR playlist. So when new player gets playlist the broken stream will not be there.

This behavior means that an end-user will have good user experience with no playback interruption.

When a broken stream gets back online, a player receives its description and starts using it in its workflow.

That's it - you can use this approach to create streams for any supported protocols.

Related documentation

Nimble Streamer, Live streaming feature set, Live Transcoder, ABR control API,

September 3, 2017

Before you post a question to helpdesk

Please notice that we've posted a new page describing common things which need to be checked before posting questions for our team:

Before you post a question to helpdesk

This is an addition to our Terms of service.

You have to follow the described steps before posting any issue reports to our team. If you have any questions regarding this guide, contact us.

August 28, 2017

Splash image, MP3 and other settings of SLDP HTML5 player

Our company keeps improving HTML5 player for our low latency protocol - SLDP. You can find protocol overview in this page and some basic setup and usage described in this article.

We've got some updates for you that might be interesting.

Splash image

You can now define the splash screen image which is shown before a user initiates the playback.
It's defined by splash_screen parameters.

MP3 support

We've added MP3 audio codec support for Safari and Firefox. Check also audio-related features of Nimble Streamer in addition.

Multiple instances

SLDP player may now be used in multiple instances on the same web page.
You use container parameter for each instance to specify proper element to show the player in.

Disabling ABR

By default, if your initial stream has multiple channels (e.g. renditions), they will be shown in the list of channels in ABR settings.
However you can lock specific player on a specific rendition using adaptive_bitrate parameter. It's "true" by default. You can set it to "false" to lock the rendition, in his case the initial_resolution parameter will be used to determine the default stream, and if it's absent then the lowest resolution will be taken.

You can see these and other parameters of our HTML5 player on this player page.

Take a look at the answers for frequent questions to improve your SLDP usage and visit SLDP website and contact us in case of any questions.

Related documentation

SLDP low latency streaming, SLDP Player, Live Streaming via Nimble Streamer, Live Transcoder for Nimble Streamer,

August 21, 2017

Review: Softvelum Nimble Streamer Is Flexible and Well-Featured

Recently Jan Ozer, a leading expert on H.264 encoding for live and on-demand production, and a contributing editor to Streaming Media Magazine, has published a full review our Live Transcoder:

Review: Softvelum Nimble Streamer Is Flexible and Well-Featured
The overall impression is very good although he found some things to improve in our products.

We'd like to thank Jan for sharing his opinion, it gives us a great feedback and inspiration.

Feel free to share your thoughts in your own blogs, we appreciate any feedback from our users.

August 20, 2017

Streaming Media Readers' Choice Awards 2017

The Streaming Media Readers' Choice Awards 2017 voting has been started to get industry opinions on the best solutions on the market.

Our company is presented in 2 nominations and we hope to get your votes. Here's a brief instruction how to proceed.

1. Find and vote

Go to voting page here, enter your name and contacts to see the full list of nominees.

Find Softvelum products in the following nominations:

1. Encoding Software: Nimble Live Transcoder.
Jan Ozer has a comment in his latest article called Review: Softvelum Nimble Streamer Is Flexible and Well-Featured: "The product, which has been nominated for a Streaming Media Europe Readers’ Choice Award, seems like a real winner to me.

2. Media Server: Nimble Streamer.
Well-known media server, the finalist for Best Innovation category in European Reader's Choice Awards of 2016, is now nominated again with more useful features and latest technologies on board.

We hope you enjoy our products and will choose them in the list.

2. Confirm your vote

You'll receive an email asking you to confirm your vote (to prevent automated ballot-box stuffing). Be sure to confirm, or your vote won't count.

Voting closes September 25.

Winners will be announced November 3 at Streaming Media West.

Thanks for being our loyal customers, looking forward to getting your votes.

August 14, 2017

Setting UDT in Nimble Streamer

UDP-based Data Transfer Protocol (UDT) is a high-performance data transfer protocol designed for transferring large amounts of data over high-speed wide area networks.

UDT is designed for extremely high speed networks and it has been used to support global data transfer of terabyte sized data sets. Concurrent UDT flows can share the available bandwidth fairly, while UDT also leaves enough bandwidth for TCP.

Nimble Streamer has full support for UDT:
  • Both Push and Listen delivery modes are supported.
  • Both Listen and Pull receive modes can be used to get UDT streams for further processing.
  • Rendezvous mode for sending and receiving is supported.
  • Multiple streams can be sent via single UDT channel.
  • Mux rate can be set correctly - Nimble Streamer has 100% PCR accuracy, 0ns PCR drift and PCR interval <20 ms according to StreamGuru. This is typically used for precise testing of channel throughput.
Using Nimble Streamer transmuxing engine, you may create any supported live protocol output from UDT and receive any of them to create UDT.

Let's see how UDT can be enabled and used in Nimble Streamer.

August 8, 2017

Use SLDP player latency tolerance against environment glitches

Our company keeps improving new real-time low latency protocol called SLDP. It provides quick start and sub-second delay for live streaming delivery. You can find protocol overview in this page and some basic setup and usage described in this article.

One of the features of SLDP is an ability to keep up with live stream without delays regardless of environment glitches. Let's take a look at this capability more closely.

August 4, 2017

Using offset to decrease start time in SLDP player

Recently we introduced new real-time low latency protocol called SLDP. It provides sub-second delay for live streaming delivery for the cases when it's truly important. Some basic usage of SLDP protocol is described in this article.

One of the key features of SLDP is a quick start of a stream on a client side. Typically the best way to reduce start time is to set GOP size to 1 second or less. This can be done with any transcoder, e.g. Nimble Live Transcoder. This will increase bandwidth however so you need to reach some balance between start time and traffic consumption.

So if you cannot make that GOP size reduction, SLDP has an offset player parameter which allows affecting the start-up behavior. The following description shows how you can use it for your use cases.

Typically, a playback starts with a key frame of each GOP (group of pictures) as the player cannot start decoding and processing without the key frame information. This means a delay between the start of connection and the start of the playback and it may be several seconds, depending on the encoding settings - all this time a viewer will see a black screen waiting for a picture. This is what needs to be avoided, let's see how this can be avoided.

July 27, 2017

VP8 and VP9 support in SLDP HTML5 player

Our customers keep adding our new real-time low latency protocol SLDP into their streaming workflows as it allows sub-second delay for live streaming delivery. Some basic usage of SLDP protocol is described in this article which describes typical usage scenarios.

People ask us about adding new capabilities into SLDP technology. One of them is adding VP8 and VP9 codecs - those are open and royalty free video coding formats developed by Google. Nimble Streamer Live Transcoder now supports these protocols transcoding in addition to already supported VP8/VP9 transmuxing feature set.

SLDP is codec-agnostic protocol so in order to have full support for VP8/VP9 from source to the viewer,  we only needed to add it into our HTML5 player.

So today we'd like to announce that VP8 and VP9 support was added into SLDP HTML5 web player. This type of playback fully depends on platform support, so it can be currently played in Chrome, Firefox and Opera and possibly in Microsoft browsers over time.

You can use SLDP for streaming in various bitrate modes. First you can stream single-bitrate VP8/VP9 if you know your target audience can play it.

Another option is to create ABR group to include streams encoded with both H.264 and VP8/VP9. In this case our SLDP HTML5 player will choose stream with H.264 codec if target browser or platform doesn't support VP8/VP9 playback. That would give you capabilities for flexible delivery of your content to multiple platforms.

We'll be adding other codecs support per our customers' requests so please contact us to get help or suggest new features.

July 24, 2017

Publishing stream to Periscope

RTMP republishing is widely used by Nimble Streamer users to deliver live streams to various types of destinations, including other media servers, CDNs, YouTube or Twitch.

Periscope live streaming platform also takes RTMP streams as input so our customers use that as a target too. As Periscope requires some additional stream setup, we've created a dialog in our UI to cover that use case.

As a source for your stream you can use any delivery method supported by Nimble Streamer.

Once the input stream is taken by Nimble, you can perform a setup for publishing it to Periscope.

July 18, 2017

Transcoding VP8 and VP9 in Nimble Streamer

VP8 and VP9 are open and royalty free video coding formats developed by Google. Nimble Streamer Live Transcoder now supports these protocols transcoding in addition to already supported VP8/VP9 transmuxing feature set.

Live Transcoder allows performing both decoding and encoding.

To receive VP8 and VP9 for transcoding, Nimble Streamer allows processing RTSP from published and pulled sources. The result stream can be delivered using RTSP protocol as well.

July 7, 2017

Vote for Softvelum

The Streaming Media European Readers' Choice Awards 2017 voting has been started to get industry opinions on the best solutions on the market. Last year we were selected as the finalist for best streaming innovation for Nimble Streamer. Let's see what we get this year.

Our company is presented in 4 nominations and we hope to get your votes. Here's a brief instruction how to proceed.

1. Find and vote

Go to voting page here, enter your name and contacts to see the full list of nominees.

Find Softvelum products in the following nominations:

  1. Best Streaming Innovation: Nimble Live Transcoder
  2. Mobile Video App or Solution: Larix Broadcaster
  3. Server Hardware/Software: Nimble Streamer
  4. Transcoding Solution: Nimble Live Transcoder

We hope you enjoy our products and will choose them in the list.

2. Confirm your vote

Voting closes on August 1st, and at that point, all voters will receive an email asking them to to confirm their votes; only these confirmed votes will be counted.

The finalists will be announced on 15 August, and the winners will be announced in the Autumn issue of the European edition of Streaming Media magazine.

Thanks for being our loyal customers, looking forward to getting your votes.

July 6, 2017

Setting SRT in Nimble Streamer

Secure Reliable Transport (SRT) is a transport technology that optimizes streaming performance across unpredictable networks. It's applied to contribution and distribution endpoints as part of a video stream workflow to deliver the best quality and lowest latency video at all times.

As audio/video packets are streamed from a source to a destination device, SRT detects and adapts to the real-time network conditions between the two endpoints. SRT helps compensate for jitter and bandwidth fluctuations due to congestion over noisy networks, such as the Internet. Its error recovery mechanism minimizes the packet loss typical of Internet connections. AES 128/256 bit encryption is also supported for end-to-end security, keeping your streams safe from prying eyes.

Our company, Softvelum LLC, became a member of SRT Alliance which is a group dedicated to managing and supporting the open source implementation of SRT. This alliance is accelerating interoperability of video streaming solutions and fostering collaboration with industry leaders to achieve lower latency Internet video transport. Softvelum is actively contributing to the community to improve the protocol and its ecosystem.

Nimble Streamer has full support for SRT:
  • Both Push and Listen delivery modes are supported.
  • Both Listen and Pull receive modes can be used to get SRT streams for further processing.
  • Rendezvous mode for sending and receiving is supported.
  • Custom "latency" parameter is supported for fine tuning.
  • Multiple streams can be sent via single SRT channel.
  • Mux rate can be set correctly - Nimble Streamer has 100% PCR accuracy, 0ns PCR drift and PCR interval <20 ms according to StreamGuru. This is typically used for precise testing of channel throughput.
  • AES 128 bit encryption provides stream security.

Using Nimble Streamer transmuxing engine, you may create any supported live protocol output from SRT, as well as receive any of them  to create SRT.

Let's see how SRT can be enabled and used in Nimble Streamer.

July 2, 2017

2017Q2 news

Second quarter of 2017 is over so it's time to see what our company has been doing. As you can see below, we've released some new products that might be interesting for you.

Before getting to the updates, here are a couple of announcements you'd like you to take a look at.

First, check our team's opinion on the business competition in our industry. It's an answer to a frequently asked questions so please read it and make your own opinion.

If you plan attending IBC 2017, keep in mind that our team representatives will be visiting the trade show. So if you'd like to meet us, just drop us a note.

As always, take a look at The State of Streaming Protocols for 2017Q2. You'll see a couple of interesting points there.

Also, if you find our products useful, please find some time to vote for Softvelum solutions in European Readers' Choice Awards 2017.


Softvelum Low Delay Protocol is a new technology for reducing the latency for last-mile delivery for end-users. It's based on WebSockets for better accessibility. The core features are
  • Sub-second delay between origin and player.
  • Codec-agnostic
  • ABR support
  • HTTP and HTTPS on top of TCP
  • Buffer offset support

Take a look at SLDP usage description and also most frequent questions that show the protocol best practices.
In addition to low latency, SLDP provides great level of live streams protection, read this article for more details.

Server side is support is available in Nimble Streamer while client side is covered by SLDP PlayersWeb player is working in any MSE-enabled web browsers on desktop and connected devices. Android native player is coming soon, while iOS player and SDK are already available and is described below.

Mobile solutions

We've released playback SDK for iOS. You can use RTMP and SLDP playback in your iOS apps. Use this page to subscribe for obtain SDK and get upcoming updates.

SLDP Player sample app is also available in AppStore, you can use it for playing any RTMP and SLDP links. Its sources are also available in iOS SDK.

Larix streaming SDK also has several updates.

First, take a look at mobile SDK FAQ to see answers you might be looking for. It's being updated so if you miss anything - just let us know. 

Limelight has released a how-to about using Larix Broadcaster with its delivery network.

Android and iOS streaming SDKs have several important updates.

iOS got the following

  • Bluetooth support
  • publish fixed. It requires max bitrate as 2000 Kbps according to service requirements.
  • Connectivity improvements
Android has the same set of updates and features.

You can check all releases' description in these release notes and proceed with subscription here.

Nimble Streamer and Transcoder

Before exposing big updates, here's a feature you were waiting for: HLS input for processing. So now you can pull HLS stream to transmux it to other protocols like RTMP or even use it for further transcoding.

Here are a few big updates.

HEVC transcoding is now available in Live Trasncoder in addition to HEVC transmuxing.

  • You can decode HEVC using NVENC and QuickSync as well as software decoder.
  • Encoding can be done with NVENC and QuickSync.

Read more about NVENC encoding and QuickSync encoder parameters. Also, QuickSync setup description was updated with Media Server Studio 2017.

Speaking of new codecs, Live Transcoder now can encode audio to MP3. So now it's possible to transcode your live audio from AAC, MP3, Speex, PCM and MP2 into MP3.

Read more about codecs support in Nimble Streamer and its Live Transcoder

Other major update for transcoder is streams' hot swap with Live Transcoder. It now allows using the following opposite scenarios:

  • Streams failover hot swap where main stream is backed up by secondary stream in case of publication fail.
  • Emergency swap where main stream is replaced with some replacement stream when it becomes available. This is used in cases like US Emergency Alert System (EAS).

The streams are swapped without streams interruption so user playback will not be affected.

Last but not least: we've added new capabilities to give granulated control to end-users. We've separated control features and you can give access to particular capability. Read this article for details.

Stay tuned for more features - follow us at FacebookTwitter or Google+ to get latest news and updates of our products and services.

June 30, 2017

The State of Streaming Protocols - 2017 Q2

Softvelum team which operates WMSPanel reporting service continues analyzing the state of streaming protocols.

Second quarter of 2017 has passed so let's take a look at stats. The media servers connected to WMSPanel processed more than 8.6 billion connections from 3400+ media servers (operated by Nimble Streamer and Wowza) during past 3 months.

First, let's take a look at the chart and numbers:
The State of Streaming Protocols - 2017 Q2

You can compare that to the picture of 2017 Q1 protocols landscape:

The State of Streaming Protocols - 2017 Q1

In the 1st quarter of 2017 it had being collected from 3300+ servers.

What can we see?
  • HLS went down to 60%. 
  • RTMP increased its share again, it's nearly 16%. 
  • Progressive download also went up to 8%. 
  • MPEG-DASH is currently 5% which is twice bigger than last quarter. 
So despite of wide use of progressive download and MPEG-DASH for VOD content, people still need low latency, this is the main cause for introducing SLDP by our team. It's a low latency protocol which our customers use for latency-critical cases like chatting, security or bidding, they also appreciate the built-in security features. This is why you see several thousands of viewers already consuming the live content via SLDP.

You can also check December summary of steaming protocols to compare with numbers from last year.

We'll keep analyzing protocols to see the dynamics. Check our updates at Facebook, Twitter or Google+.

June 21, 2017

FAQ: SLDP tips and troubleshooting

Our new real-time low latency SLDP protocol is expanding among our customers so we get more questions regarding its usage.

Some basic usage of SLDP protocol is described in this article. It describes typical usage scenarios, however there are always some things to improve your use cases and give better user experience. The following frequently asked questions help improving that.

June 15, 2017

SLDP Player: iOS SDK for RTMP and SLDP playback

Our company is continuously improving its mobile solutions. They already include SDKs for streaming from mobile devices via RTMP and RTSP along with corresponding Larix Broadcaster and Larix Screencaster free apps.

Our customers are also interested in adding playback capabilities into heir applications. So today we introduce SLDP Player SDK for iOS.

It allows playing streams as follows:

  • RTMP is a commonly used protocol for live streaming to end-users devices so now you can use it in your apps.
  • SLDP is the low latency real-time streaming protocol. This protocol allows delivery of media with sub-second latency at the end-users' devices. Now you can add playback capabilities for having low delay streaming to your users' iOS devices.
  • H.264 video and AAC audio media types are supported as in iOS platform itself.
You can try it in action using SLDP Player free application.

Visit our website to subscribe to our mobile SDKs.

We'll soon release Android version SLDP Player, so stay tuned for updates.

Related documentation

June 12, 2017

SLDP proprietary streaming protection

Our company has released SLDP - the low latency real-time streaming protocol. It allows delivery of media with sub-second latency at the end-users' devices.

SLDP is a proprietary solution created with security in mind to make sure your content is delivered efficiently and safe.

SLDP has its own data transfer algorithm so media server and a player both control data transmission and their algorithms are not visible to the outside observer. This is why it's not covered by any modern stream grabbers. So your stream is not intercepted by anyone but played well in the player.
If it's grabbed by any software, our team will modify both parts of delivery mechanism - server and player - to cover these new circumstances.

Learn more about SLDP

One more option on top of that is to use SSL connection for transfer. This will prevent your stream's data from sniffing. Nimble Streamer allows enabling SSL for outgoing connections, this will cover SLDP as well. Your URL for our players will have wss:// prefix instead of ws:// in this case.

And of course, you may apply any feature from our paywall feature set which includes hotlink protection, geo-location and IP range block, pay-per-view framework and some other capabilities. Visit our paywall page to see all capabilities.
Bottom line: use SLDP to securely transfer your live streams.
Your media will be delivered with high security and low latency.

You can try SLDP in action any time by installing Nimble Steamer. Feel free to contact us for any questions.

Take a look at the answers for frequent questions to improve your SLDP usage.

Related documentation

SLDP low latency streamingPaywall feature set, Live Streaming via Nimble Streamer,

June 10, 2017

FAQ: Larix mobile broadcasting SDK

As long as we provide mobile broadcasting SDK, we get a number of typical questions regarding its capabilities and use cases. Let's take a look at most frequent ones and have them answered.

June 7, 2017

HEVC support in Nimble Streamer Transcoder

HEVC (H.265) is a high-efficiency codec, best fit for high resolution video like HD, 4K and 8K streaming. Nimble Streamer Live Transcoder now supports HEVC transcoding in addition to already supported transmuxing feature set.

Live Transcoder allows performing both decoding and encoding of HEVC.

To receive HEVC for transcoding, Nimble Streamer allows processing 
  • RTSP from published and pulled sources;
  • MPEG-TS via both UDP and HTTP. 
The result stream can be delivered using


The following methods are currently supported for decoding HEVC content for further transformation:


Currently the encoding is performed only via hardware acceleration by Quick Sync and NVENC.

Easy control

Live Transcoder has easy to use Web UI which provides drag-n-drop workflow editor to apply transcoding scenarios across various servers in a few clicks.
With FFmpeg filters you can transform content in various ways, e.g. change the video resize, make graphic overlays, picture-in-picture, key frames alignments, audio re-sampling etc.

Feel free to visit Live Transcoder webpage for other transcoding features description and contact us if you have any question.

Related documentation

Live Transcoder for Nimble Streamer, Audio streaming features, Build streaming infrastructure, Transcoder web UI preview, Live Streaming features, Build streaming infrastructure,

Intel Quick Sync H.265 encoder parameters in Live Transcoder

Intel® Quick Sync technology provides efficient encoding capabilities. It allows using hardware acceleration for video decoding and encoding using Intel® processors feature set and software encoding in all other cases.

Nimble Streamer Transcoder allows using Intel® Quick Sync as an HEVC video decoder and encoder in transcoding scenarios.

Let's take a look at encoder settings available at the moment. They are very similar to those described in this article.

NVidia NVENC settings for H.265 in Live Transcoder

NVidia® Products with the Kepler, Maxwell and Pascal generation GPUs contain a dedicated accelerator for video encoding, called NVENC, on the GPU die.

Nimble Streamer Live Transcoder has full support for NVidia video encoding and decoding hardware acceleration. Having the hardware capable of the processing and drivers properly installed, our customer can choose NVENC to handle streams' encoding.

HEVC (H.265) codec is supported by multiple NVidia GPUs so now it's also supported in our Live Transcoder. You can use Transcoder to decode and encode H.265 on your hardware under both Linux and Windows.

You can take a look at the list of NVidia GPUs capable of hardware encoding acceleration. To make HW acceleration work, you need to install the graphic card drivers into the system. Use this link to download and install them. If you haven't yet installed Nimble Streamer transcoder, use this page to find proper setup instruction.

Notice that NVENC has a couple of known issues, please check Troubleshooting section below in this article.

Setting encoder

The transcoding scenarios are created using our web UI. You can check this YouTube playlist to see how various use cases are defined. Takes just a couple of minutes to complete.

May 30, 2017

Using SLDP with Nimble Streamer

Recently we introduced new real-time low latency protocol called SLDP. It allows sub-second delay for live streaming delivery for the cases when it's truly important.

From the setup perspective it's just another output protocol from the list of supported once which you can see on our live streaming digest page.
However, let's see how it can be added to your streaming scenarios based on Nimble Streamer, step-by-step.

Nimble Streamer upgrade

SLDP works on any latest Nimble Streamer version. So you can either install it or upgrade - the least version you should consider is SLDP is not working in earlier versions.

Operating SLDP

Enabling protocol

From the control perspective, SLDP is just another output protocol which needs to be enabled either for entire server or for specific application.

Notice that if you use published RTMP or announced RTSP as a source, you will need to re-publish the stream after enabling the protocol. Any newly applied protocol is enabled only when on the stream's start.

Click on Nimble Streamer -> Live Streams Settings menu. You will see Global tab for server-wise settings.

Click on Softvelum Low Delay and save settings to enable SLDP output.

You can also click on Applications tab to see list of available applications with their specific settings.

Click on edit icon to see app details dialog.

Check Softvelum Low Delay and save settings to enable it for this application.

As we noticed earlier, you need to re-publish the stream after enabling the protocol if it uses a publishing source.

Setting ABR

SLDP supports adaptive bitrate and it needs to be set up before any usage. It is done the same way as for HLS and MPEG-DASH. Read this article to see all the details.

Setting paywall

Nimble Streamer Paywall feature set supports SLDP just as all other protocols. So if you apply geo-location block to some application, its SLDP streams will be blocked properly, the same is valid for other blocking features.

If you create hotlink protection rule, you will need to select SLDP to protect it from re-streaming.


SLDP is available for playback in our players. As example, Nimble Streamer allows playback via direct link which you can insert into your HTML5 player code.
The link will be similar to other URLs: if you have http://server/app/stream/playlist.m3u8 stream then your SLDP stream URL will be ws://server/app/stream

To see sample a URL, click on Nimble Streamer -> Live Streams menu, select the required server and then click on Outgoing streams area to see all produced streams.

Then click on question mark to see Sample URL for Player dialog.

It will include full URL of stream and also a sample code for HTML5 SLDP player.

You can also play it in iOS applications built with SLDP Player SDK.

ABR streaming

SLDP supports adaptive bitrate streaming, so both Nimble Streamer and our web player has full support for ABR.
ABR setup is described in this article so follow its instructions to create proper streams.

Using SSL connection

SLDP can be secured with SSL and it's set up the same way as other HTTP protocols which Nimble Streamer supports. Read this article for all details regarding the setup.

The output URL for SSL connection will start with wss:// prefix, e.g. wss://server/app/stream.


Take a look at the answers for frequent questions to improve your SLDP usage.

Please visit SLDP website and contact us in case of any questions .

Related documentation

May 23, 2017

Introducing SLDP

Low latency has been a trending issue during past years as Flash and RTMP are being deprecated by the industry. So media streaming companies are trying different options to handle real-time video and audio delivery. Our company are getting requests about providing the solution which might address this concern.

We introduce SLDP: Softvelum Low Delay Protocol.

It's a last-mile delivery protocol to end-user devices at multiple platforms. SLDP is based on WebSockets.

It's basic capabilities are:
  • Sub-second delay between origin and player.
  • Codec-agnostic to play whatever your end-user platform has - H.264, VP9, HEVC.
  • ABR support with switching channels taking just a GOP time and each channel may use its own codec.
  • HTTP and HTTPS on top of TCP: use it with any network settings.
SLDP HTML5 playback is available in MSE browsers via light-weight JavaScript player. It works fine in Chrome, Firefox, Safari, Chromium and Microsoft Edge on the hardware platforms which have that support, like PC, Mac or Android.

The mobile SDKs is available for iOS with Android SDK coming soon.

As for server side, at the moment SLDP transmission is available Nimble Streamer. It's just another protocol output supported by our server. Any supported live protocols can be used as an input.

Feel free to try it in action right now by installing or upgrading your Nimble instance and selecting SLDP in live streams settings besides existing methods.

Please visit SLDP website and contact us in case of any questions as we're moving on with SLDP so your feedback is appreciated.

Related documentation

May 5, 2017

FAQ: Why are you better than your competitors?

Our trial users often ask us similar questions like "How are your solutions better than competitors' products? What are your benefits and advantages over products X, Y or Z? Why should I choose you instead of competitors?"

So basically the question is "Why do you think you are better than your competitors?"

The short answer is simple: You tell us why.

OK, let us give you more detailed answer.

Your project needs tools for media streaming, such as a media server, or a transcoder, or a mobile broadcasting solution. So you make a list of your own requirements and your perfect solution must comply with them.

The next step for you is to make a list of solutions you'd like to try before making your choice. Each product category has several candidates these days but the list will not be huge anyway.

Now the real work starts. You should install and try every candidate solution you find proper. Yes, install it, set it up and run your own test use cases and scenarios.
You should take a look at these areas of expertise:

  • Feature set. This is what you're actually looking for the most. All solutions on the market have ~80% of their functionality be the same. Some solutions are unique in their own area of expertise - and that 20% difference might be something needed for your project. And of course you need to check every feature you want to use, don't trust marketing materials.
  • Cost of ownership. Both CAPEX and OPEX should be considered, including license cost, hardware cost, consultants pricing etc. You must know your total expenses and revenues better than anyone, so use simple math instead of salesforce to help you.
  • Support and documentation. You should carefully check how each company support team handles your requests. You may need their help in future so need to be sure they will help accurately and on time. You don't want that documentation to be outdated and you expect it to help, not to confuse. Ask questions to support team in case if docs cannot clarify some points. 
  • Legal questions. Make sure the selected products have appropriate license agreements for used patents and technologies. Like we have. You don't want to find yourself in the middle of a lawsuit for patent infringements.

All these points matter, so you should carefully check them.

If you ask anyone about their solutions instead of trying yourself, you will probably be told lots of good things but no one's advice can compare with your own experience.

Trust your conclusions, don't listen to anyone, make your own decisions and decide what's best for you.

Another important point is that you should not rely on a single solution or tool set, you need to be familiar with several solutions. You can use them as soon as your requirements change or if any current solution becomes compromised or its support becomes discontinued.

Hopefully we answered your initial question.

If you still have something to ask, just contact us.

May 3, 2017

Encoding to MP3 with Nimble Streamer LIve Transcoder

MP3 audio format is widely used besides AAC. In April of 2017, the last patent related to MP3 expired. So it can now be used with no royalties or other limitations as part of audio processing and transmission scenarios.

Our Live Transcoder now allows taking various audio formats as input, such as

  • AAC
  • MP3
  • MP2
  • Speex
  • PCM G.711 (a-law and μ-law)

The output audio formats now are

  • AAC
  • MP3

So you can now easily transcode AAC to MP3. You can also apply various audio filters like re-sampling, transrating or audio channels manipulations.

This can be used as part of Nimble Streamer audio streaming capabilities.

Let's take a look at a simple scenario which takes incoming video+audio stream and transcodes audio into MP3, regardless of its original audio format.

Pulling HLS streams to process

Nimble Streamer has a transmuxing engine which allows taking any stream of any transport protocol in and generate streams in all available protocols as well. You can check our Live Streaming feature set to see full list.
Usually our customers use RTMP, RTSP or MPEG-TS to deliver streams to media server and create outgoing streams that can be consumed by end-users. However, there are cases when only HLS streams are available as a source. So now Nimble Streamer also supports HLS as an input.

The setup is similar to MPEG-TS input setup and uses the same approach of input and output streams. Let's see how you can set this up.

April 9, 2017

Streams failover hot swap via Live Transcoder

Nimble Streamer Live Transcoder now supports hot swap capabilities for live streaming scenarios.

This covers use cases when there is some original (primary) stream active all the time and a substitute (secondary) stream to replace it on some occasions. Those include cases like emergency stream activation and an opposite one like streams failover which is described below.

During stream failover, the substitute stream is always active and once the original stream goes down, the data from substitute stream is taken. Once the original stream is online again, it replaces the substitute stream back.

This feature requires making the swap smoothly from viewers point of view, which means a player must not stop the playback. Nimble Streamer covers this properly.

The setup is similar to emergency stream hot swap. with a few changes.

April 5, 2017

Emergency streams hot swap via Live Transcoder

Many of our customers requested us to support hot swap capabilities for live streaming scenarios.

This basically refers to use cases when there is some original (primary) stream active all the time, some substitute (secondary) stream to swap on some occasions, and either of the following actions needs to be done:

  • Emergency stream activation. The substitute stream is usually inactive but when it goes live, it must replace the original stream. Once the secondary stream becomes inactive, the original stream must be continued.
  • Failover stream. The substitute stream is active and once the original stream goes down, the data from substitute stream is taken. Once the original stream is back online, it replaces the substitute stream again.

Both cases require to make the swap smoothly from viewers point of view, which means a player must not stop the playback. Nimble Streamer handles both cases correctly. This article covers the first case.

Emergency stream hot swap is used for several cases, and the most notable example is the support of United States Emergency Alert System (EAS). It requires a broadcaster to replace any media with the content provided by EAS once it becomes available.

Let's take a look at the setup process of this capability.

March 31, 2017

2017Q1 news

First quarter of 2017 was full of updates for all major products of our company.

Before telling the news, we'd like to mention that our company CEO and CTO will be visiting 
NAB Show 2017 this April.
If you'd like to meet us and talk about our products, plans or anything around - just drop us a note so we could schedule proper time slot.

Also, check out the State of Streaming Protocols for Q1 of 2017 is available with MPEG-DASH going up.

Nimble Streamer

Our software media server and its transcoder got a number of important updates.

We've ported Nimble to IBM POWER8 architecture. It's a good addition to traditional x64 and ARM which were supported before.

Speaking of hardware, we ran an extensive testing of latest NVidia Tesla M60 graphic card in IBM Bluemix Cloud Platform to see how much it increases the performance of Live Transcoder for Nimble Streamer. We got excellent results, read this article for full details.

Live Transcoder now uses two more coding libraries in addition to already supported ones:

Video and audio can also be binded together in case they come from un-synced sources. Read this article for details. Those un-synced sources may be video and audio files - our transcoder is now capable of producing live streams from them. Same article describes how this can be done. You can also check our videos which illustrate this process.

CEA-708 subtitles forwarding is now available in Nimble Streamer for both transmuxing and transcoding.

Handling live streams timing errors compensation for DVR was added as well.

A couple of updates for our protocols processing engine:

  • RTSP can now be take over HTTP using VAPIX.
  • MPEG-TS processing was enhanced by adding mux rate. We've also added a brief troubleshooting section in the corresponding article to make sure our customers can overcome typical issues related to UDP delivery. Read this article for more details.

New WMSPanel statistics

ASN viewers count metric is now available in WMSPanel. It will be useful for those companies that want to build delivery networks with better latency and user experience.

Larix Mobile Broadcasting SDK

Mobile SDK have continuously been improved. You can find all latest versions' descriptions in SDK release notes.

Android and iOS

Both platforms had the following updates:

  • Multiple connections streaming. You can add several connections profiles and choose up to 3 connections for simultaneous streaming. You can stream to several destinations like your primary and secondary origin servers and also target it to some third-party service like YouTube Live or Twitch.
  • Limelight authentication is available. You can publish your streams directly into Limelight CDN for further delivery.
  • Streaming and user experience improvements.

Windows Phone

We've added various updates to Windows Phone application to make it up-to-date with the fixes on other platforms.

As always you can find the latest releases of Larix Broadcaster streaming app in AppStore, Google Play and Windows Store.

The next quarter will bring more features so stay tuned. Follow us at FacebookTwitter or Google+ to get latest news and updates of our products and services.

The State of Streaming Protocols - 2017 Q1

Softvelum team which operates WMSPanel reporting service continues analyzing the state of streaming protocols.

First quarter of 2017 has passed so let's take a look at stats. The media servers connected to WMSPanel processed more than 10 billion connections from 3300+ media servers (operated by Nimble Streamer and Wowza) during past 3 months.

First, let's take a look at the chart and numbers:

The State of Streaming Protocols - 2017 Q1

You can compare that to the picture of 2016 Q4 protocols landscape:

The State of Streaming Protocols - 2016 Q4

In the 4th quarter of 2016 it had being collected from 3200+ servers.

What can we see?

  • HLS is still stable at ~3/4 of all connections, its share is 70%.
  • RTMP is at the same level and even increased its share to 12%. Low latency streaming use case still need this protocol.
  • Progressive download is 3rd popular at 6%.
  • MPEG-DASH overcame HDS, Icecast and MPEG-TS going up by nearly 3 times by views count - it's now 5th popular protocol.
  • RTSP and Icecast kept their shares.

So MPEG-DASH is the only protocol which was visibly improving. You can also check December summary of steaming protocols.

We'll keep analyzing protocols to see the dynamics. Check our updates at FacebookTwitter or Google+.

March 15, 2017

VA API (libVA) support in Nimble Streamer

Video Acceleration API (VA API) is a royalty-free API along with its implementation as free and open-source library (libVA). This API provides access to hardware-accelerated video processing, using hardware such as graphics processing units (GPU) to accelerate video encoding and decoding by offloading processing from CPU.

Supported codecs are H.264 and VP8.

Nimble Streamer supports VAAPI and allows using libVA in Live Transcoder as one of the options for encoding among other libraries and SDKs.

Let's see how you can start using libVA in Nimble Streamer Live Transcoder.

March 7, 2017

Nimble Streamer on IBM Power8 platform

Nimble Streamer media server is being developed as a native application for all popular platforms. You can see this in the full list of supported OSes. It also supports basic architectures available at the majority of hosting providers.

Today we add support for a new platform, POWER8 by IBM, a family of symmetric multiprocessors. Both Nimble Streamer and Live Transcoder were ported so you can use full capabilities of our products on this platform, including live streaming, VOD, DVR and build delivery networks of any kind.

Check installation instructions for Ubuntu to proceed with deployment. Only Ubuntu 14.04 is currently supported at the moment.

Nimble Streamer can be potentially ported and embedded to any platform or OS, so feel free to contact us in case you have some special cases.

Related documentation

Nimble Streamer, Live Transcoder,

February 27, 2017

Stress-testing NVidia GPU with IBM

Recently we finished extensive testing of latest NVidia Tesla M60 graphic card in IBM Bluemix Cloud Platform to see how much it increases the performance of Live Transcoder for Nimble Streamer.

We got excellent results, please read this article for more details:

Stress-testing NVidia GPU for live Ttranscoding

February 16, 2017

FDK AAC encoder and decoder in Nimble Transcoder

Live Transcoder for Nimble Streamer has full support for AAC decoding and encoding, along with various audio filters like re-sampling, transrating or audio channels manipulations.

Now we add FDK AAC support for both decoding and encoding. It allows adding HE-AAC and HE-AACv2 to your transcoding scenarios. This is also another alternative to ffmpeg decoder for audio streams, while having decent quality.

Let's see how you can set up FDK usage in your scenarios.

February 14, 2017

Forward CEA-708 subtitles with Nimble Streamer

Providing subtitles as part of live streaming is important and is required by law is some countries. So people ask adding that capability into Nimble Streamer in addition to VOD subtitles support.

There are cases when source stream which comes into Nimble Streamer already contains subtitles metainformation. So now Nimble allows forwarding CEA-708 subtitles. This means that all outgoing streams for all supported protocols will include subtitles.

This works for both transmuxing and transcoding.

Transmuxing support this forwarding by default. Whatever metainformation is inserted into the original stream, it is passed through to all other protocols.

To make this work in Live Transcoder scenarios, you need to enable this feature for outgoing streams. It's a premium add-on for this media server and it has easy-to-use web UI to control transcoding behavior. To install and get a license for it, visit this page.
To enable this feature fr particular encoded stream, you need to edit an encoder block for the stream which you want subtitles to be forwarded for.

Transcoder scenario

Click on encoder details icon to open encoder details dialog.

Enable "Forward CEA708 subtitles" for encoder

Check the Forward CEA-708 subtitles box and save settings to close the dialog. Then click Save on scenario age to apply it on server.

That's it - the forwarding will start working right after a scenario is saved on server.

Feel free to visit Live Transcoder webpage for other transcoding features description and contact us if you have any question.

Related documentation

Handling live streams timing errors in Nimble Streamer DVR

Sometimes when an MPEG-TS stream is received from media source, it may have some glitches either in video or audio. This is caused by third-party encoders which set incorrect time stamps assigned to media fragments - they may go back and forth in some un-predicted range. This also happens even when the source stream is transmuxed into other protocols, e.g. RTMP.

This may bother the viewers and also cause media servers to malfunction during the recording of the stream. Nimble Streamer allows compensating those timing issues and perform correct recording of video and audio in DVR. If the compensation can't help, then Nimble just removes the chunk and resets recording period.

Go to Nimble Streamer top menu, select Live Streams Settings menu and select DVR tab to open its settings.

Choose the designated stream properties and find Error correction section and check Drop invalid segments checkbox. This will perform the required correction to the recorded media, and the playback will be smooth from player point of view.

DVR setup with invalid segments handling

If you have any further questions, contact our team.

Related documentation

February 9, 2017

Viewing ASN statistics for streaming connections

A number of our large customers build and maintain their own media content deliver networks. Common layout includes origin servers to process the content from its sources and edge servers which handle connections from end-users who watch and listen the media.

It's important to locate edges as close to possible viewers as possible to reduce latency and improve overall user experience. So you need a way to determine optimal physical location for each edge. This is why it's important to know what ASNs your viewers have. That will allow putting your edges on a proper hosting location with proper network peers.

WMSPanel allows showing ASN statistics of your views showing how many connections were made with from the most active ASNs. It's part of our media servers reporting framework.

January 25, 2017

Binding un-synced video and audio sources in Live Transcoder

Live Transcoder for Nimble Streamer has wide range of content transformation features which can be used in transcoding scenarios.

Some scenarios may require to take unrelated and un-synchronized sources of content and bind them together into a synchronized stream. This capability covers some major use cases like the following to name just a few:

  • YouTube does't accept audio-only and video-only content, so you need to add missing video/audio in order to comply.
  • Take video stream (e.g. a game footage) and put commentator's voice on top.
  • Online radio graphics overlay: take Icecast online radio stream, put still picture as video and publish it on a website or an external CDN so common video player could play sound and has was visual representation.
  • Take surveillance camera video stream, insert some sound of silence from MP3 or MP4 file and publish it to external destination - like aforementioned YouTube or CDN.

Nimble Streamer Transcoder is currently capable of both transforming file content for further live streaming usage and synchronizing it. Let's see how you can do this.

January 1, 2017

Year of 2016 overview

Happy New Year!

We wish you and your company all the best in the new year of 2017!

To celebrate this upcoming year, we would like to make a summary of what was done during past 12 months of 2016.

You might have noticed the mention of Softvelum, LLC in many updates. That's right - we've grown from a startup established in 2011 into a technology company so this incorporation was performed to build a platform for further activities. We've been strengthening our team this year and we're ready for new challenges!
As a company, we're honored to have Nimble Streamer as a finalist of Streaming Media Europe Readers Choice Awards 2016 in the "Best Streaming Innovation" nomination!
We appreciate this acknowledgment and we'd like to thank everyone who voted for us.

Before getting into products summary, let's take a look at the State of Streaming Protocols for 2016. It shows current status of streaming technologies and compares it to the data back from 2015.

Now, let's see what was new in our products set.

Nimble Streamer

Our flagship product was continuously improved through the year. Here are most notable enhancements from what was implemented.

Nimble Streamer is now available for ARM architecture and its installation packages are built for for Raspberry Pi / Orange Pi / Odroid.
Read this page for all details regarding Nimble Streamer embedding capabilities.

Transmuxing engine was improved to improve performance and take more codecs as input. New codecs include H.265, VP6, VP8 and VP9 as video input with AC3, E-AC3, Speex and PCM G.711 for audio input. This gives more capabilities for broadcasters who receive media from various source and want to bring it to the internet viewers.

Icecast transmuxing was also added into common engine and now it allows taking AAC audio from any input stream and deliver it both as playback stream and as republished stream. You can also define metadata for any outgoing Icecast stream. Read more about current audio streaming feature set here.

DVR feature set was also improved through the year to improve performance and also get timeshift scheduled recording.

Subtitles support was added for VOD streaming to follow with multiple customers requests.

Nimble control API was significantly improved, it now covers full set of operations that are available via web UI. Also, Nimble status native API was updates with new calls.

Server control capabilities can now be granted to non-admin users by account administrators.

Paywall framework for Nimble Streamer was also improved with new blocking capabilities: by User agents and by Referer HTTP headers.

One more significant feature is Publish Control Framework. It allow setting full control over RTMP and RTSP streams publication process - you can apply your own business logic to any incoming streams. This is especially useful for people who create their own mobile broadcasting services as they need to find a way to control their content contributors.

Live Transcoder

We had many questions from our customers about content transformation in Nimble Streamer - like changing resolution, bitrate, graphics overlay and many other. So after technical and legal research, we've released Live Transcoder. It's a premium addition for freeware media server available via license subscription.

It supports multiple video and audio codecs for decode and encodes it into H.264/AAC output streams with codecs passthrough option.

After the content is decoded you can also apply wide variety of FFmpeg filters to transform the content as you need for your live stream. This includes changing the resolution, bitrate, profile, applying graphics overlay, adding picture-in-picture video and much more.

All operations are performed via excelled drag-n-drop web UI, you can check this playlist of videos to see it in action.

Besides software decoding and encoding, Live Transcoder supports Intel QuickSync and NVidia GPU hardware acceleration technologies. This allows combining flexible filtering, excellent UI and best hardware transcoding technologies into a single powerful product.

Visit Live Transcoder website to learn more about its capabilities.

Mobile SDK

Larix mobile broadcasting SDK was extremely popular during this year.

We improved feature sets for both iOS and Android to add highly required features - you can see list of major features here and also check Larix Broadcaster to see them in action.

After multiple requests we've released our mobile streaming SDK for Windows Mobile platform along with Larix Broadcaster WinPhone version. So now our SDK covers all popular mobile platforms.

We also used our streaming library in new app called Larix Screencaster - it's an Android application that allows streaming the content of your screen. This is helpful for game streamers, educators and all those who need to share their device screens to wide audience.

You can obtain latest SDKs using this purchase page in just a couple of steps .


Our reporting and control panel was also improved with a new set of metric - Unique visitors. It allows calculating how many actual users were viewing your content within each slice and each file or stream in case of Deep stats usage.

WMSPanel stats API was also improved to return all available metrics with more convenient methods.

These are the basic updates but we've done a lot more than that - check our blog and website for more. You can use the new Search page which covers our resources.

We'll continue keeping you up-to-date with all new features and improvements.
Follow us at FacebookTwitter or Google+ to get latest news and updates of our products and services.