Intro

I am a co-organizer of the Jamstack Denver meetup and also the A/V guru for streaming and recording all of the talks at our meetup. We livestream our meetups on Twitch and have recordings of each talk on YouTube. After our February 2020 meetup, we got a lot of other groups and people interested in how we have things set up for recording and live streaming everything. So I thought it would be best to explain everything in a post here for others interested in streaming/recording their own meetups.

Hardware

I'll start with the hardware I use for my setup, the reasoning for why I use what I use, and then go into a recommended set of hardware you'll need to get started.

My Setup

Here's a diagram of how I have everything connected as well:

setup diagram

At first glance, this is quite a bit of hardware. Some of it is also a bit overkill for creating a simple livestream and recording but you'd be surprised at some of the hardware requirements for streaming and recording.

The 8 core Macbook Pro I have isn't necessary, but a decent pc/mac is necessary for streaming and recording. I would recommend at least a computer with 4 CPU cores if not 6 due to the video encoding being CPU bound. I'll link a recommended build if you're pc building savvy and want to put together a small form factor build, otherwise the specs listed on the build are something I would aim for.

The Fujifilm XT-3 is a mirrorless camera, which I use for photography as well and it doubles as a great live streaming camera. Mirrorless and DSLR cameras are great for video recording and streaming and provide a little bit of extra quality if you want to take your stream to the next level which is why I recommend them but they're not necessary to get started.

You will need something like the Elgato Cam Link if you decide to use a mirrorless or DSLR camera which allows you to capture the cameras HDMI output. The Magewell Capture card, or similar capture card, is what's needed to capture a presenter's screen and display it out to your live audience. You'll need a capture card with loop-through capability, as this is what allows you to display out to an external screen and capture the input for streaming/recording at the same time. This is one part that I wouldn't go cheap on because I've used cheaper capture cards in the past and they aren't nearly as reliable. You'll also want to make sure the capture card is compatible with your computer since some Elgato devices don't have supported drivers on Mac, so just be aware of that.

Then we get into audio hardware, which I would argue is more important than video, so if you're on a tight budget I'd spend a bit more on better audio since you want the speaker and content to sound nice and clear. I just started using a Shure wireless microphone system with a lavalier mic for the presenter and a handheld mic for our MC and for the audience to ask questions, and it really improved our overall quality. Wireless mics aren't necessary to get started but they can make things feel a bit more professional. I run the wireless mic system into a Behringer Xenyx 1204USB Mixer so I can manually monitor and adjust audio based on the speaker, and the USB output is routed into my computer to capture the audio. I also have cables from the mixer's main output channel routed to venue speakers so the audience can hear the mic'd up presenter.

Finally, I have an Elgato Stream Deck mini to control things in OBS, which i'll get into later, but this is just an extra I like to have so I don't have to jump between OBS scenes with my mouse. With all of that said, this is what I would recommend for an ideal setup to get yourself started with a couple of high-end options thrown in as well.

Software

Now, this is where things can get a little tricky, and where a lot of trial and error usually occurs. If you're planning to stream and record, or even capture your own desktop image and audio, Windows based computers make this part a lot easier to setup. You can get the exact same results with Mac OS, but you may have a couple of extra steps and things to know about.

If you plan to just stream, you can get away with just letting the service handle your recordings. Twitch and YouTube will save VOD's (Video on Demand) of your streams, however, Twitch deletes them after 14 days, while YouTube will upload your streams directly to your channel. I personally like to record while I stream so I can cut each presenter into its own separate video and always have a copy of it. It's a good practice, in general, to save your content locally and not rely on services alone.

Here is all of the software I use to stream and record.

My Setup

OBS is one of the best and easiest programs to get you started with live streaming. It's free, open source, and available for Windows, Mac, and Linux. There is also an alternative version called Streamlabs OBS which is a bit more user friendly and operates more or less the same way as OBS. Since I am using a Mac OS Catalina, there are couple of things to note with OBS. It requires extra permissions to record audio that you'll need to give OBS, and you'll need iShowU Audio, which allows you to capture your Mac desktops audio, so if you're playing music during intermissions or something like that you'll need this program. There is also currently a bug at the time of writing this that if you type in a password on Mac it'll crash OBS, whether it be the system or browser password typed in. As far as I am aware, Windows does not have these issues.

As I stated above, I like to edit the recordings of the stream to fix any audio issues that may have occurred, and cut down the talks to just the content instead of any intermissions or technical difficulties. For editing, DaVinci Resolve 16 is the current software I like to use for a couple of reasons. One, its free version has 95% of the paid versions features and gets updated. Two, it has a lot of built-in features I need to edit, like audio manipulation and plenty of video editing tools.

