March 23, 2018

NVENC shared context usage

Our Live Transcoder has full support for NVidia GPU decoding and encoding. As you could see from our stress-test article and EC2 tests, Nimble works very good with NVENC.

Usually customers perform decoding and encoding of a relatively small number of streams for input and output and it doesn't affect the performance of neither GPU, nor CPU. However there are cases when our customers use full power of hardware acceleration to process dozens of streams. In this case, some additional performance tuning should be done.

Nimble Live Transcoder allows re-use shared context to optimize resource usage. You may enable it by adding this parameter into Nimble Streamer config (nimble.conf).
nvenc_context_share_enable = true
Nimble config control is described in this article.

Adding this parameter will enable NVENC context share which will increase the performance of Live Transcoder on high load.

You may also find useful our Nimble Streamer performance tuning guide.

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

Contact us if you have any other questions or issues with Live Transcoder.

Related documentation

Live Transcoder for Nimble StreamerNVidia GPU supportHEVC support in Nimble StreamerBuild streaming infrastructureLive Streaming features, Using Amazon EC2 for HEVC transcoding, Nimble Streamer performance tuning.

March 5, 2018

SRT for mobile streaming on Android and iOS

SRT (Secure Reliable Transport) is a UDP-based protocol that optimizes streaming performance on unreliable networks to deliver the best quality and lowest latency video at all times. The initial version was created by Haivision and now it's available as open source and it's maintained and promoted by SRT Alliance.

Softvelum streaming products have full support for SRT.
Softvelum products have full support for SRT technology. Nimble Streamer was the first software media server to support SRT protocol in all of its modes. Our customers actively use SRT for heavy duty projects which need media transmission across large networks across continents. Recent blog post called Reliable Low Latency Delivery with SRT+SLDP demonstrates SRT capabilities in action using the great combination of Haivision encoders and Nimble Streamer media server. Softvelum and Haivision partner to offer you reliable, low latency video streaming over the public internet with SRT. BTW, you can get 10% off SRT-enabled Haivision encoders with promo code SV18.

Mobile SRT streaming

Having SRT working perfectly on server side, we now introduce SRT streaming for our mobile products. SRT capabilities perfectly fit to solve the issues associated with mobile networks like jitters, bandwidth changes etc. So using that technology significantly improves your users' experience.

Larix mobile streaming SDK now allows streaming via SRT in Push mode. It supports all of its features including compensating for jitter by errors correction, AES encryption and more.
This is now available in addition to existing features such as

  • RTMP and RTSP streaming support.
  • Multiple simultaneous destinations for the same stream.
  • Full support for YouTube, Facebook Live, Twitch, Limelight CDN, Periscope and other services.

So you may have your own CDN taking SRT input stream and also send content to Limelight and Facebook - this all can be done simultaneously using the same application.

You can try that in action using Larix Broadcaster freeware app which demonstrates all features of our streaming library. App sources are included in the SDK package so you can easily create your own apps.

Check these links:

You can also refer to these screenshots as example of SRT setup in Larix, it's very simple.

Go to Setting dialog (the gear icon) then click on Connections and create new connection to see this dialog.

First you define your destination URL - it will start with "srt://" and will include the server address and the port which was set up to receive SRT.
If you use encryption, you an fill in SRT passphrase field.

If you need to set more options for your SRT connection, you need to save settings, then go to Manage connections menu and click on its details to see more.

When you have your connections ready to go, check those which you'd like to send your streams to as shown below.

Once you start transmission, you will have your stream being sent to multiple locations.

That's it. With those capabilities you can now have full power of SRT being applied to mobile streaming use cases.

