How to Live Stream to Multiple Destinations
Live content can be extremely engaging, and oftentimes, the more you spread it around, the better. This means streaming to accounts you have access to, and also to accounts controlled by partners, stakeholders, and others who want to share your content with their audiences.
On its face, the concept of streaming to multiple disparate accounts sounds fabulous, but also technically complex, if not impossible. In truth, it was both for most producers until the last couple of years. Today, using a service aptly called Switchboard Cloud, it’s actually quite simple and even inexpensive. In this tutorial, you’ll learn how to mix multiple live streaming inputs and send them to multiple outputs via Switchboard Cloud.
To demonstrate, I'll use a scenario from Streaming Media East, where conference sessions were shot at several locations and interviews shot at another. To simulate this, I’ll have two encoders running and sending a stream into Switchboard Cloud, one from a session, the other from an interview. To distribute the feeds, you’ll learn how to switch between the two sources and send them to different live streaming services, including Facebook Live, YouTube Live, and others.
By way of background, operating Switchboard involves four basic concepts: streams, workflows, destinations, and templates (see Figure 1). Streams are incoming videos, which can come from any streaming source that can output an RTMP stream, including an on-camera encoder, live video switcher, or encoding appliance. Destinations are your various live streaming outputs, which can include Facebook Live, YouTube Live, Periscope, and any RTMP-defined destination.
Figure 1. This shows how Switchboard works and what its operational concepts are
Workflows assign destinations to each incoming stream and inject titles and other metadata into the stream so this data is presented uniformly by the target services. Templates also allow you to control Stream Link, the switcher within Switchboard Cloud, which I’ll explain in a moment. Templates are prebuilt workflows, so you don’t have to build your workflows from scratch each time you go live.
Seven Steps to Switchboard Success
Here’s the step-by-step process to use:
1. Configure the incoming streams. Switchboard works with two kinds of streams: direct inputs from actual encoders, and Stream Link, which are links to incoming streams. As you can see in Figure 2, I’ve configured two direct inputs, interviews on the left and sessions on the right. On the right is a Stream Link input, which can deploy either of the two direct inputs and switch between them.
Figure 2. Configuring the input streams. Stream Link is on the right, and can easily switch between Interviews and Sessions.
Stream Links serve two purposes. First, once you assign destinations to a Stream Link stream (which you’ll do in step 2), you can switch inputs very simply, in our case from sessions to interviews. If you assign a destination to a fixed input, either interview or session in our example, then you can’t easily switch the input.
Second, Facebook prohibits streaming products and services that use the Facebook API to stream to Facebook Live using the API while simultaneously streaming to other sites using their APIs. So, if you want to stream the same content to Facebook Live and other services using their APIs, you have to set up two inputs, one via the original and the other via Stream Link, or set up multiple Stream Link sources.
As you can see in both the direct inputs in Figure 1 (Interviews and Sessions), Switchboard Live provides the familiar RTMP address for input, with the stream name just below, but cropped out of the figure for space considerations. As with any streaming destination, you just copy and paste these into your encoder to start streaming to Switchboard Live. Again, on the right is the Stream Link where you can switch between the two live inputs.
2. Configure your destinations. Destinations are the target services, and you can see the target services I’ll be streaming to in Figure 3. There are three types of destinations shown.
Figure 3. Here are the destinations for our streams.
The Facebook, Periscope, and YouTube accounts are all template-based. You click to select them, log into your account, and give Switchboard the necessary rights. Easy peasy.
The Ustream account is a custom RTMP account that I manually configured by retrieving the RTMP address and stream name from my Ustream account and configuring that into Switchboard. It’s identical to the procedure you would follow if you were streaming directly to Ustream via a separate encoder.
The final destination type is Switchboard Delivery. This type provides an embed code that you use to deploy the player into your own website for HTML5 delivery. Or, you can grab the URL of an HLS master manifest to plug into an existing player deployed on your website or elsewhere.
3. Request third-party destinations. All destinations shown in Figure 3 are accounts we had direct access to. To stream to third-party sites, you add a destination type called Stream Share, which opens the wizard shown in Figure 4. This walks you through the process of describing the event (shown), and then sends an email to the third party. This email contains a link they can click to provide the necessary authorisation to send video to their account, so you can stream to their service without ever seeing their credentials. Once it’s set up, the third-party site appears just like any other destination.
Figure 4. Requesting access to a third-party account
It's not easy, but it can be done, as long as you have the right tool and know the tricks. Here are eight steps to success using Softvelum Nimble Streamer.
20 Mar 2018
Live 360° video offers an immersive experience like no other, and presents a way for publishers to stand out in the crowd. But it presents unique—thought not insurmountable—technical and creative challenges.
24 Jan 2018
Sky has an inherent responsibility to protect the IP of both its own original content and the content that it licenses. Encryption by way of DRM is crucial, and HTTPS streaming is on the horizon
02 Jan 2018
Providing nonstop live streaming coverage of marathon-level sports events might increase audience size.
18 Jul 2012