Build delivery network with power origin
Using Softvelum products to build delivery network with transcoding origin, recording edges and load balancing
First, Nimble Streamer origin server gets a stream from camera or other encoding device and transcodes it to lower resolutions for providing ABR experience. Then the result output streams are transferred to Nimble Streamer edge servers for recording and handling the playback by users devices. Before watching the stream, viewers are processed via balancing mechanism to get content from the most proper edge server.
This approach allows using powerful origin server or servers for heavy-duty transcoding operations and then distribute the streams via network of light-weight cheap edges.
Also check similar scenario with powerful transcoding edge servers and light-weight origin.
Click on an element name to get more details.
External encoder or camera
You may use any camera or encoder device as an input for Nimble Streamer.
Supported input protocols include RTMP, RTSP, SRT and others.
Codecs support include H.264/AVC, H.265/HEVC and many more.
Check full list of protocols and codecs for more details.
Check this example of publishing stream from desktop encoder to your servers.
Also take a look at an article in Haivision blog describing the setup of Makito X hardware encoder as a source of SRT stream.
Nimble Streamer origin
Nimble Streamer is a software media server which allows processing any kind of incoming streams and deliver the result to multiple viewers or to other servers. When the stream gets in, it's transformed into any protocols supported by end-user devices.
In this scenario, the origin server is also used to transcode the original streams and to send them to edge servers - see "Live Transcoder" section for details.
Multiple output protocols and codecs are supported in Nimble Streamer. However, RTMP and SRT are proven to be the best choices for transferring streams among servers.
Take a look at RTMP re-publishing and SRT publishing instructions for more details. You may also pull RTMP or SRT streams by edge servers if that is more appropriate with your infrastructure.
Nimble Streamer is a freeware. If you'd like to use WMSPanel for controlling Nimble Streamer or get some stats, you'll need to subscribe for it.
WMSPanel is a cloud control panel where you can set up behavior of all parts of this scenario, including Nimble Streamer origin and edges, Live Transcoder and DVR features. It's a web UI available in any browser on any device.
This web service also collects stats and provides detailed info about content consumption.
WMSPanel is available on 2-weeks trial period, its monthly subscription price starts from 30 USD per month.
Live Transcoder on origin
This a premium add-on for Nimble Streamer which allows transforming the content. The most popular use case is to downscale the original stream to lower renditions. This is especially useful for cases when your user streams high-quality stream while your viewers may have low-bandwidth mobile connection.
Read more about Live Transcoder and check step-by-step video tutorial for creating ABR streams. Also check ABR setup article describing basics of that process.
Each Live Transcoder instance requires a license available at monthly subscription.
Nimble Streamer edge server
Nimble Streamer allows processing input streams from origin and deliver the result to multiple viewers. When mobile stream gets in, it's transformed into any protocols supported by end-user devices.
Output protocols include HLS, RTMP, SLDP. Check full list of supported protocols and codecs for more details.Check ABR setup article describing the setup process of ABR from transcoded streams of origin server.
Nimble Streamer edge server may also use paywall protection features to make sure your content is secured. That includes hotlink protection, geo-location restriction, pay-per-view framework and much more.
In addition to protecting the streams, you may consider monetizing them using Nimble Advertizer server-side ads insertion framework.
It provides flexible mechanics for inserting pre-roll and mid-roll advertising into live output streams.
DVR on edge server
Nimble Streamer DVR allows recording the incoming streams and provide playback via HLS and MPEG-DASH output streams.
DVR provides time-shifted playback, EPG range selection, time line browsing and more.
Read this article to find out more about feature setup and usage.
Softvelum approach to balancing the connections is to provide a viewer with a URL to a stream on a proper edge server. This needs additional business logic on a server side but it gives proper flexibility which is not achievable by other techniques.
You can see a workflow picture below showing overview of our load balancing workflow.
- Nimble Streamer has an API for obtaining general performance real-time information. So an "arbiter" service is created to collect edges' data and make decisions about incoming connections.
- The viewer opens a web page to watch the video or listen to some audio channel. The web framework which is used for generating this page calls an arbiter to know what is the best edge server to take the designated stream from.
- As a result, a viewer is shown a media with URL pointing to an appropriate media server.
- The viewer opens the media from pointed URL and gets stream while streaming network is loaded in a proper way.
- The next viewer's connection request goes through the same steps. The URL being received has the best conditions for current client. Check the sequence diagram below as well see the time scale.
Read this article for full description of load balancing technology based on Nimble Streamer API.
Load balancer defines the stream to play and then it can be used in any playback software you need.
Live stream output can be played with Larix Player which allows playing SLDP, SRT and RTMP with ultra-low latency.
SLDP playback supports ABR switch with low delay. AVC/H.264, HEVC/H.265, VP8 and VP9 video codes are supported depending on user platform.
You may use Larix Player free apps for Android and iOS, or just build your own with our player SDK for Android and iOS.
The DVR playback is available as HLS and MPEG-DASH output streams so it can be played in any mobile browser. Those protocols can also be played on the majority of STBs, smart TVs and desktops.