Create RTMP stream
Create a new live stream. PUSHR will provide RTMP link to which you'd be sending the feed and will configure a live transcoder which will encode the stream in multiple resolutions to create an adaptive bitrate HLS stream.
Note: The media platform is not a standalone service. In order to be able to create and destroy streams, you need to create a CDN push (storage) zone first and pass the zone_id parameter when creating a new live stream. If DVR recording is enabled, the recording will be stored in the storage space of this CDN zone, and will be available for playback as video-on-demand immediately after you end the live stream.
Endpoint
https://www.pushrcdn.com/api/v3/streams/stream
Methods
POST
Parameters
Note: parameters marked with * are required
Field | Type | Value | Description |
action | string* | create | Create a new stream |
zone | integer* | push zone id | The ID of the CDN push zone |
name | string* | any (UTF-8 only) | Stream name |
encoder | string* | eu, us, sg | Ingestion encoder location |
dvr | integer | 0, 1 | Enable DVR |
mux | integer | 0, 1 | Remux output |
360p | integer | 0, 1 | 360p transcoded output |
480p | integer | 0, 1 | 480p transcoded output |
576p | integer | 0, 1 | 576p transcoded output |
720p | integer | 0, 1 | 720p transcoded output |
1080p | integer | 0, 1 | 1080p transcoded output |
Headers
Field | Type | Description |
APIKEY | string | Your account API key |
Example
Create a HLS stream named 'teststream' in adaptive bitrate HLS with 480p and 720p variants,
curl -d "action=create" \
-d "zone=7125" \
-d "name=teststream" \
-d "encoder=eu" \
-d "vod=0" \
-d "mux=0" \
-d "360p=0" \
-d "480p=1" \
-d "576p=0" \
-d "720p=1" \
-d "1080p=0" \
-H "Accept: application/json" \
-H "APIKEY: 2d49e8f645d90818783c4e6c46f32ca0677ac401" \
-X POST "https://www.pushrcdn.com/api/v3/streams/stream"
Response
Returns the status of the operation, the id of the newly created stream, the streaming server and key, and the HLS link which should be used for viewing the live stream.
{
"status":"success",
"id":"12081",
"rtmp_key":"12081?auth=802267e0dedf9b1ee422460bed2ac23a",
"rtmp_server":"trn_g0021.r-cdn.com/live",
"hls_link":"https://05591.r-cdn.com/g01/12081/playlist.m3u8",
"player_link":"https://live.r-cdn.com/1912/teststream/play"
}
HTTP | JSON | Description |
200 | Returns stream info | |
4xx | {"status":"error","description":"msg"} | Error message |
Notes
- Output Resolutions: You can select one or more output resolutions. If more than one resoluion is selected, the resulting stream will automatically be created in an adaptive bitrate HLS format.
- DVR recording: When DVR is enabled, the stream will be recorded and saved to your CDN zone's storage space. To obtain the recording URL, use the stream information API.
Due to HLS latency, there is an average delay of 20 seconds between then moment a stream is started and the moment when viewers can start watching it via the hls_link
. During this time the hls_link
would return HTTP404
or HTTP403
. If you are automatically publishing streams in your website, app or service, we recommend that you query the hls_link
continuously and wait for a HTTP200
response which can be used as a trigger for publishing.