Camera or encoderNimble Streamer originWMSPanelLive TranscoderNimble Streamer edge 1DVR on edge 1Nimble Streamer edge 2DVR on edge 2Load balancingPlayback


External camera or encoder

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.

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 mobile stream gets in, it's transformed into any protocols supported by end-user devices.

Multiple output protocols and codecs are supported in Nimble Streamer. However, RTMP and SRT are proven to be the best choices for that.
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

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

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.

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.
Same Nimble Streamer version can be used as origin and edge server.

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.

Output protocols include HLS, RTMP, 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

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.

Load balancer

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.

  1. 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.
  2. 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.
  3. As a result, a viewer is shown a media with URL pointing to an appropriate media server.
  4. The viewer opens the media from pointed URL and gets stream while streaming network is loaded in a proper way.
  5. 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.

Mobile playback

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 RTMP and SLDP 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 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.