Upcoming Industry Conferences
Streaming Media West 2017 [2-3 November 2017]
Live Streaming Summit [2-3 November 2017]
Streaming Forum [27 February 2018]
Streaming Media East 2018 [8-9 May 2018]
Live Streaming Summit [8-9 May 2018]
Past Conferences

Review: Softvelum Nimble Streamer Is Flexible and Well-Featured
Publishers looking to stream live video in multiple formats should take a long look at the Live Transcoder function of Softvelum's Nimble Streamer.
Learn more about the companies mentioned in this article in the Sourcebook:
{0}

In the visual builder, I found it confusing that you have separate audio and video inputs which don’t lead to the same interleaved output; instead you’ve got one audio and one video input leading to two outputs of the same name. During my experimentation, I would have loved the ability to duplicate a scenario, which was not possible in the build I tested—you have to build each scenario from scratch. These grumbles aside, the interface is a good start and probably one UI refresh from being really useful and highly usable. Until then, most users should be able to figure things out.

Encoder and Server Operation

After creating your scenario, you have to configure your streaming encoder with the proper address and stream name, which is another area with room for improvement. I used video switcher vMix as the source encoder for my tests, with RTMP output into the transcoder. While Softvelum provides general guidance about connecting your encoder to your scenario, you have to figure out details like application and stream name yourself, as well as create the precise server address string. Most other live streaming servers that I’ve tested, from Wowza to YouTube, provide these specific credentials for you for easy copying and pasting into the encoder. Softvelum should strongly consider doing the same.

Once the server is up and running, one great operational feature is the ability to update your encoding ladder in real time without stopping the transcoder. This paid dividends for me when I added a stream to the transcoder, started operation, and then saw that I made an error in the configuration. I corrected the configuration, and 30 seconds later, the scenario updated without a hitch in the stream. You can also update without stopping the transcoder to add overlays like logos. With many other servers, you have to stop operation to reconfigure a stream, which could prove problematic in the middle of a live production.

You can preview your encoded streams from a page in the Nimble Streamer, bringing up a player like that shown in Figure 4. The top drop-down list (Choose URL to play) provides separate URLs for all the supported protocols, while the bottom (Available players) lets you view the stream in several commercial and open source players. In Figure 4, you see the HLS stream played in the Bitmovin Bitdash player. If your player is supported, Nimble Stream can also provide the embed codes, a nice time-saving convenience.

Figure 4. Viewing the 1080p stream in the Bitmovin player 

Using the supplied URLs, I tested HLS playback on a Mac in Safari, on a Windows 10 HP notebook running Edge, on an iPhone 6, and on a Samsung Nexus 10 running Android 5.1.1, and all played normally. I tested the DASH stream on the HP in Edge, again with no problem.

The Nimble Streamer supports DVR functionality, which you can implement on any or all streams in each scenario. You can limit recording to a specified number of days/hours/minutes, or use a maximum size in MB, and choose the storage location. Once configured, you can test the DVR using the same interface as shown in Figure 4, including player-specific testing.

While running the server, you monitor hardware performance on the screen shown in Figure 5 and can set up alerts for potential error conditions. When an error occurs, the server does a nice job providing suggestions for resolutions. For example, you can see that the CPU was running close to 100 percent during portions of the recorded 12-hour period. When I logged into the server, a status message attributed the problem to an inadequate memory cache and recommended that I boost the allocated memory. Once I did, the CPU performance quickly settled in at just under the 15 percent shown in the screen.

Figure 5. Monitoring CPU, memory, and swap 

For the record, the CPU usage shown in Figure 5 is for a 1080p ladder with six outputs (including audio-only and pass-through). After fixing the cache issue, CPU usage remained pretty consistent at around 15 percent throughout my overnight tests. I also tested a 4K ladder with eight audio/video streams (including 4K pass-through) and an audio-only stream, which pushed usage up to just under 50 percent (all tests using the veryfast x264 preset).

In the 1080p configuration, you should be able to comfortably output three or more 1080p ladders from the same server instance when running on an 8-core machine without GPU or other acceleration. That’s a very efficient operation that should result in rock-bottom operating costs for any user running multiple transcoding scenarios from the same server.

Overall, the longer I used Nimble Live Transcoder, the more impressed I became, particularly regarding performance. The product, which has been nominated for a Streaming Media Europe Readers’ Choice Award, seems like a real winner to me.

[This article appears in the Autumn 2017 issue of Streaming Media Magazine European Edition as "Review: Softvelum Nimble Streamer."]

Related Articles
It's a valuable addition to the Vantage Workflow family, but is Transcode Multiscreen the fastest encoder around? Read our detailed test results.