Note: This guide assumes you’re living in the walled garden of Apple and are using macOS and iOS devices, but the principles are the same for Windows and Linux.
If you’re like my amazing friend Sarah Kassel and hosting your own Facebook Live comedy show — sometimes a single smartphone camera setup for Facebook Live isn’t enough. What if you want to show different camera angles, cut to the audience, or overlay graphics? Using open source software, you can create a studio level experience and increase the production value of your Facebook Live streams.
OBS Studio is free and open source software for video recording and live streaming. You can use it to take different input sources and pipe them into a Facebook Live stream. Here’s how:
1. Grab a copy of OBS Studio from https://obsproject.com and install it to your computer.
2. Next, open your web browser. Login to the Facebook page you want to live stream from and click on “Publishing Tools”
This should be top of the dashboard you see on your Facebook Page.
3. Click “+ Create” to make a new post. Select Live Video as the type of post.
4. Once the Facebook Live viewer has appeared, choose Connect instead of Camera to connect OBS to Facebook Live. I checked “Secure Connection” for added security.
5. Copy the Stream Key.
What the Connect interface looks like.
6. Open up OBS Studio and open the settings for streaming. Select Facebook Live as the Service and paste your Stream Key in.
Paste your Stream Key in here
7. Hit “OK” and then you’re ready to start streaming! Once your audio/video devices are ready in OBS, and click “Start Streaming” to connect to Facebook Live. You’ll see your stream from OBS appear in the Facebook Live viewer in your web browser.
8. Click “Go Live” on Facebook to start your live stream!
For more help with getting started on Facebook Live, consult https://www.facebook.com/facebookmedia/get-started/live
While a wired connection provides the lowest latency, it can be helpful to be untethered as well. Here’s how to use an iOS device as a wireless video camera for your stream.
1. Install Homebrew if you don’t have it already.
2. Install Nginx (pronounced ‘engine-ex’) with Real-Time Messaging Protocol (RTMP) support using Homebrew. Run this command in terminal to add the source for nginx to Homebrew:
brew tap denji/nginx
Then run this command to install nginx with the necessary modules:
brew install nginx-full --with-rtmp-module --with-debug --with-http_ssl_module
Nginx is a webserver that is commonly used for hosting websites. We’ll use it as server for piping and directing our local video streams.
3. We’ll need to tweak the nginx configuration to allow RTMP streams. Open up the nginx config file located at /usr/local/etc/nginx/nginx.config
with a text editor and add the following to the bottom:
rtmp {server {listen 1935;chunk_size 4096;
application live {
live on;
record off;
}
}
}
4. Start the nginx server on your local machine sudo nginx
. Your server will now be accessible at your computers IP address (which you can find in system preferences).
5. Install a RTMP capable camera app on your iOS device such as Larix Broadcaster.
6. In the app, point your broadcast at your server you just started. Your phone and computer must be on the same local network. If using Larix, try hitting the record button—the app will throw an error message if unable to connect.
7. Back in OBS Studio, add a new new media source by clicking the + button. Select ‘Media Source’ as the type. Uncheck ‘Local File’ and then set the input to the address of your RTMP server and with the key for your stream appended.
Uncheck local and then set the input to the address of your RTMP server and with the key for your stream appended.
8. Start broadcasting from your phone and watch it appear!
Now you can use this source as you would any other in OBS Studio. There is a lot of latency, so use a hardwired connection instead to eliminate the lag.
Using RTMP, OBS Studio, iPhones, and a computer, you can easily create your own multi-camera setup for Facebook live streams, complete with overlays, transitions, and more.
Leave a comment below if you have any questions, I’ll do my best to help you troubleshoot!
If you want to talk more, chat about React or great typefaces, hit me up on twitter @lucasmcgartland. Or find me elsewhere on the web below: