Publishing ABR variants from and Encoder
Once the provision has been provided to the Stream Manager it is possible to start publishing. Make a broadcast request to the stream manager (using the GUID of your stream provision) to get the IP address of the most available origin server. The provision specifies the different variants of the video stream that need to be provided. Each of these variants can be broadcast with a media encoder like Wirecast, FFmpeg, or others. The different entities involved and their connections are shown in Figure 3. In this case, the same origin is used for all the different variants. The origin then sends the streams to the relays which then deliver it to the edges that eventually serve the subscribers.
The following API call needs to be made:
Method:GET
URL: https://yourstreammanager.com/streammanager/api/4.0/event/live/mystreamGUID?action=broadcast
Where:
- yourstreammanager.com: is the host of your Stream Manager
- mystreamGUID: is the GUID of the stream provision
If the call is successful the Stream Manager will return an object that specifies the scope and address of the origin to use. These properties will then be used to define the endpoint in the media encoder stream configuration.
As an example, if the JSON object returned by the Stream Manager is:
{
"serverAddress": 192.168.0.23,
"scope": "live",
"name": "mystreamGUID"
}
You would want to broadcast, using RTMP, the stream variants that you defined in your provision:
rtmp://192.168.0.23:1935/live/mystream_1
rtmp://192.168.0.23:1935/live/mystream_2
rtmp://192.168.0.23:1935/live/mystream_3