Like a lot of companies, some of my employer’s plans for the year have been put on hold. For example, we had planned to do a video series where I fly up to Druva’s Sunnyvale headquarters and film a video discussing backups and related things with Stephen Manley. We would broadcast that video on LinkedIn Live. Given what’s going on right now with the Coronavirus, that’s not happening.
Update 12/20: The solution listed in this blog post totally works, BUT. We found it to be clunky and error-prone. We therefore stopped using it in favor of StreamYard.com. Streamyard was cheaper than the streaming service we used to stream Zoom, and it’s a single solution that does all of this, AND includes things like Lower Thirds, overlays, etc. I can also say their support has been amazing. Click the “Chat with us” button on the front page and voila! You are talking with a real-live person. Not an AI engine. Not email support. Real-live support from a real-live person. We’ve used it for about six months now and have found it to be seamless. All for $20/mth!
The big idea
Last week we asked the question, “what if we did it remote?” Would it be possible to use Zoom (which we already use) to create a video stream that we could somehow pass to LinkedIn Live? Many Google searches later, I felt the answer was a very tentative, “maybe.” Zoom does have an optional feature that can create a video stream from a meeting. The question is, can we send that stream to LinkedIn?
LinkedIn said “no,” but they gave us a list of vendors to try. I proceeded to contact almost all of them. Many simply did not respond in a timely manner. Others responded to the Zoom part of the question with answers that showed they were not the solution I needed.
A voice in the darkness
But one company, Wowza (a Streaming-as-a-Service platform), appeared to have web pages with instructions for both halves of this equation (streaming from Zoom and streaming to LinkedIn Live). The only problem was the LinkedIn part was in Beta, since it’s quite new. I signed up for a trial account and the wrote to them asking to enable the beta feature on my account.
Update: The live-streaming feature is only available with the commercial version of Zoom. It is not available in the free version.
Robert Vacante of Wowza wrote me and said he had enabled the feature and gave me links to the two pages I mentioned above. (I would later find out he is actually the Product Manager!) To make a long story short, within a matter of hours I was able to go from complete despair to being ready to test my first broadcast on LinkedIn Live. Then we did our first LinkedIn official Live broadcast the next morning!
SaaS wins the day
I didn’t have to download and configure anything. I didn’t have to buy a piece of hardware (as some of the solutions required). I just had to authenticate them with Zoom and LinkedIn, configure a few things, and we were off and running. Just like when my employer (Druva) backs up Office 365, G-Suite, and Salesforce, the whole process was managed in the cloud, and all the infrastructure needed to make it happen just magically appeared when I needed it.
Go back in time to before SaaS and this never would have happened. Imagine identifying an IT challenge, researching products for a few hours, then successfully deploying that product in your datacenter in a matter of hours. That simply wasn’t possible before the SaaS concept really took off. Maybe Druva’s onto something.
I want to give a big shout-out to the folks at Wowza, especially Robert Vacante who answered a few questions for me during my time crunch. I couldn’t have done it without them.
How did I do it?
Robert Vacante told me he thinks we may have been the first customer to connect both their Zoom streaming option to their LinkedIn Live option. I will say that, while the instructions were good, they were not streamlined for this particular workflow. This is especially true of the page on how to configure the LinkedIn Live option, as it is really built on our original plan of high-quality video from multiple “normal” sources. If you’re just going to use Zoom, things are actually much simpler. The rest of this blog post is the instructions I came up with for how to configure the system, and how to run it once it’s configured.
- Request LinkedIn Live access
- You need to be approved for LinkedIn Live. This is no small feat, as it took us four months to get approved.
- Request access to the LinkedIn Live Beat w/Wowza (Email firstname.lastname@example.org to enable this feature)
- Setup Live Stream for Zoom
- Login to cloud.wowza.com
- Live Streams > Add Live Stream
- Give it a name (e.g. “LinkedIn Live Test”)
- Select the broadcast location closest to you
- On the Video Source and Transcoder Settings page, select OTHER RTMP.
- Put a checkmark in the box next to Disable Source Security.
- Leave all other settings on that page the same and click Next
- Leave All settings on the page the same and click Next
- On the Hosted Page Settings, give the hosted page a name, leave the other settings at their defaults. (e.g. “LinkedIn Live Test”) Click Next.
- Click Finish
- Setup the LinkedIn Live Target
- Login to cloud.wowza.com
- Go to Advanced > Transcoders > Click on the transcoder whose name starts with the name of the stream you just created. (e.g. “LinkedIn Live Test/Transcoder”)
- Select Outputs and Targets Tab
- Click Add Output
- Leave the dropdown at Video + Audio
- Click Video Passthrough
- Click Audio Passthrough
- Click Save
- Find the new Output in the list with the phrase “There are no stream targets assigned to this output.”
- Click Add a Stream Target
- Select LinkedIn Live from the list
- Select whether you want to stream to a person or organization & click Next
- Authenticate with LinkedIn and give permission for the app to interface with it. (The account you login to needs to match to an account that is authorized to use LinkedIn Live.)
- Enter a Title for the LinkedIn Live event you will put in. What you put in the title and description here will go into the LinkedIn Live page when you go live.
Get ready to go live
This procedure assumes you called your stream config “LinkedIn Live” in Wowza.
- Long before broadcasting
- Your Zoom admin needs to enable live streaming in Zoom. They only need to enable live streaming via a “custom live streaming service.” You do not need to enable youtube, facebook, Workplace by Facebook etc.
- Have a test zoom meeting where you test everyone’s setup, lighting, background, etc. Make sure the audio and video look good.
- Use that same exact setup during the broadcast.
- Wowza Setup (~30 mins or so prior to the live session)
- Login in to cloud.wowza.com
- Go to Advanced, Target Streams
- Select LinkedIn Live Target
- If it has a box that says to refresh the permissions, a LinkedIn admin w/the right permissions has to do that.
- Go to Live Streams tab
- Select LinkedIn Live Stream
- Click Start Stream
- Nothing will show up on LinkedIn at this point. Not until you tell Zoom to start the live stream. This is sort of “opening the door.”
- Zoom setup (After the wowza setup, ~30 mins or so before the live session time)
- Note: Even if you did this before, you have to follow this whole Zoom process each time of creating and saving a new meeting, because Zoom does not save the streaming settings you will be editing in this step.
- Click Schedule a Meeting
- Click Save (None of the other settings matter.)
- Once you click save, there will be a Live Streaming section at the bottom. Click on “configure live streaming settings.” A box will pop up with three fields.
- In another tab, go back to wowza.com
- Select Live Streams
- Select the stream you previously created (e.g. LinkedIn Live stream)
- One at a time, copy and paste the following values from this page into the box that popped up on Zoom.
- Copy/paste the “Primary Server” value into the “Stream URL” field (e.g. rtmp://2020s.entrypoint.cloud.wowza.com/app-942a)
- You only need to copy the part that starts with rtmp: up to where there is a space (do not copy/paste the IP address)
- If there are any leading or trailing spaces in the URL after you copy/paste it, delete them.
- Copy the “Stream Name” value into the “Stream Key” field (e.g. 56a664d7)
- Copy te “Hosted Page URL” value into the “Live Streaming Page URL” field (e.g. https://player.cloud.wowza.com/hosted/bkds7a/player.html)
- Again, only copy the URL, without any spaces. If any leading or trailing spaces show up after the copy/paste, delete them.
- Click Save on the Zoom popup box.
- Note: This still doesn’t start the stream so you can do this early to make sure your audio/video looks good
- Click Start Meeting
- Click Invite and send the link to whomever else needs to be on the Zoom.
- Make sure everyone’s video and audio look good before moving onto the next step.
Note: Do these steps only once you are ready to actually go live on LinkedIn Live.
- Have someone other than you login to LinkedIn Live to monitor the stream
- Setup a Slack chat (or similar) w/them so you can communicate during the stream
- Click on the three dots in Zoom and click Start live Streaming Service
- It will open a tab in your browser. If all is well, you will see a progress bar that eventually finishes, after which you will see a tab w/the live stream in it. DO NOT CLOSE THIS TAB. DOING SO WILL STOP THE STREAM. To mute its audio, right click on its tab select “Mute Site”
- You are live on LinkedIn Live!
- The person monitoring the stream should let you know all is OK
- Thank people for coming, and kill time for a few minutes to allow people to get the notification and login.
- Do whatever you came to do on video
Stop the stream
- Stop talking. Monitor the muted tab to see when the stream shows that you have stopped talking.
- Click Stop Stream in Wowza to Stop the Stream
- Click the three dots in Zoom and click Stop Live Streaming Service
- You’re done!
----- Signature and Disclaimer -----
Written by W. Curtis Preston (@wcpreston). For those of you unfamiliar with my work, I've specialized in backup & recovery since 1993. I've written the O'Reilly books on backup and have worked with a number of native and commercial tools. I am now Chief Technical Evangelist at Druva, the leading provider of cloud-based data protection and data management tools for endpoints, infrastructure, and cloud applications. These posts reflect my own opinion and are not necessarily the opinion of my employer.