DEV Community

Cover image for How to Use OBS Studio to Record or Stream Live Presentations
Erika Heidi
Erika Heidi

Posted on • Edited on • Originally published at eheidi.dev

OBS Recording How to Use OBS Studio to Record or Stream Live Presentations

With quarantine measures and social distancing taking place all over the world, this is definitely the season for online conferences and virtual events. There's also a lot of folks getting into streaming these days, or at least trying to do so - for beginners, streaming can seem difficult, and some streaming tools can definitely look intimidating at a first sight.

OBS (Open Broadcaster Software) is a powerful open source video streaming and recording software, available for Linux, macOS and Windows. Even though OBS is one of the best alternatives for live streaming today, it might not look very intuitive for those who don't have a previous experience with video editing.

In this tutorial targeted at beginners, you'll learn how to set up OBS and use it for recording live presentations and / or streaming directly to Twitch and other platforms.

Getting Started with OBS

OBS interface - stream preview, scenes, sources, and controls

At the center of the screen, you'll se the live preview of your recording / stream. On the bottom left, you have the scenes and sources lists. The audio mixer goes in the middle and on the bottom right you'll see the transition settings and the control buttons for starting / stopping recording and streaming, and to access the settings page.

Configuring Scenes and Sources

A scene is a particular view / way to present: it can contain one or more sources. A source can be your webcam, an image, a video, a slideshow, a desktop window, your entire screen, among other things.

Before streaming or recording with OBS, you'll have to configure your scenes. You will be able to configure multiple scenes and switch between them while streaming. So, for instance, you might be showing your browser window, and then switch to a scene that is configured to show your terminal window.

Setting up a scene to show the terminal window

You can also make composite scenes with your screen and your webcam, for instance, or multiple application windows. OBS is highly customizable, so you have loads of options to set up your scenes and show exactly what you want to show.

Including a webcam in a scene

While streaming, you can switch between scenes by clicking on the scene you want to show next.

Switching between scenes

Just be aware that if you set up too many scenes, it might get overwhelming to manage while you are live streaming. It's good to set up a manageable number of scenes and practice a bit to make sure you select the right ones when you're live. The worst that might happen (and happened to me a few times) is forgetting to switch, say, from the browser window to the terminal window, when you want to show some live commands (only realizing your mistake several minutes afterwards). If you're using multiple displays, it's easier to manage the switch between scenes, since you can keep OBS's window visible at all times and thus keep track of what is being streamed.

Example Scene Setup

DevOps & Chill Scene Setup

When streaming for DevOps & Chill, here's the scenes I have set up:

  • Intro - this scene uses a slideshow source with two images: a cover image with the title / topic I'll be covering, and another image saying we'll be starting soon. I start the streaming a few minutes before with this slideshow, to give people time to join while making sure they know I'll be starting in a few minutes.
  • Annotations - this scene uses a window source to show a text editor where I type explanations about what I'm doing - I don't talk in this stream, so I needed a way to include more details about what I'm doing.
  • Browser Window - this scene is configured to show my browser window.
  • Terminal Window - this scene is configured to show my Terminal Window.
  • Stream Finished - I use this scene when the stream is finished. It uses an image source.

I don't use webcam or microphone in this stream. For live talks, however, I'm using a different set of scenes, which then includes a webcam scene and also browser + webcam.

You can create and switch between different scene settings within the menu "Scene Collection".

Selecting different scene collections

Audio and Soundtrack

OBS allows you to set up multiple audio tracks, so you can have for instance a music playback and audio input from your microphone. However, streaming music involves copyright concerns, and you don't want to get your video offline or muted due to copyright infringements. There are some royalty-free options you can use for streaming, thou.

Pretzel.rocks is a royalty-free music service that you can use with Twitch, Youtube and other services.

You can also download royalty-free music tracks and create a playlist to play while you're streaming.

