Review: Softvelum Nimble Streamer Is Flexible and Well-Featured
Cloud transcoding is the most efficient technique for serving live adaptive bitrate (ABR) videos in multiple formats to disparate clients. One alternative for this encoding schema is the Live Transcoder function of Softvelum’s freeware Nimble Streamer, which we set up and tested for this review. To summarise our findings, we found Live Transcoder flexible and well-featured, reasonably easy to set up, and highly efficient, making it a very affordable choice for any live streaming service, particularly those looking to run multiple transcode jobs from a single server.
Nimble Streamer itself is an inexpensive, highly flexible media server that runs on Linux, Windows, MacOS, and Raspberry Pi, with embedding capabilities for any x64, ARM, and POWER8 platforms. The server works with live and on-demand video and can output HTTP Live Streaming (HLS), Dynamic Adaptive Streaming over HTTP (DASH), Smooth Streaming, and HTTP Dynamic Streaming (HDS) adaptive bitrate formats, as well as a single file progressive download for HTML5 and Flash. Nimble Streamer can also serve as an origin for HTTP peer-to-peer streaming.
The server is free of charge, though many users choose to license Softvelum’s WMSPanel service to run the server and transcoder. WMSPanel licensing fees start at $20/month if you’re using Live Transcoder, though there are cheaper options for servers configured for less functionality, like simple edge servers, where WMSPanel costs $5/month (the server itself is still free). Beyond the extensive range of supported platforms and the efficient performance of Live Transcoder, overall implementation cost is one of the key reasons to consider Nimble Streamer, particularly for multiple server configurations.
Meet the Transcoder
Live Transcoder can input RTMP, RTSP, and MPEG-TS via HTTP and UDP with support for the Secure Reliable Transport (SRT) protocol and Icecast and SHOUTcast audio. It can produce both H.264 and HEVC encoded video, though at the time of my testing, only hardware-accelerated encoding via Intel or NVIDIA was supported, and my cloud machine had neither. Softvelum plans to support HEVC software encoding, but licensing arrangements had not yet been finalised, so I couldn’t test this. By the time you read this review, Softvelum will have added VP8/VP9 decoding and encoding support as well.
Live Transcoder costs $50 per month per machine, though you can run multiple transcode jobs (called scenarios) on each server. On its blog, Softvelum published results showing that a 24-core Intel Xeon E5-2690 v3 (2.60GHz)-based computer with 24 total cores plus an NVIDIA Tesla M60 could process 36 incoming 1080p streams transcoded to five outputs each for a total of 180 outputs simultaneously. From a pricing perspective, that’s one $50/month server processing 36 1080p encoding ladders, which is dirt cheap. Our CPU-only tests came nowhere near that load, but if you’re considering a cloud transcoding engine for large-scale operation, the results are worth checking out.
Creating Your Encoding Ladders
Each Transcoder can have multiple scenarios, each a separate transcoding operation. You control global settings for the server in the Global Live Stream Settings screen (Figure 1), where you configure your inputs and choose the supported output protocols.
Figure 1. Choosing global output parameters for all transcoding scenarios
Note the last supported protocol, which is the Softvelum Low Delay Protocol (SLDP). Briefly, SLDP is a WebSockets-based protocol designed to provide very low latency between the server and the player, though it only works with a free JavaScript player supplied by Softvelum, with Android and iOS SDKs for apps on those platforms. You configure your encoding ladder as normal, and the server creates SLDP output as another format available via transmux. I didn’t test this capability, but if you have an application that requires very low latency, it’s definitely worth a look.
After setting your global settings, you click over to the transcoder scenarios screen and start building your encoding ladders. Operation is very visual, and there’s a helpful wizard (Figure 2) to get things going. In the wizard, you select the resolution of your streams and how to handle outputs with different aspect ratios from the source.
Figure 2. The Adaptive Bitrate Setup wizard
Once you finish the wizard, you end up with the encoding ladder partially shown in the background of Figure 3, which also shows the output stream editor. On the right in Figure 3, you see how I’m adding the data rate and other H.264 configuration items for the stream created in the wizard. The encoder uses the x264 codec, so controls will be familiar to anyone who knows FFmpeg. In the figure, I’m aligning keyframes with those in the source video, choosing the main profile, deploying the veryfast x264 encoding preset, and configuring a data rate of 600Kbps.
Figure 3. The visual encoding ladder configuration screen and stream configuration box
To create your encoding ladder manually, you drag building blocks (visible in the top of Figure 3) into the panel. Inputs on the left are in blue, filters and adjustments in the middle are green, and outputs are orange. After dragging each block into the panel, you click an icon to open an editor like the output stream editor shown in Figure 3.
I found the visual configuration screen and wizards a great start, though there was definitely room for improvement in both. For example, the wizard should include items like profile, preset, data rate, and keyframe control, so you don’t have to customise them one by one for each stream.
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.
17 May 2013
Companies and Suppliers Mentioned