For streaming, we are using MUX(link). Using this API, you can generate streaming key and RTMP url that you need to configure in streaming/broadcasting software/tool.
To call this API you need to pass sessionId for which streamKey and rtmpUrl will be generated and returned in the response. Combining streamKey and rtmpUrl you will create a streaming endpoint and configure it within your broadcasting software. For more information, check out this link https://docs.mux.com/guides/video/configure-broadcast-software.
For example If api return below rtmpUrl and streamKey:
rtmpUrl
: rtmp://live.mux.com/app
streamKey
: a42ccb8f-dce1-00f8-3552-504d14b43724
then final endpoint will be rtmp://live.mux.com/app/a42ccb8f-dce1-00f8-3552-504d14b43724
.
To call this API you need to pass sessionId
and event url as path parameters.
You can also pass the optional parameter regenerate if you want to generate existing keys, but it will be allowed only if streaming is not active for the current stream key.
This API can be used by authenticated users only, and it will require super admin/admin/staff level access.
Here is the description of response attributes, which returns to the form of JSON.
Attribute | Description |
---|---|
streamProvider | It's identify session stream provider, it can be ACCELEVENTS, WISTIA, YOUTUBE, VIMEO, FACEBOOK, ZOOM, DIRECT_UPLOAD. |
subStreamProvider | It's identify session sub stream provider, it can be VOXEET, CHIME, OPENTOK, AGORA. |
streamUrl | It's a session stream endpoint. |
streamKey | Unique key used for streaming to a Mux RTMP endpoint. This should be considered as sensitive as credentials, anyone with this stream key can begin streaming. |
rtmpUrl | Mux's standard RTMP entry point. Compatible with the majority of streaming applications and services. |
accelEventsStudio | If session stream provider is accelevents studio, then it's true. If session stream provider is accelevents RTMP, it's false. |
playBackRestrictionToken | It's contains playback restriction token, which is allows you to set additional rules for playing videos. For instance, viewers can play videos embedded on the https://example.com website when you set the Playback Restrictions with example.com as an allowed domain. Any Video requests from other websites are denied. |
thumbnailRestrictionToken | It's contains playback restriction token, which is allows you to set additional rules for thumbnails. For instance, viewers can view thumbnails embedded on the https://example.com website when you set the Playback Restrictions with example.com as an allowed domain. Any thumbnails request from other websites are denied. |
metaData | Details of created stream key details in JSON. Which is generated after creating stream key. |
liveStreamId | Unique identifier for the live stream. This is an optional parameter added when the session created from a live stream. |
Here is the possible error messages, which return if any condition gets failed or required data is missing for processing.
Error Code | Error Description |
---|---|
400 | The request could not be understood by the server due to malformed syntax. |
401 | You are not authorized to view the resource. |
403 | Accessing the resource you were trying to reach is forbidden. |
404 | The resource you were trying to reach is not found. |
4030201 | Not Event Host |
4068912 | Can not generate stream key, live stream in process. |
404800 | Session not found! |
4044005 | Mux live stream status not available. |
4044004 | Mux live stream can not create. |