In either case, there are two ways to configure audio output for your streaming / recording. You can set these at the profile level, which will make the audio sources available for all the scenes automatically in the current profile, or you can configure audio sources specifically per scene.

To configure audio at the profile level, go to the menu "Settings -> Audio" and then select the appropriate devices you want to enable, and disable the ones you don't need.

Setting up Audio output

For my streams I use the default computer output as audio source, this is easier because anything you play will be streamed as audio - the only problem is that this will also include Google calendar reminders, slack notifications, and any alert sounds that might show up while you're streaming.

You can also set up an "Audio Output Capture" source for a specific scene:

Setting Up Audio Output as Source

Once you include audio sources, your "Audio mixer" window will exhibit a live view with the audio levels of all your active audio "tracks".

audio mixer window

Recording Presentations with OBS

With OBS you can record your content without live streaming, which is a great way of preparing pre-recorded live presentations. Because you can also use a video as source, nothing prevents you from pre-recording your stream and then using the recorded video (edited if necessary) as source for a live stream. Most online conferences happening these days are choosing this model over live presentations, because then the speaker can join the live chat and interact / answer questions to the audience while the pre-recorded talk is being streamed.

Recordings are saved in the output directory set in OBS's configuration. This will be set to your home directory by default. To change this location, access the menu "Settings -> Output -> Recording path".

Configuring Output Directory

The controls to start / stop recording are located at the bottom right of the screen. Once you start recording, everything you see in the preview window will be recorded.

Starting and Stopping Recording

Live Streaming with OBS

In order to be able to stream via OBS, you'll first need to set up your personal streaming key/token in OBS's configuration. You can obtain this information in the streaming platform you'll be using (Twitch, YouTube, etc).

Configuring streaming service URL

You can set up multiple streaming profiles, this way you can switch between streaming platforms easily.

Switching profiles and starting streaming

Once you click the "Start streaming" button, OBS wil start broadcasting your scenes to your streaming service. Everything you see in your preview window will be streamed to your audience.

In your settings, you can configure OBS to start recording automatically when you start a new streaming. This is useful if you plan on editing and/or uploading the video stream to another platform later.

Bonus: Post Production Tips & Tricks with FFMPEG

Live streaming is fun and exciting, but being able to post the recorded video to your Youtube channel and other platforms is a valuable way to maximize your content reach. A tool like FFMPEG can help with some batch operations and simple editions that don't require a fully fledged video editor such as OpenShot (my personal favorite). Here's some tricks I've learned with ffmpeg that could be useful for you too:

Converting to MP4

Converting to different formats is quite straightforward with ffmpeg:

ffmpeg -i input_video.mkv output.mp4
Enter fullscreen mode Exit fullscreen mode

Speeding Up Videos

On DevOps & Chill, I don't talk, I only type. I guess it's not a big deal while it's happening live, but I find the resulting video just really slow, so I like to speed up the videos to 2x the original speed. This is how you do it with ffmpeg:

ffmpeg -i input_video.mkv -an -filter:v "setpts=0.5*PTS" output.mkv
Enter fullscreen mode Exit fullscreen mode

This will remove the audio from the video (-an option). Removing the audio is necessary because when you speed up without changing the audio, the FPS won't match anymore, and this can cause trouble during playback. And you probably don't want to speed up the audio too ;) See the next tips for how to deal with audio.

To speed up all videos in a directory, you can use this one-liner shell script:

for i in *.mkv; do ffmpeg -i "$i" -an -filter:v "setpts=0.5*PTS" "${i%.*}_fast.mkv"; done
Enter fullscreen mode Exit fullscreen mode

Extracting Audio from Video

This will extract the audio track from the video and save it to a .aac file.

ffmpeg -i input_video.mkv -vn -acodec copy output_audio.aac
Enter fullscreen mode Exit fullscreen mode

The resulting .aac file can then be converted to .mp3 if you wish:

ffmpeg -i output_audio.aac output_audio.mp3
Enter fullscreen mode Exit fullscreen mode

