You can create broadcasting network which is consist of origin and several edge servers to overcome those challenges. You can locate your origin server in a large data center and install your edge servers near your viewers. In this case you can create failover broadcasting network which allows to perform load balancing between origin and edge servers. Essentially, you are going to create you own Content Delivery Network (CDN). In this article we are going to show how to do that via Nimble Streamer and RTMP restreaming.
We will use the Adobe FMLE as a source of live video in our example. But you can use any encoder which supports RTMP streaming (e.g. FFMPEG).
To create a network which is described above, we will perform the following steps:
1. Set up streaming from encoder to origin.
2. Set up republishing from origin server to edge.
3. Set up edge server to receive RTMP stream from origin and to transmux it to HLS.
Install Nimble Streamer
We assume that you already have Nimble origin and Nimble edges installed. If not, please read about the process of Nimble Streamer installation in this page.
Setup streaming from encoder
Devece: Build-in web camera;
Format: H.264;
Frame Rate: 30.00;
Input Size: 320:240;
Output Size: 320:240.
Specify the "FMS URL" and "Stream" parameters for streaming RTMP to media server. For example, rtmp://192.168.5.5:2935/origin and livestream. The names origin and livestream will be used later during republishing set up.
Click the "Connect" button and then click "Start" button. The encoder will be started.
Go to Nimble Streamer setup.
Setup origin server
Log in to wmspanel.com. Go to "Nimble Streamer" -> "Live streams settings" In the "Global" tab check the RTMP protocol checkbox and press the "Save" button.
Go to the "Interfaces" tab and click the "Add RTMP interface" button. Specify the port number for incoming RTMP streams in the appeared dialog (e.g. 2935) and click the "Save" button.
Go to "RTMP republish" tab and click the "Add" button. In the "Source application" and "Source stream" of the appeared dialog insert values from your encoder settings (see Setup streaming from encoder section). Specify the IP address of edge server in the "Destination address" field. Specify edge RTMP port number. Specify values for "Destination application" and "Destination stream" fields for edge server. Click the "Ok" button to save changes.
Then you need to define the edge server settings to allow receiving of RTMP stream from you origin server and for transmuxing RTMP to HLS for further streaming to your viewers.
Setup edge server
On the "Nimble Streamer" -> "Live streams settings" page choose your edge server in dropdown list left of "LIVE STREAMS SETTINGS" page name. In the "Global" tab set the HLS and RTMP checkboxes. Click the "Save" button.
Go to "Interfaces" tab and click the "Add RTMP interface" button. Specify the RTMP port number in the appeared field (1935 in our example). Verify that your edge server is chosen. Click the "Save" button.
The outgoing stream should appear with green "Online" label. Click on question mark sign to see your outgoing stream.
You can see your stream in the opened dialog. Choose proper protocol and player from dropdown lists in order make sure they work fine.
If you need to add more edges just repeat this procedure and specify your new edge "Destination address", "Destination application" and "Destination stream" in the "RTMP republish" tab of your existing origin server.
You can perform additional settings on edge servers to increase it's performance. Please read the "Nimble Streamer performance tuning" article for details.
We described RTMP republishing but Nimble Streamer has more capabilities to create origin-edge networks.
For RTMP you can use pull mode instead of publishing. You can use RTSP protocol in pull and/or publish mode (depends of which of your servers has open IP address). Also you can use MPEG-TS HTTP/UDP. You can combine these protocols, for example transmit stream to origin from camera (mobile device encoder) by RTSP protocol, use RTMP to republish from origin to some edges, and set up pulling MPEG-TS via HTTP for other edges. Then you can stream from you edges to viewers using HLS, MPEG-DASH and RTMP.
Multilevel hierarchy of media server can by used for large geographically destributed broadcasting networks when edge servers of middle layer will be configured as origins for the next edge servers layer.
If you need to change content parameters when streaming to end users, e.g. change the bitrate to create ABR streams, then you can use our Live Transcoder for Nimble Streamer. It has high performance and low resource usage so your edge server can handle trans-rating very well.
First you may take a look at video tutorial about RTMP setup.
It shows basic scenarios with RTMP processing.
Related documentation
Take a look at snapshots page on our website showing typical use cases of Softvelum products usage.
Power origin snapshot demonstrates how else you may build your delivery system using origin-edge approach. In addition, please get familiar with Reliable Low Latency Delivery with SRT+SLDP article in Haivision blog showing SRT and SLDP approach of building live streaming delivery.
Live Streaming features in Nimble, RTMP capabilities in Nimble Streamer, RTSP in Nimble Streamer, MPEG-TS support, Nimble Streamer performance tuning, RTMP republishing via Nimble, Live Transcoder for Nimble Streamer, Build streaming infrastructure with Nimble Streamer,Power origin snapshot demonstrates how else you may build your delivery system using origin-edge approach. In addition, please get familiar with Reliable Low Latency Delivery with SRT+SLDP article in Haivision blog showing SRT and SLDP approach of building live streaming delivery.
No comments:
Post a Comment
If you face any specific issue or want to ask some question to our team,
PLEASE USE OUR HELPDESK
This will give much faster and precise response.
Thank you.
Note: Only a member of this blog may post a comment.