As a follow-up to my previous post about using live development streams as a way to fund my open source development time, I wanted to share my setup. A huge disclaimer. I am, unfortunately, the kind of person who gets stuff like this to 80%-90% and then says "good enough, I'll tweak it later" and I never do, because it works good enough.
Open Broadcaster Software – OBS
OBS Studio is the standard software used by most live streamers. It's also open source! You can find the repo on GitHub at obsproject/obs-studio. I have been using OBS for years, since 2013 or 2014, to do all of my screen recordings. It doesn't have a lot of the fancy transitions and highlighting effects some newer tools do, but back then it was the best free offering that let me do a screen capture with a picture in picture or different screens.
I used this setup in OBS to live stream to YouTube before I decided to use Twitch as my streaming platform. I ended up using the Streamlabs OBS (referral link!) build. It has built in goodies that I don't really use. The main reason is that it can automatically start a live stream on Twitch for me. Normally you have to go to YouTube or Twitch and connect OBS, wait for it to say "yep, you're online" and then go live. Streamlabs OBS makes my life easy. And I still feel comfortable knowing they're supporting the open source application, even with their layers on top of it.
Streamlabs provides a lot of things that most streamers have – the on-screen notifications for follows and subscribers, chat, etc. The only thing it doesn't do: you cannot modify your go live notification, which I have to edit directly in Twitch before I go live.
Before I started live streaming I spent a stupid amount of time reading up on how other people had it set up.
1, 2, 3, Live!
My going live process is pretty simple. About twenty or fifteen minutes before my stream I'll give the computer a reboot (if I'm actually on time.) I run upstairs and make myself a coffee. Pending any upstairs disruptions (wife, two-year-old, dogs), I'll get downstairs in time to have PhpStorm opened, Docker running, and my browser set to pages I'll know I will need.
I then open my Twitch dashboard to change my stream's title and go live notification. You can edit the stream title in Streamlabs OBS. But I like the notification to match the stream title. To be honest, I'll probably stop this and leave a generic notification message. About 85 of my followers (65%) get the notification and it's clicked only by 2-4 people each time.
I do a quick mic check and then make sure my application windows ft okay.
Then, I switch to my "Starting" scene and go live! I'll take a minute to make sure I didn't forget anything. Make sure the door is closed. I also have to lightly barricade it with a weight, since I don't have a lock. The kids, especially our two year old, don't care if they can hear me talking or not. They'll just walk in. A few times folks have gotten to see our littlest dude waltz in during a stream.
When I first started I wanted some artwork for a Starting and Ending. Also some basic banner artwork. I hopped on Fiverr and paid for my current graphics from prlllnce. I wanted to have something I could use instead of generic text, and I am not a creative person or designer.
I don't have many scenes setup. I just have:
- Starting: beginning title
- Self: no desktop, full webcam on the screen)
- Desktop: main scene, has my webcam in bottom right, Twitch chat, widgets and such
- Ending: ending title
- Desktop (No Chat): I had this in OBS when I started with YouTube but wanted to also record stuff off line. OBS supports profiles, so I in reality I didn't need this, I just needed a "Recording" and "Live" profile.
The biggest pain is setting up your main scene, in my opinion. Remember when I said I'm an 80-90% kind of person? This is where I wasted just enough time to get it right, and still don't like it. But, it works. (Looking at you, Twitch chat widget that I cannot figure out how to style or wrangle.)
My main desktop scene has my webcam, widgets, and chat in the right. I'm really irritated that I cannot figure out how to get the chat to just have a white background. Like, I have spent an hour with the CSS. I can't figure it out. It gets stupid until someone adds a first chat message. Why does this frustrate me? The YouTube chat is a URL widget you embed and bam, it's styled. I could then hide notes for myself behind the chat.
Twitch rolled out a new widget for followers goal, so I self plug myself for that (130 out of 150!). And right around there is the Alert Box. This is where I used the fancy Streamlabs stuff. When someone follows me, cheers with bits, or subscribes, some fancy animation pops up.
Then I have the chat. I really like having the chat on screen for folks who watch the recording. I try to read aloud any chat messages that I react to, but sometimes I forget. This way folks watching the recording can see the chat, too, and not feel left out!
What I need to add is a "BRB" screen. Sometimes I need to step away and I don't have a fancy scene with elevator music. There have been one or two times I needed to step away and folks go to awkwardly stare at my office.
Heads up. I am going to provide links to the manufacturer websites for all items, but I am also providing Amazon affiliate links below when linking to products.
- Microphone: Audio-Technica AT2020 XLR microhpone (Amazon)
- Audio interface for microhpone: Focusrite Scarlet 2i2 (Amazon). I got lucky – my friend was buying the next generation and gave me his old one for free.
- Webcam: Logitech - C922 Pro (Amazon)
- Computer: 2020 Macbook Pro (2.3Ghz i7, 32GB RAM).
- Monitors: 2x 27" Dell monitors (purchased second hand from same friend who gave me the audio interface)
- Mouse: Logitech MX Master 3 (Amazon)
- Keyboard: Logitech MX Keys (Amazon)
- USB/Media hub: Anker PowerExpand Direct 8-in-2 USB-C PD Media Hub (Amazon)
I've got my Macbook opened to the left on my desk, one monitor in front of me, and the other monitor to my right.
I hope this was interesting or helpful!