With OBS I also record in the mkv file format, because one of the benefits of recording in mkv format is if you are also streaming at the same time and the stream goes down or OBS crashes for whatever reason the recording will not be lost, unlike how it is when recording in MP4 file format. The only catch with mkv is if you're recording on a Mac and you want to watch the recording or upload it to YouTube, you'll need to convert it into a compatible format. That's where Handbrake comes in. If you're on windows, you won't need to convert the mkv file unless you still would like to edit the video.

Handbrake is an open-source video transcoding software that allows you to convert mkv, or any other video file formats, into a usable file format like MP4. It's a super simple program that has a ton of preset output formats so you can pick one already ready for YouTube if you don't plan on editing the videos.

Finally, I also like create consistent thumbnails for the videos so that viewers know exactly what the talks are about and I use Affinity Photo to do this. It's a cheaper alternative to Photoshop but has all of the same features. I'd recommend a consistent thumbnail format that matches your group's branding.

Stream/Recording Settings

The last part I want to go over is the stream and recording settings I use for OBS, and mention some additional resources if you want to learn more about streaming technology and software. There's a lot you can do with OBS, and I am by no means an expert with it and would highly recommend that you do additional research about optimizing your streaming settings. One channel I recommend is EposVox who has a huge OBS master class that I watched to get further knowledge of all the OBS settings. Nonetheless, let's dive into my OBS settings that should get you started with a good quality stream. The following are the settings I currently have configured in the OBS settings menu.

Video

  • Base Canvas Resolution: 1920x1080
  • Output Scaled Resolution: 1920x1080
  • Downscale Filter: Bicubic (Sharpened Scaling, 16 samples)
  • Common FPS Value: 30

Audio

  • Sample Rate: 48kHz
  • Channel: Stereo
  • Mic/Auxiliary Audio: iShowU Audio Capture (For Desktop sound capturing)
  • Mic/Auxiliary Audio 2: USB Audio Codec (USB Mixer Audio)

Output

  • Output Mode: Advanced
  • Streaming Tab
    • Audio Track: 1
    • Encoder: x264
    • Enforce streaming service encoder settings: Checked
    • Rescale Output: Unchecked
    • Rate Control: CBR
    • Bitrate: 3800 kbps
    • Use Custom Buffer Size: Unchecked
    • Keyframe Interval: 2
    • CPU Usage Preset: Fast
    • Profile: Main
    • Tune: none
    • x264 options: Left Blank
  • Recording Tab
    • Type: Standard
    • Recording Path: Wherever you want your recordings to go
    • Generate File Name without Space: Checked
    • Recording Format: mkv
    • Audio Track: Only 2 Checked
    • Encoder: Apple VT H264 Hardware Encoder, you can use the same encoder as your stream settings if you like
    • Rescale Output: Unchecked
    • Customer Muxer Settings: Left Blank
    • Bitrate: 15000 kbps, bitrate based on your encoder capability for recording
    • Limit Bitrate: Unchecked
    • Keyframe Interval: 2
    • Profile: high
    • User B-Frames: Checked
  • Audio Tab
    • Track 1
      • Audio Bitrate: 160
      • Name: Twitch Downstream
    • Track 2
      • Audio Bitrate: 320
      • Name: Recording Downstream
  • Replay Buffer Tab
    • Enable Replay Buffer: Unchecked

A couple of things I want to point out. If you are streaming for the first time, I would aim to have an output resolution of 720p 60fps to start with, since you only need about 5mbps upload for a super consistent stream at a fast CPU usage preset. Once you gauge your bandwidth limit at the place you're recording then you can look to increasing the quality or usage preset. You want your viewers to have a good viewing experience though so 720p60 is more than sufficient for getting started. I upped my resolution to 1080p30 recently to gain the benefits of my recording camera and found that I had the bandwidth available to record with those settings and still have a stable stream. Also, be sure to set your canvas to a scaled resolution that matches the layout you want to use. If you plan on having a 16:9 layout, then use a 1920x1080 canvas or similar and scale your output resolution appropriately.

Conclusion

I hope this little guide helps and that you too can start recording/streaming great content from your events or meetups. If you have any other questions feel free to get in touch with me on Twitter. I wanted to make this guide to give some others direction since A/V setups can be tricky at live events. Don't stress if the first recording or live stream isn't 100% where you would like it, it took me a lot of trial and error to finally get to a spot where I am happy and really proud of the content we produce now at Jamstack Denver.

Best of luck in your own A/V endeavors!

Last Updated

May 19, 2021