Monday, May 13, 2013

Logans leisure #1: Open Broadcaster Software Review

Open Broadcasting Software Review

How I found it

I started on this adventure looking for a way to record audio and my actions on my desktop. Just like pretty much anyone else, I started out by searching the internet for "top screen recording programs". What I found was that there were a myriad of different program options out there, each one with their different pros, cons, and apparent different design goals. After searching for a while it became apparent that for each general category there were a few programs that were frequently considered the best out there.

Like I said, I started out looking for a screen recording software. The main (windows) software that I kept hearing about were Camtasia (paid) and CamStudio (free). Since I'm a rational (read: Poor) recent college graduate, I of course started out with CamStudio. CamStudio is a great product actually, and once I had installed the HD codec for it I was quite pleased at the quality of my captures. However, there was one huge problem that I had with CamStudio.

CamStudio lets you choose one source of audio. Now, if you're recording some sort of tutorial and need your voice captured, its not a problem. Neither is this a problem if for a different tutorial you need to only capture the sounds that occur on the desktop (aka, the sounds that you hear from your computer). Where this becomes a problem, is if you want to do something like say... record a skype conversation with your parent/family/relative/etc. Because you can only record from one audio source, your video will have the full skype video , and either the audio from your MICROPHONE, or from your DESKTOP (aka, either your voice, or theirs). Obviously this is less than ideal.

After digging around for a while, I learned that I had a few options. There is something called "stereo mix" that can be enabled on certain sound cards. Stereo mix allows you to simply mix the two audio sources into one. Perfect, after some quick looking around, I learned how to do that, and it wasn't hard. I thought I'd solved my problem. Turns out... not even close. To use Stereo mix (which not all sound cards do btw), the sounds all have to be handled by the same audio device. For most people, this shouldn't be much of a problem. However, if you use ANY two different sources, then this becomes a huge problem. I myself use two different USB devices for much of my audio. I use a Fiio E10 as my USB DAC and pre-amp (for my desktop 2.0 system), and I use a USB microphone (Samson Go Mic). Because these sources are totally different, there was actually no way for stereo mix to work. At all. Awesome.

After a bit of research, I learned that one way that maybe people have dealt with this problem was to use a program called "Virtual Audio Cable". This is a small paid program that lets you select audio streams and "virtually" connect the inputs and outputs to basically whatever you want. This would work fine, but would cost money. The free version of the software also works, but it sadly inserts the words "trial" every 15 seconds (an actual 15 seconds, not an exaggeration). Clearly not as ideal (aka, free), but at least I knew there was a solution. I still was looking for a better (aka, more free) solution if it was out there though.

Finally, I discovered a different class of product out there meant for something entirely different. Broadcasting software. Most of these allow you to have multiple audio sources (my USB devices included), and also allow for the same types of screen recording features that you find in the more typical screen recording softwares. The most common one that I found is called Xsplit. It is very popular, and very not free (noticing a theme here?). But once again, at least there was a way (as a side note, I'm totally willing to pay for something if it does what I want, and there is no other solution, but I usually at least exhaust all my available options before I do that).

After learning about Xsplit, I of course looked to see if there was a better (free) alternative. And I found one. It is a relatively new open source program called "Open Broadcaster Software" (aptly named). It offers almost identical functionality of Xsplit, and is completely and totally free. Awesome, I love the internet.

Open Broadcaster Software

Link to the Open Broadcaster Site

I gave it a try, and actually discovered that the program is entirely usable, stable (even in its version), and even understandable. After using it for a month or so, I thought that I'd help everyone out there looking for reviews and information about this new software (like I was two months ago, when there wasn't any out there) by creating some sort of brief overview of how it works, and what my impression is of the software so far.

Here is what you'll see when you fire up OBS. Notice that you can separately control desktop and microphone sounds right from here.

The most important thing to know about OBS (open broadcaster software), is that before you can start recording using OBS, you have to create a scene. You can (and likely will ) have more than one scene, each with one or more captures. That is, it is a one to many relation ship of OBS to scenes, and also a one to many relationship of scenes to captures. Knowing that, you'll be half ready to use it.
Scenes are simply different images that you want to have displayed to your final output. So just like a real broadcasting studio will want to be able to quickly and seamlessly change the video scene from the content, to a commercial, you can do the same by having different scenes. Each scene can have totally different captures (as well as multiple captures), and you can arrange the number of captures/images in each scene into whatever format or design that you would like.

For reference, my normal starcraft casting scene has 7 captures (game, replay overlay image, player images [x2], scoreboard, etc). Switching to a different scene is as easy as assigning a hotkey to each one, and then pressing the hotkey during the live recording/stream. Each one of the red rectangles here is a different capture, all arranged into one scene.

