I wrote this post last year, but I'm sharing it here on CodeNewbie as well. Learning in public is a great way to put yourself out there and learn simultaneously. If that's your jam or if it interests you, read on.
Last Friday, I gave a brownbag talk for my Virtual Coffee community on getting started with streaming on Twitch.
The video isn't up on YouTube yet, but you can grab the slide deck at iamdeveloper.com/stream2021.
This is a work in progress post. I'm just putting out what I had in my slide deck here, but in a more readable format than the bullet points in the slide deck. Feedback is welcome.
The first thing to do is install OBS. It is the standard when it comes to streaming. There are tools built on top of it, but typically I recommend using bare-bones OBS or Streamlabs OBS (SLOBS) which is OBS with some plugins from Streamlabs.
The main reason to use OBS or SLOBS is more flexibility when streaming, and as far as I know, OBS is the only one that allows you to stream closed captioning.
For the remainder of the post, I will refer to just OBS instead of OBS/SLOBS.
I won't do a deep dive into all the things you can do with OBS, but know that you can create scenes with many sources. A scene can be for example a starting soon page, and when you're ready to start talking you transition to another scene, perhaps called chatting or coding view.
There are many sources you can add to a scene:
- browser sources, e.g. a web page used for an overlay in your stream
- display capture, e.g. an external monitor
- video capture device, e.g. a webcam
It's important to go over your setup before going live on a stream. You want to make sure audio is good, video etc. Here is a sample checklist that I created for the purpose of this post. It's a reduced version of my own checklist.
- Turn off notifications for any software on laptop
- Ensure closed captioning is working with OBS
- Check audio is not muted and is working for you and your guests
- Have Twitch chat open in a browser or the entire stream (make sure stream is muted!)
- Ensure you’re on the right scene to start
Here's some typical steps to take when going live on a stream.
- Go over checklist
- Tweet out that you are going live on your stream with a link to your stream. SLOBS has this built-in
- Start Stream
- Check the stream to make sure you’re streaming
- You should be good to go at this point
Here are some streaming tips that I've found useful
- Interact with the Twitch chat
- It’s not going to be perfect, that’s OK
- Have fun, really!
- If you’re live coding, talk through what you’re doing
- Tweet midway through your stream that you’re still streaming about topic X or live coding
- Post your streams to Polywork, LinkedIn and Twitter. Here are some examples at timeline.iamdeveloper.com, my LinkedIn, and Twitter
Christina Gorton@coffeecraftcodeIf you missed the Twitch stream with @jlengstorf, check it out on @ThePracticalDev Youtube.
We talked Jamstack, serverless, and @nickytonline and Jason used serverless functions on Netlify to quickly set up an API to grab DEV posts with the DEV API. 🥳
youtu.be/dXr0iJE10tQ21:20 PM - 21 Apr 2021
- Have a consistent schedule
- Don’t worry if no one or few people are watching your stream when you get started out
- Zoom in your editor and browser to help folks see things better
- If you use Visual Studio Code, @john_papa created an amazing extension for hiding environment files called Cloak
- If you plan on uploading your streams to YouTube or want to create clips later, ensure that you have Store past broadcasts on in your stream settings
There is no native way for guests to join a stream in OBS, so a third party application is required. These are the common ones that are out there:
You should have one or more topics to discuss, but they do not need to be scripted. It should feel natural. I also tend to go on tangents sometimes. Maybe this is good, maybe it's bad. 🙃
Here's some not necessarily crucial stuff for your stream, but some nice additions to spice up your stream.
- Add interactivity to your stream. A browser source in a scene that loads a page using ComfyJS is a great for this.
- Automate things as much as possible
- Scheduled tweet that you’re going live
- Use a stream deck if it’s in your budget. I bought one about a year into streaming.
- Use service like StreamLabs or StreamElements for moderation bots, interactivity, like when someone follows your stream.
Below is a list of additional software that can help you out during a stream or post-stream.
- Loopback, for merging audio or creating other virtual audio devices
- descript, for subtitles, removing filler words, and video editing if you plan on publishing your streams to YouTube
- krisp, noise-cancelling software
Although not required when starting out with streaming, these are things you can add to your stream over time.
- Light ring
- An external microphone
- Better Web Cam or Camera
- Streaming Deck
- Web Captioner
- Steve Seguin’s YouTube channel (creator of VDO.ninja)
- The Invisible Zoom Streaming method by Rachael Wright-Munn
- Pair Programming with Jhey (shows how to use ComfyJS)
And last but not least, some shameless plugs!
Until next time folks!