A multistream facilitates the simultaneous broadcast of a source stream, along with its transcoded renditions, to various RTMP/RTMPS destinations like Twitch, Facebook Live, and YouTube Live. This feature ensures that users can maximize their audience reach across multiple platforms with a single streaming session.

When setting up a multistream, users have the option to utilize the Studio dashboard, directly interface with Livepeer REST API, or the Livepeer SDK. These offer comprehensive management tools to configure, modify, or delete specific multistream targets linked with individual streams. It’s important to note that configurations are stream-specific; hence, they don’t automatically transfer when generating new streams.

The essential parameters for setting up a target include a name, the ingest URL, and, if relevant, adding a stream key. Users can also specify which rendition profile they intend to dispatch to the target.

After creating a multistream target, it can be toggled as active/inactive. Also, both the dashboard and API provide options for editing or deleting these targets. To initiate multistreaming, the multistream target needs to be linked to a stream.

Monitoring

For performance monitoring and understanding stream health, Studio offers real-time indicators through its dashboard and API, showing whether a multistream target is currently active or offline. The status updates might experience a slight delay before the stream’s live status gets mirrored on the destination platform. In Studio’s “Health” tab, users can obtain a detailed view of the ingest rate for the active source stream.

Webhooks

Additionally, Livepeer have three webhooks to monitor multistream targets:

  1. multistream.connected: Indicates a successful connection to the multistream target and confirms the stream’s live status on the corresponding service.
  2. multistream.error: Flags issues during the connection process, suggesting potential configuration errors or problems with the destination platform.
  3. multistream.disconnected: Notifies users when a stream concludes and multistreaming to a particular target has also ended.