The Main capture types:

 To add a capture, simply right click in the "sources" window, and add the type of capture that you're wanting.

Window Capture
Window captures are just what they sound like. They capture the windows. You will note that when you're creating a new capture in your scene (remember, before you can create captures, you will need to have a scene created to add them to), you will have the option to take either the entire window, or just the inside of the window. Generally unless you are doing a tutorial or something, you will want only the inside of the window. Capturing just the inside of the window prevents the window close/minimize/maximize and border padding from being captured.
I would also like to point out that window capture allows a window to be captured even if that window is behind your current active window. This is invaluable, because at times you only have so much screen realestate, and allowing some windows to be behind the current active one, but still be included on the output is crucial.

Window Captures are recommended for basically everything, unless you need some other form of capture. It should be considered your "default". It should also be noted that the window needs to be open for the capture to be created successfully.

Monitor Capture
Monitor Capture. This one is similar in concept to window capture, but instead of capturing the window regardless of where the window was, you capture either a complete monitor (entire screen), or a sub-region of a screen (just a specific area of that screen that you specify). I used this a lot af first as it was the easiest capture to setup, but found that over time it has become my least used capture type, and is generally reserved for tutorials or something else where I want to view entire portions of my desktop.

Game Capture
Game Capture. This is one of the "killer" features of OBS. It has DX hooks that allow it to record full screen captures of games. Just like window capture, for you to create a new game capture, the game needs to be running for you to be able to set it up. Once you have set up the capture in that scene, you don't have to re-setup anything. You simply have to fire things up and get recording.

Game capture is something that doesn't work with some of the more typical screen recording softwares like CamStudio. They can record if the game is not un fullscreen, but fullscreen game captures is something that only Xsplit and OBS do (that I am aware of at the moment anyway).

"Secondary Captures"
The secondary "capture" types are all pretty simple and easy to understand. They simply do things like insert images (including animated GIF's), insert text and so forth. Just like anything else, once they are added to the scene, you can easily edit the scene to get the images and text located whereever you would like.

The Wrap-up

Overall I've been very happy with OBS. The product works just like you'd expect, has pretty decent documentation (something that you usually do NOT see with open source projects) and has allowed me to do all of the things that I couldn't do with CamStudio, while retaining almost all of things that CamStudio could do.

If you're looking for a way to do screen capture on your windows box, particularly if you have ANY need for capturing more than one audio source, want to record full screen games, or want to stream live, then I really think you should check out OBS and see if it fits your needs.

Thanks for reading :).

And I will be adding a video showcasing the same things on my youtube channel here as soon as I finish moving, and get all set back up again. Of course I'll let everyone here know when I do that :).


  1. Hi Logan, thank you for the thorough review on OBS. I have a question that I hope you can answer. I have a 9 year old son who wants to download this software. He is a pretty smart little guy when it comes to computers, and I want to encourage his interests. But I am concerned about safety. So is the program safe for a 9 year old? And is it easy enough to use? Okay, so that's 2 questions. :) Thanks so much.

    1. Thanks for reading, and for taking the time to ask about this. Now to see if I can answer them to some extent.

      The question of safety might depend on what part of safety you had in mind. I can say that the software is not full of malware, spyware or "viruses". So in that sense the software is safe. The next area you may be talking about is what the software can do, and if it is "safe".

      OBS really just does two things. It either broadcasts a live stream to a streaming site, or it saves files to a local or remote folder. I've only used it to save files to my computer to upload to youtube later. Broadcasting to a live stream would be the only thing that might be "worry worthy" for you. I don't think that it is possible to disable that portion of OBS. The streaming sites require their own accounts though, so perhaps you can use that fact to help you monitor your childs usage.

      Now, the second question about ease of use. OBS is pretty straight forward to use in my experience. The help pages are actually useful, and its easy to test things out. That said, this is not Microsoft Paint. On the flip side, OBS is nowhere near as complex as programs like Adobe Photoshop or GiMP (a free competitor to photoshop). I actually think that this is a pretty good program to learn on. Its got a fair amount of complexity, but nothing overwhelming.

      The last thing I'll mention is just that this isn't a game. Its not that OBS is a bad software, its just not a game. It is super useful for creating surprisingly well put together videos, presentations, recording gameplay, and recording Skype conversations. Just know that this isn't a videogame.

      Thanks again for reading, and now maybe I'll finally get around to making the video review that I've mentioned :).

  2. Thank you for this. Might try out OBS since I've been having problems lately with CamStudio. It used to work great but suddenly seems to have developed major issues.

    1. Thanks for reading :).

      I think you'll be quite happy with OBS. I only used CamStudio for a little over a week, but I found that OBS was much more intuitive to learn, and much more powerful in what it can do with the output.

  3. Try this new app for live streaming -