My favorite OBS feature is that you can bring in transparent browser windows all over the place. As such, I have my work conferencing set up so my time appears in the upper-right corner. I’m on the east coast and everyone I work with is on the west coast. It’s a nice way to remind them of my current time. (It also passive aggressively animated to purple with a moon when its “after hours,” a/k/a 5pm for me.)
I also have shortcuts to pull in live weather conditions, our company stock price, crypto prices for fun, a 1- and 3- and 5-minute timer, as well as a countdown of days until important work events.
It’s fun, and all just a bit of HTML and CSS and JS. (And PHP/cURL/cron to pull stock and weather prices in the background.) All this for free with OBS.
I realized you could do that a few months back and finally built a little HTML/CSS/JS-based 'TODO' list so people could more easily follow along with my progress completing a set of tasks during live streams: https://www.jeffgeerling.com/blog/2021/obs-task-list-overlay...
It was trivially easy to get it formatted properly without me having to know anything about the GUI programming language OBS uses. Definitely an enlightening moment when I realized you can overlay anything with HTML!
This is fantastic. I really like the local-time clock idea. Now that I’ve been enlightened, I think it should be a standard option in all conferencing software.
I completely agree. I've had quite a few people ask me "how do I turn that on in Google Meet," to which I then have to explain, "it's waaaaay more complicated than you'd expect."
I'm surprised "simple overlays" aren't a thing in any of the video conference software yet.
I've embedded a browser window in an OBS stream on my mac, and it just about ground my computer to a halt; the CPU was pegged at 100%, and using it with Zoom basically meant not using anything else.
I used to run a daily show off a tricked out MacBook Pro, and it was really problematic (e.g. 30 second delays on live streams). Moved to PC with a good processor and video card, and now it just sips the processor at ~12% with near-live performance. If you use OBS for live streaming, I strongly recommend you move off of Mac, especially if you do anything beyond the most basic operations.
There is a lot that you can do to optimize OBS streams before you may need to jump to Windows, however :)
I’ve got a within-the-last-18-months MacBook Pro, so yeah, your mileage may vary. A dedicated graphics card helps tremendously. I’ve got a gaming PC with a recent NVIDIA card and it does even blink at it.
I haven't tried embedding a browser window in OBS on Mac yet, I'll have to try it.
But you should check to see if you have activated hardware encoding. Go to "Settings" and "Output", select "Output Mode: Advanced" and then in the "Encoder"-dropdown you should now see an option called "Apple VT H264 Hardware Encoder". That should hopefully help somewhat with CPU.
It's just mac. On my Windows desktop OBS purrs like a gentle kitten while streaming games, running Unity, and pulling in windows from 3 4K monitors (and my CPU is from 2014, and a GTX1080).
It crashed the first time I tried to set up the most basic stream on Mac, so I never tried again.
As part of a school project this past year, my son had to do a historical video report. Together, we hacked together a set of 17th century evening news overlay graphics complete with scrolling headline ticker. OBS was great.
As I mentioned in another comment — I used jQuery, and chose not to share anything because I don't need everyone's feedback on how old and dumb that makes me. :)
But basically, anything you can render in a browser can happen on the screen. Get JavaScript to show your current time in a browser, then pull in that URL into your OBS scene. The background will be transparent.
I think it's using Blink to render things underneath, that's what it seems like at least.
Doesn’t alter the existing stream. OBS creates new virtual camera that it outputs from your mix of input sources. You then tell zoom to use the OBS virtual camera as its source.
Instead of "altering" a stream, you use OBS to take the camera input, then output it via virtual cam. Once you have the basics setup, you can get fancy setting up scenes, overlays, color corrections etc. Works great for green screens as well.
My code isn't public because it uses jQuery and I don't need the feedback about how old I am because I like jQuery. :)
But generally speaking, if you can get JavaScript to display the current time in a browser, you can pull in that file via a browser source (using a file:// protocol) and show it on the screen. From there, it's a matter of doing anything else you can get JS to show in a browser. Or, if you have a local server running, you can display entire websites along side your face.
At that point, it's an interesting shift in mindset — you're not designing stuff for the browser, but to be displayed next to you.
Excited for this release since it contains M1 Apple VT H264 Hardware Encoding support[1] — I know on my Intel Mac, OBS would massacre the CPU if I didn't have the hardware encoding enabled. On the M1 it's not quite so bad, but being able to use hardware encoding does save a lot of CPU cycles when streaming at higher bitrates!
So I've had the reverse issue. With hardware encoding on and external monitors plugged into my intel macbook, everything would overheat and I would get kernel throttling of everything.
The external monitors cause the GPU to draw more power, but I'm not sure why that combined with hardware encoding in OBS caused issues. When I switched to software encoding the cpu was a bit higher but everything was fine.
Apparently this is related to VRM overheating and people have workarounds posted on reddit, but it seem like switching to software encoding made it go away for me.
I’ve had the same issue, it’s critical to get fans to cool your MacBook pro since they are not capable of cooling themselves under load, especially i7 or i9.
I have cabinet fans under mine and it works great, just don’t ask me to use a MacBook Pro as a laptop.
Any idea when it’s coming? I know no one likes that question, but... well, I have an M1 Air, and I’d love to stream some coding sessions or tutorials. So arm64 support would be tasty.
Is there some way we could help with the arm64 patching?
OBS is such wonderful software. It's immensely powerful yet approachable and performant. I am not a streamer, but I've found it really useful as an audio/video swiss army knife. Many thanks to the team and community behind it!
Yeah; I'm not a streamer either, but it took me all of an hour to go from "what's OBS?" to enabling use of my iPhone as the video camera for Zoom calls. Haven't had time yet to do anything interesting with OBS "scenes", but it looks similarly, surprisingly straightforward. A+!
That sounds great - I need a webcam for my desktop workstation and I’d love to just use my iPhone. Can you share more about your setup? What software are you using on your phone to connect it?
Agreed. PSA: OBS can be used to create videos as well.
I first used OBS to create a video presentation for school. Most of the time I was showing slides, but occasionally I would switch to a full view of myself (as required by the assignment). Or you can do the common view of big slides and a small video of the speaker in the corner.
Absolutely, before this you had to use stuff like FRAPS, Camtasia, proprietary webcam software, etc. There was no all-in-one way to record any webcam/desktop.
OBS does it seamlessly and across all combinations. And the staging is neat too.
It really is. It's hard to believe its free too. When I started using it, I was convinced it was commercial software and I had just missed the "Buy now" button.
I got into that stuff in the earlier days of Streaming when OBS wasn't even out/was too new. I have perpetual licenses for XSplit and other softwares, but OBS still usually come up on top. It's impressive how good it is.
Undo/redo would be me :). I put in a lot of effort and spent months working on it to get a basic workable version. I am only just a you g student, so over the last several rcs, Jim refined it and made improvements and bug fixes. I love the team and everyone involved is just a great person.
It was such an obvious missing feature. Though to be fair, implementing undo/redo functionality is often nontrivial.
However, there's still no way to save/export scenes, aside from simply copying your entire app data directory. I just have a basic layout with few tweaks so it's not the worst thing ever, but for any streamer with a complex setup and carefully adjusted filters, moving to a new computer or whatever must be an enormous pain point.
Exporting and saving scenes can be done with export scene collection. It’s kind of clunky in terms of workflow but I’ve had success exporting/importing scenes across computers.
You can export your entire scene collection to a json file and import it on another computer.
If you keep all of your media and such in the same folder, then the new Missing Files dialog on startup will also auto detect every source after you point one to the new location.
From my experience the NVIDIA filter is miles better both in detecting noise as well as suppressing just the noise but has significantly more latency and will incur a decent perf hit on the GPU (~10% FPS or so if the GPU is the bottleneck).
These days if it's live is use RNNoise and if it's for a recording I use Nvidia's filter.
Interesting. I have a PC just for streaming (I encode with CPU as well) with a[n] nvidia card, so I'm not concerned about GPU usage. I'll give it a go.
Slight tangent: Is it best to say "An nvidia card" or "A nvidia card"? 'An' sounds better, but 'a' is right according to my 4th grade english lessons. I think 'an' sounds better because you're really saying "(e)nvidia". I don't know if the "an before a vowel led word" rule applies to the pronounced or the written word...
> This fixes the black screen issues on laptops in particular
My youngest wanted to learn how to use OBS so he can begin making videos of his gaming. I tasked him with figuring out everything, from how to download it (I closely monitored this part), install it, and use it. He watched tutorials.
He got so far but got discouraged when he ran into the above issue and started the whole process over again because he thought he must have messed up. We eventually figured out the workaround but so happy to see they've fixed it!
This is a big deal for me. I really like to use OBS to capture things when I want to show someone how something is working. Until now using OBS has essentially meant disabling my iGPU which, for me, kills battery life and isn't worth the sacrifice. I have been using Windows Gaming (press Win+G) to capture videos and then manually cropping and re-compressing them using KDEnlive.
The mechanism of action I've seen is that sometimes OBS will start on, say, internal graphics, and you'll need to force it to run on your discrete graphics card in order to get it to screen capture your video game.
This affects computers that have both integrated and discrete graphics (say, to save power on a laptop).
I considered OBS a really nice piece of software, specially after a 10-year long track record of testing desktop capture software like Camtasia and the like. After fighting myself with ffmpeg (libav) to build a simplified desktop capture software myself, my appreciation for OBS has increased even more, because dealing with libav or anything multimedia is definitely a pita.
Seeing as OBS is now ubiquitous for livestreaming, I have to wonder if there's one or more software companies out there who see all that usage as lost revenue from a proprietary solution and are kicking themselves over it.
I almost can't believe how good OBS is for being open source.
Wirecast has been around since the mid-2000s and has a very similar feature set to OBS. It is lacking in some areas and ahead of the curve in others (Wirecast has GPU-accelerated scene preview thumbnails instead of OBS’ flat text list). VMix is another successful proprietary desktop streaming software. You could also probably add the OG, TriCaster, to the same list as it solves many of the same problems (video switching on commodity PC hardware, real-time layering/compositing, desktop capture, etc) but is married to NewTek’s hardware.
I also have shortcuts to pull in live weather conditions, our company stock price, crypto prices for fun, a 1- and 3- and 5-minute timer, as well as a countdown of days until important work events.
It’s fun, and all just a bit of HTML and CSS and JS. (And PHP/cURL/cron to pull stock and weather prices in the background.) All this for free with OBS.
Easily a top 5 app for me.
It was trivially easy to get it formatted properly without me having to know anything about the GUI programming language OBS uses. Definitely an enlightening moment when I realized you can overlay anything with HTML!
I'm surprised "simple overlays" aren't a thing in any of the video conference software yet.
Is it just me?
There is a lot that you can do to optimize OBS streams before you may need to jump to Windows, however :)
But you should check to see if you have activated hardware encoding. Go to "Settings" and "Output", select "Output Mode: Advanced" and then in the "Encoder"-dropdown you should now see an option called "Apple VT H264 Hardware Encoder". That should hopefully help somewhat with CPU.
It crashed the first time I tried to set up the most basic stream on Mac, so I never tried again.
But basically, anything you can render in a browser can happen on the screen. Get JavaScript to show your current time in a browser, then pull in that URL into your OBS scene. The background will be transparent.
I think it's using Blink to render things underneath, that's what it seems like at least.
I wouldn't call it passive-aggressive; it's a pertinent bit of information that could be easily missed by some otherwise.
https://www.nextofwindows.com/how-to-use-obss-virtual-camera
(There are other articles that talk about using a plugin, that isn't required after OBS v25, they integrated the feature).
But generally speaking, if you can get JavaScript to display the current time in a browser, you can pull in that file via a browser source (using a file:// protocol) and show it on the screen. From there, it's a matter of doing anything else you can get JS to show in a browser. Or, if you have a local server running, you can display entire websites along side your face.
At that point, it's an interesting shift in mindset — you're not designing stuff for the browser, but to be displayed next to you.
[1] https://github.com/obsproject/obs-studio/issues/4170
The external monitors cause the GPU to draw more power, but I'm not sure why that combined with hardware encoding in OBS caused issues. When I switched to software encoding the cpu was a bit higher but everything was fine.
Apparently this is related to VRM overheating and people have workarounds posted on reddit, but it seem like switching to software encoding made it go away for me.
https://www.reddit.com/r/macbookpro/comments/gs6bal/2019_mbp...
https://support.apple.com/en-ca/HT207359
I have cabinet fans under mine and it works great, just don’t ask me to use a MacBook Pro as a laptop.
https://forums.macrumors.com/threads/16-is-hot-noisy-with-an...
Is there some way we could help with the arm64 patching?
FWIW I've used iVcam until recently, and I'm now an happy user of Reincubate Camo
I first used OBS to create a video presentation for school. Most of the time I was showing slides, but occasionally I would switch to a full view of myself (as required by the assignment). Or you can do the common view of big slides and a small video of the speaker in the corner.
OBS does it seamlessly and across all combinations. And the staging is neat too.
I got into that stuff in the earlier days of Streaming when OBS wasn't even out/was too new. I have perpetual licenses for XSplit and other softwares, but OBS still usually come up on top. It's impressive how good it is.
Wooooh! That's going to turn so many instances of "Oh I've just deleted 30 minutes of filter tuning" into "whoopsy, undo"
also:
* "(Windows only) Added support for NVIDIA Noise Removal in the Noise Suppression filter"
Nice! I wonder how that compares to the old RNNoise option...
However, there's still no way to save/export scenes, aside from simply copying your entire app data directory. I just have a basic layout with few tweaks so it's not the worst thing ever, but for any streamer with a complex setup and carefully adjusted filters, moving to a new computer or whatever must be an enormous pain point.
If you keep all of your media and such in the same folder, then the new Missing Files dialog on startup will also auto detect every source after you point one to the new location.
These days if it's live is use RNNoise and if it's for a recording I use Nvidia's filter.
Slight tangent: Is it best to say "An nvidia card" or "A nvidia card"? 'An' sounds better, but 'a' is right according to my 4th grade english lessons. I think 'an' sounds better because you're really saying "(e)nvidia". I don't know if the "an before a vowel led word" rule applies to the pronounced or the written word...
Deleted Comment
My youngest wanted to learn how to use OBS so he can begin making videos of his gaming. I tasked him with figuring out everything, from how to download it (I closely monitored this part), install it, and use it. He watched tutorials.
He got so far but got discouraged when he ran into the above issue and started the whole process over again because he thought he must have messed up. We eventually figured out the workaround but so happy to see they've fixed it!
This affects computers that have both integrated and discrete graphics (say, to save power on a laptop).
I almost can't believe how good OBS is for being open source.
[0] https://streamlabs.com/