Build delivery network with power edges
Using Softvelum products to build delivery network with light origin, heavy-duty transcoding and recording edges and load balancing
Nimble Streamer origin server gets a stream from camera or other encoding device. Then it re-publishes transferred streams to Nimble Streamer edge servers. Edges transcode streams to lower resolutions for providing ABR experience. They perform recording and handle 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 light-weight origin server for streams re-distribution via available networks, and use powerful edge servers for performing heavy-duty transcoding operations and handling viewers.
Also check similar scenario with powerful origin server and light-weight edges.webpage to see more case studies.
Click on each element to get more details.
External encoder or camera
You may use any encoder or camera 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 server
Nimble Streamer is a software media server which allows processing any kind of incoming streams and deliver the result to edge servers.
Multiple protocols are supported in Nimble Streamer. The mostly used one for receiving and re-publishing the stream is RTMP. Also, the newest SRT protocol is also gaining momentum, especially for unreliable and unstable network conditions. Publishing from origin to edge servers is a good case for both protocols.
Take a look at RTMP re-publishing mechanics and SRT publishing instructions to set up stream delivery from origin to edges.
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 edge server
Live Transcoder is 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 origin server publishes high-quality stream while your viewers may have low-bandwidth mobile connection. So power edge server will transcode and deliver multiple renditions to viewers.
Each Live Transcoder instance requires a license available at monthly subscription.
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.
Nimble Streamer edge server
Nimble Streamer allows processing input streams from origin and deliver the result to multiple viewers. When the stream gets in from origin, it's transformed into any protocols supported by end-user devices.
In this scenario the edge server is powered by Live Transcoder and DVR - see respective elements above.
Output protocols include HLS, RTMP and SLDP. Check full list of supported protocols and codecs for more details.
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.
Edge server may handle DVR recording and playback delivery for end-users.
Read this article to find out more about DVR 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 SLDP 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 SLDP Player free apps for Androidand 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.