Generate a playlist with mp3 files

This will concatenate the listed .mp3 files into one audio file.

ffmpeg -i "concat:song01.mp3|song02.mp3|song03.mp3|song04.mp3" -acodec copy video_playlist.mp3
Enter fullscreen mode Exit fullscreen mode

Include a new audio track in a video

This will insert the video_playlist.mp3 audio track in the video.

ffmpeg -i input_video.mkv -i video_playlist.mp3 -c copy -map 0:v:0 -map 1:a:0 input_video_with_music.mkv        
Enter fullscreen mode Exit fullscreen mode

Conclusion

OBS Studio is a powerful, free and open source software for recording and streaming live presentations. Once you get familiarized with its interface and how to configure scenes with sources, you'll see it's not difficult to use it, and it will enable you to perform professional live streaming and video presentations using only your computer.

There are certainly many different ways to configure OBS to suit your needs, depending on what kind of content you want to present. Play around with different settings and experiment until you find the scenes that work best for you! I hope you'll now feel empowered to start that live streaming idea you've been postponing :) what time better than now?

Top comments (20)

Collapse
 
jmplourde profile image
Jean-Michel Plourde

Thank you for this wonderful post Erika! I always wanted to stream myself coding, study session and gaming on twitch. With this pandemic, I lost my summer intership so the timing is perfect to start this project. I found some valuable resources in your article, specially Pretezel. I've already done an overlay and some panel images. I can't wait to start.

Collapse
 
erikaheidi profile image
Erika Heidi

This is awesome, thank you for sharing! I'm very happy this post helped you. Also, please share your Twitch profile so I can follow you there :)

Collapse
 
jmplourde profile image
Jean-Michel Plourde • Edited

My twitch profile is twitch.tv/bigj1m/ but for now it's mostly empty. I'm in a rush to make it more interesting. What is your profile? I might have missed the link in the post.

Collapse
 
bcbreeden profile image
Brian Breeden

I have been thinking about trying to stream, thank you for writing this!

Collapse
 
erikaheidi profile image
Erika Heidi

I'm glad it was helpful to you, and hope you manage to make it happen - also, share your twitch / YouTube so I can follow! ☺️

Collapse
 
bcbreeden profile image
Brian Breeden

I don't have it set up yet, but when I do, I will check back in. :)

Collapse
 
tintin050903 profile image
Christin Calma

Great! thanks for sharing this awesome post. you really help us a lot. I can try to use all of them later. Besides, I will recommend you to use an alternative screen recorder which is the Acethinker Free Online Screen Recorder, this is one of the simple yet effective screen recorder that will help you record all the activities on your computer screen with ease

Collapse
 
melozo profile image
Meloko

Thank you very much for sharing all this information.
It is helping me a lot!

Collapse
 
erikaheidi profile image
Erika Heidi

Thank you for your feedback! πŸ₯° I am glad this info is being useful for you!

Collapse
 
tonyleja profile image
TonyLeja

Excellent tutorial!!!

Collapse
 
erikaheidi profile image
Erika Heidi

thank you! :)

Collapse
 
rajikaimal profile image
Rajika Imal

Great article, didn't know about Pretzel, thanks!

Collapse
 
erikaheidi profile image
Erika Heidi

Thank you! ☺️

Collapse
 
erikaheidi profile image
Erika Heidi

Thank you for sharing! I usually have a difficult time memorizing keyboard shortcuts, so I never tried those. But I am sure it's very useful for many people!

Collapse
 
un4uthorized profile image
Miguel

Thank you for sharing! 😊

Collapse
 
marveen profile image
Rodrigo Valenzuela

@erikaheidi ! thanks! awesome and super complete !! very importan info to me!!!

Collapse
 
driftuazartur profile image
driftuazartur

Interesting, I've never used this application before

Some comments may only be visible to logged-in visitors. Sign in to view all comments. Some comments have been hidden by the post's author - find out more