This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit (
This product uses SRT library distributed under LGPL license. Library source code available at

Related documentation

Nimble StreamerNimble Streamer SRT protocol supportLarix mobile streaming SDK,  Larix SDK FAQLarix Broadcaster

February 13, 2018

Get 10% off the best live streaming encoders

Softvelum and Haivision partner to offer you reliable, low latency video streaming over the public internet with SRT.

Learn how it works. Softvelum’s recent blog post: Reliable Low Latency Delivery with SRT+SLDP on demonstrates the great combination of Haivision encoders and Nimble Streamer media server in a complete end-to-end SRT workflow. SRT, a UDP-based protocol that optimizes streaming performance on unreliable networks, was applied to both contribution and distribution endpoints as part of a video stream workflow, to deliver the best quality and lowest latency video at all times.

January 22, 2018

Using Amazon EC2 for HEVC transcoding

Nimble Streamer Live Transcoder is currently used in various live transcoding scenarios on various platforms. It can be deployed both to bare metal and virtual servers.

When it comes to HEVC (H.265) transcoding, there are certain limitations you may face. H.265 encoding is resource consuming so Nimble Live Transcoder supports only hardware encoding which is currently implemented for NVidia NVENC and Intel QuickSync. So if your project requires to use some cloud computing platform with no bare metal, you need to find a provider which has hardware acceleration available as part of cloud services. Our customers ask us about such provider so we wanted to do some analysis about this this.

Choosing EC2

After some research we ended up with Amazon Web Services (AWS) and their Elastic Compute Cloud (EC2). Here's what we have.

First, we need to define what chips are capable of HEVC encoding. Take a look at NVENC Support Matrix to see which of the chips have proper support. Considering latest NVidia changes in GeForce drivers EULA, not many cards can do what we need.

Having the list of proper chipsets, check EC2 instance types.  There are two of them that meet our criteria.

  • G3 instances have Tesla M60 based on 2nd generation of Maxwell chip family, starting from 1.14 USD per hour.
  • P3 instances have Tesla V100 based on Volta chip family, starting from 3.06 USD per hour.

We ran some tests on g3.4xlarge instance type, it has Tesla M60 chipset on board which we tested previously on bare metal. This time it also showed great results being used in cloud environment.

Notice that not all regions have P3 and G3 instances available. We tested our case in US East N. Virginia region, you should manually check what is the closest region with required instance types.

January 14, 2018

Nimble Advertizer: server-side ads insertion for Icecast

Our online audio streaming customers often face the need for monetizing for their online radios and live podcasts. This should be done on a server side to provide best user experience and avoid ad-blockers usage.

Today Softvelum introduces Server-Side Ads Insertion (SSAI) framework for Nimble Streamer, it's called Nimble Advertizer. This framework allows dynamically insert personalized ads into live streaming content.

Advertizer key features are:

  • Pre-roll ads per each connection
  • Flexible timing setup for mid-roll ads
  • Per-stream ads insertion business logic
  • Personalized ads

Nimble Advertizer may use all input live protocols supported by Nimble Streamer, they are Icecast and SHOUTcast, RTMP, RTSP, SRT, UDT, HLS and MPEG2TS.
Live input codecs are AAC and MP3. Notice that with our Live Transcoder you may also use MP3, MP2, Speex, PCM G.711 (a-law, μ-law)
For your ads source files you may use AAC and MP3 codecs.

Output live stream protocol is Icecast - this is the most popular protocol for online radios.

The workflow is easy to adopt within any business logic

  1. Nimble Streamer media server processes incoming streams to get audio content
  2. Nimble Advertizer calls your handler web application to get business logic description
  3. Advertizer gets files with advertisements to process them via Nimble Streamer according to your logic defined via handler
  4. Nimble inserts the ads into original media and packages it into Icecast protocol
  5. End user connects to Nimble and gets audio stream containing original content mixed with advertisements
  6. Playback is running smooth regardless of ads insertion over time in any player which supports Icecast.

Server-side Ads Insertion framework (Nimble Advertizer) is a premium functionality which requires additional payments. Please contact us to get more details about functionality and pricing.

Related documentation

Nimble StreamerAudio streaming features in Nimble StreamerLive Transcoder

December 29, 2017

Softvelum 2017 summary

Happy New Year!

The year of 2017 is over so we'd like to look back at what our company has accomplished during these past months.

It's been a successful year for us - we've stepped into several new areas of streaming landscape and we're glad to provide new products and features to our customers.

Speaking of new territories, our team made an article to share our opinion on the business competition in our industry - it's an answer to a very frequently asked question, enjoy.

Before moving forward, take a look at the state of streaming protocols: we compared data from 2017, 2016 and 2015 to see the dynamics.

Let's see what we've introduced in 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 support is available in Nimble Streamer - it covers all capabilities of SLDP.

Client side is covered by SLDP Players.
Web player is working in any MSE-enabled web browsers on desktop and connected devices. SLDP HTML5 JavaScript SDK for creating low latency HTML5 players is available for licensing.

SLDP is also supported by mobile SDKs. Both Android and iOS have free apps to perform SLDP and RTMP playback, you may also use SDKs to add your own playback capabilities into your apps.


SRT streaming technology, originally created by Haivision and opened to open-source community, is available in Nimble Streamer at x64 and ARM platforms. It's a protocol which adds reliability to UDP transmission with error correction, encryption and other features which make it a great method to deliver live content across unreliable networks. Softvelum was also among first participants of SRT Alliance (created by Haivision and Wowza) to take part in improving the protocol.

You can enable SRT in Nimble by installing SRT package and making respective settings.

SRT is a great choice for building delivery networks based on un-reliable environment. For last-miile delivery, you may use SLDP described above.

Nimble Streamer and Live Transcoder

We're glad to announce an article in Streaming Media magazine by Jan Ozer about our Live Transcoder: Review: Softvelum Nimble Streamer Is Flexible and Well-Featured
We appreciate Jan sharing his opinion and we'll keep improving our products per his feedback.

Apple released the support for fMP4 as part of HLS standard recently. Softvelum was the first to introduce fMP4 for live streaming. You may set up Nimble Streamer to produce fMP4 HLS live streams along with other protocols. It supports both HEVC/H.265 and AVC/H.264 video so new Apple devices are able to perform its playback.

We've also added fMP4 HLS DVR support in Nimble Streamer DVR - it allows streaming recorded content in both fMP4 and legacy containers at the same time.
Speaking of recording, Nimble Streamer and WMSPanel now provide DVR timeline browsing and playback. This allows browsing through the recorded history and play what you need from any point.

Wildcard ABR was added to support dynamic names for adaptive bitrate streams in addition to pre-defined ABR settings which was widely used previously.

We've added Periscope stream publication and Facebook Live publication support in our setup UI for convenience of our users.

UDT streaming protocol is available in Nimble Streamer. Read this article for setup details.

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

Our Live Transcoder was updated significantly to add new features.

First, check 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.

New codecs were also added into the Transcoder.

  • 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.

VP8 and VP9
Read this article for more details about setup and usage of those codecs. VP8 was also added to VA API implementation in our transcoder to give more flexibility.

You can encode audio to MP3 from AAC, MP3, Speex, PCM and MP2.

Hot swap
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.

We've also added more encoding libraries in addition to already supported ones: FDK AAC for audio and VA API (libVA) for video.

If you have any issues with Live Transcoder, you can take a look at Transcoder troubleshooting guide which is updated with new cases as long as we provide support to our customers.
Please also take a look at "Before you post a question to helpdesk" article - this is what you'll need to get familiar with prior to sending a question to our team. This article also helps analyzing the issues without waiting for our team response.

Mobile SDKs

Our mobile streaming products were extended significantly.

Larix Broadcaster
Larix Broadcaster and its SDK were updated all the time to include new features. Its UI was reworked to allow multiple connections and other features.
Take a look at mobile SDK FAQ to see answers you might be looking for.

SLDP Player
Mobile playback solutions are now available among our products.
This includes SLDP Player apps for iOS and Android, as well as respective SDKs for adding playback capabilities into your own apps. Currently SLDP and RTMP protocols are supported. iOS supports H.264/AVC and H.265/HEVC video with AAC and MP3 audio, Android has the same plus VP8 and VP9 on top.
Free apps are available in Google Play and AppStore to check all that in action.

You may also check SDKs release notes for all latest updates and use this page to subscribe for SDKs and their support.


Our WMSPanel web service has been a foundation for most of our products and we keep improving it to keep us with new capabilities.

That's it. Stay tuned for more features in upcoming new year of 2018 - follow us at FacebookTwitter or Google+ to get latest news and updates of our products and services.