I haven't spent much time in the video processing/streaming space, but I was delighted to discover OBS Studio this week while putting together what has turned out to be an incredibly cozy little entertainment setup by feeding the two gaming consoles and geriatric gaming desktop I've acquired over the years into an HDMI switcher and USB HDMI capture box that in turn streams the feed into an OBS Studio preview (launched from Steam) running on a dummy display.
Launching OBS Studio through Steam lets me stream that preview to my VR headset over a 6GHz WiFi dongle and play games wirelessly in what feels like my own little private theatre. OBS Studio was the puzzle piece I hadn't figured out when the headset showed up last weekend, and I've been really impressed by its performance so far... I think this setup even shaved some latency off when playing online, since consolidating the consoles next to the router let me hardwire them.
Many many thanks to the OBS Studio team for making software that's helping me live out a small part of what I remember hoping technology could be like back in the 90s. I am grateful (:
Funny how you went the huge app route for such a narrow scope where I would have just used a lightweight tool like ffplay given the setting would never really change.
Finally... The CEF they used was 2 years out of date, and after RCE exploits [0] occuring in the wild getting big enough that they got picked up in the media [1], we finally have a fix 1 month later.
You can find why it was complicated [0] and why it took so long [1] on GitHub. I do wish I had been faster on it. That said, the RCE required the user to be using a vibe-coded web-based chat overlay that didn't properly sanitize chatter inputs, so has a (hopefully) limited scope.
Thanks for chiming in and linking that, that was an interesting read. As much as I understand CEF's reasoning for making this shift, it's baffling that they don't provide a universal way to implement what you now had to implement yourself.
>> My vibe coded apps tend to over sanitize inputs. Not sure what was the point of blaming LLMs.
> LLMs weren’t blamed … If you don’t know what you are doing any tool can be dangerous
If we're not talking about LLMs but instead about humans (who might be coding by hand, or from stackoverflow, or who might be using an LLM regardless of whether it frequently sanitizes by default), then shouldn't the original comment have more accurately referred to humans, as vibe-coding specifically refers to LLM use, right?
Did you mean to reply to my comment? Was your issue with the original claim that lack of sanitization *"required"* "vibe-coded" functionality, or with the counterclaim that lack of sanitization can and has occurred even for code that is 0% related to vibe-coding or LLMs (let alone "requiring" vibe-coding for it to occur)?
There are a handful of comments here rueing buggy behaviors. These days with nearly the same amount of effort to post a complaint you can delegate the task of reproducing the issue, diagnosing the root cause, and proposing a fix. Yes, it may incur a small to moderate cost, but it's a contribution to an open source project that apparently provides some value in return.
I think this is what the whole "AI killed software" fallacy came from.
>nearly the same amount of effort to post a complaint you can delegate the task of reproducing the issue, diagnosing the root cause, and proposing a fix.
Is the effort the same though?
And even it is the same, making a meaningful contribution to an open source project doesn't mean just fixing your problem, but you also need to stay in line with the contribution guidelines, the project's direction and many more, which takes much more effort than just vibe coding a version for yourself.
Building software for one and for a bunch are two different things. AI is good at the former and can be used for the later but not without much effort. Models will get better, true, but that doesn't mean we need less engineering, in fact we need more to stay up-to-pace with AI. Imagine everyone submitting a PR to fix a bug, how fast can you review it manually? And if you use AI to review/verify them, the cost just shift from person who submitted the PR to the open source maintainer.
That doesn't mean AI is bad but that we need new systems and rules.
> There are a handful of comments here rueing buggy behaviors. These days with nearly the same amount of effort to post a complaint you can delegate the task of reproducing the issue, diagnosing the root cause, and proposing a fix. Yes, it may incur a small to moderate cost, but it's a contribution to an open source project
That would violate OBS's rules - they disallow AI-written code (or write ups) being submitted. Additionally, if you put nearly the same amount of effort into it as a comment mentioning the original bug - i.e. not much effort - they say that may result in a project ban.
Okay, I'll bite the bait. Assuming that I am a regular user (think gamer), I have a Windows PC, no dev tools, no AI subs or accounts, no GitHub. How specifically can I do the steps required to propose the fix they way you suggest?
Out of interest- what is your recommended path for this? I mean the path of least resistance where I don’t even have to check out the code locally or similar.
Officially and unofficially, the most you need to do is create an Issue report with valid reproduction steps. You'd be surprised how quickly some issues get fixed just because someone finally provided the missing link in an Issue.
> All text and content submitted to our project, which includes code, descriptions, issues, and comments, must be human written.
> The use of GitHub Copilot and other assistive AI technologies is heavily discouraged.
> Low-effort or incorrect submissions that are determined to have been generated by, or created with aid of such systems may lead to a ban from contributing to the repository or project as a whole.
Did they finally fix the bug where if you have less than ~40gb storage the recording will just randomly die for no reason with no notice, it is unimaginably annoying
Is this on macOS [0] or another platform? I don't think I've heard of this issue - if you have a log of such a session, please create a bug report [1].
Man I get exhausted just by reading other people's complaints (without environment description or steps to reproduce). I am puzzled by what keeps OSS maintainers going.
- use obs any of the latest versions on macos any version
- have reasonably low storage
- start recording
- couple seconds or minutes later the video on the preview gets frozen and stops being recorded, while audio continues; recording status unchanged
- the freeze usually happens in the moment of switching between apps, allthough this isn't required at all
yes maintainers do it for free for years which deserves recognition but this exact issue existed for years and has been reported in many ways, without any change, and no other apps have ever behaved this way on my devices
Since there's a lot of talk about the CEF update, does anyone know why they compiled it in instead of having it as a normal plugin? It's incredibly annoying that compiling OBS means compliling almost all of chromium...
I tried a bunch of "open" tools last week, but turns out they are a paid tool in disguise most of the time. I eventually paid for CleanShotX for my work and have peace of mind because it just works. OBS is IMO much more stable and aimed at live streaming anyway.
OBS is much more aimed at livestreaming to platforms like Twitch and managing multiple cameras incl one of you, one of your screen etc. Well beyond what Cap is for.
But yes, use the most specialized tool for the task at hand.
Cap completely ate several recordings for me. Admittedly they were over an hour long, and I should’ve broken them up a bit, and perhaps it’s not what it’s used for. Switched back to OBS, while it’s not as easy to use it’s pretty reliable
I love that I can stream from my iPhone directly into OBS on my Mac. I don't love that Metal shaders aren't supported, and I have to rely on janky extensions to get them working.
While we're here, does anyone know a screen recording application that automatically takes into account display changes, audio device changes, camera resets, etc.?
I'm making do with OBS, but I lose more video to "plugged in external monitor and forgot to update OBS config" than I actually record.
Yes, please, that would help so much. OBS seems to be designed for static setups and a single output stream. In my case, I have a setup that changes often (for example, connect a USB video device that processes input from a microscope). I thought I would be able to record multiple video streams at once without burning them into a single output stream (e.g. to multiple files, or a multi-stream file), but this turned out to be difficult without hacks.
The Branchoutput plugin[1] is what you are looking for for multi recording/streaming. It allows you to add recording (or streaming destinations) to individual sources, scenes and outputs via the video filter settings. It is really quite powerful.
Thanks -- this does look like it would do this. But I'm wondering if this entire setup isn't completely overkill. All I need is to record multiple video streams simultaneously. I currently do this by launching multiple Quicktime Player apps and clicking "record" in each one of them...
Have you considered using GStreamer pipelines for this? And taking it one step further, if you want to use OBS generally, there's a plugin for OBS that allows you to integrate pipelines too.
The common case for the plugin is to do some preprocessing before importing the video into OBS, but you can also use the pipeline as a video filter, which is really powerful, because you can inject a filter into not only a single source, but also at any level of a nested scene. So you can scale/composite several inputs together and then the video filter can copy the source stream and encode/tee it to a file output. Might still be considered a hack of sorts.
I too frequently plug and unplug dock and external displays. It's a little painful to keep checking and sometimes re-add display source to get the default screen and voice recording working.
I wonder if the "modern" way for problems of this nature is to fork the open-source repo and ask your favourite agent to strip it down to bare essentials that you need (performance gains) and add the specific feature enhancements you want (needs to work only for your configuration -- may not pass the quality standard needed for a PR)
This could probably be automated using either an OBS plugin (if you really want deep integration and not running another program) or a standalone program (written in whatever language you want) that listens for display changes and pokes OBS using its websocket API. The hooks are definitely there to update source configs.
Surely the main function of a capture program should be to capture video, no matter what, even if that means capturing too much / uninteresting sources some of the time?
Except it's really designed to composite video from a bunch of different places and broadcast the result, whether they are windows, screens, cameras, etc. And a rather lot of people don't want every screen to be captured, just the ones that they have selected. It's not a "screen recorder" program, really. And it's explicitly designed with an API to be remote controlled if hardware changes out from under it, so you can encode exactly your own policy logic on what to do. (External display plugged in? Disable my laptop source at full resolution and enable my laptop and monitor sources, side by side, with one scaled as necessary, and in this layout. But if I'm currently recording or streaming, don't do anything. - this is user-specific logic)
The plugin-loading overhaul and improved source snapping look like useful updates. OBS continues to show how much attention to detail matters in open-source software. Excited to see how creators and plugin developers adapt to version 33.0!
I haven't spent much time in the video processing/streaming space, but I was delighted to discover OBS Studio this week while putting together what has turned out to be an incredibly cozy little entertainment setup by feeding the two gaming consoles and geriatric gaming desktop I've acquired over the years into an HDMI switcher and USB HDMI capture box that in turn streams the feed into an OBS Studio preview (launched from Steam) running on a dummy display.
Launching OBS Studio through Steam lets me stream that preview to my VR headset over a 6GHz WiFi dongle and play games wirelessly in what feels like my own little private theatre. OBS Studio was the puzzle piece I hadn't figured out when the headset showed up last weekend, and I've been really impressed by its performance so far... I think this setup even shaved some latency off when playing online, since consolidating the consoles next to the router let me hardwire them.
Many many thanks to the OBS Studio team for making software that's helping me live out a small part of what I remember hoping technology could be like back in the 90s. I am grateful (:
It's very heartening to read testimonials from users who aren't jaded. I hate negativity around OSS online
Funny how you went the huge app route for such a narrow scope where I would have just used a lightweight tool like ffplay given the setting would never really change.
> Updated CEF from 127/6533 to 150/7871
Finally... The CEF they used was 2 years out of date, and after RCE exploits [0] occuring in the wild getting big enough that they got picked up in the media [1], we finally have a fix 1 month later.
[0] https://blog.scrt.ch/2026/09/22/how-one-twitch-chat-message-...
[1] https://news.ycombinator.com/item?id=49852143
[2] https://www.scworld.com/brief/vulnerable-obs-overlay-and-chr...
You can find why it was complicated [0] and why it took so long [1] on GitHub. I do wish I had been faster on it. That said, the RCE required the user to be using a vibe-coded web-based chat overlay that didn't properly sanitize chatter inputs, so has a (hopefully) limited scope.
[0] https://github.com/obsproject/obs-studio/discussions/3853#di...
[1] https://github.com/obsproject/obs-studio/discussions/3853#di...
Thanks for chiming in and linking that, that was an interesting read. As much as I understand CEF's reasoning for making this shift, it's baffling that they don't provide a universal way to implement what you now had to implement yourself.
My vibe coded apps tend to over sanitize inputs. Not sure what was the point of blaming LLMs.
LLMs weren’t blamed, vibe coders were blamed.
If you don’t know what you are doing any tool can be dangerous
>>> vibe-coded
>> My vibe coded apps tend to over sanitize inputs. Not sure what was the point of blaming LLMs.
> LLMs weren’t blamed … If you don’t know what you are doing any tool can be dangerous
If we're not talking about LLMs but instead about humans (who might be coding by hand, or from stackoverflow, or who might be using an LLM regardless of whether it frequently sanitizes by default), then shouldn't the original comment have more accurately referred to humans, as vibe-coding specifically refers to LLM use, right?
Does this even remotely matter? What’s the issue here?
Did you mean to reply to my comment? Was your issue with the original claim that lack of sanitization *"required"* "vibe-coded" functionality, or with the counterclaim that lack of sanitization can and has occurred even for code that is 0% related to vibe-coding or LLMs (let alone "requiring" vibe-coding for it to occur)?
There are a handful of comments here rueing buggy behaviors. These days with nearly the same amount of effort to post a complaint you can delegate the task of reproducing the issue, diagnosing the root cause, and proposing a fix. Yes, it may incur a small to moderate cost, but it's a contribution to an open source project that apparently provides some value in return.
I think this is what the whole "AI killed software" fallacy came from.
>nearly the same amount of effort to post a complaint you can delegate the task of reproducing the issue, diagnosing the root cause, and proposing a fix.
Is the effort the same though?
And even it is the same, making a meaningful contribution to an open source project doesn't mean just fixing your problem, but you also need to stay in line with the contribution guidelines, the project's direction and many more, which takes much more effort than just vibe coding a version for yourself.
Building software for one and for a bunch are two different things. AI is good at the former and can be used for the later but not without much effort. Models will get better, true, but that doesn't mean we need less engineering, in fact we need more to stay up-to-pace with AI. Imagine everyone submitting a PR to fix a bug, how fast can you review it manually? And if you use AI to review/verify them, the cost just shift from person who submitted the PR to the open source maintainer.
That doesn't mean AI is bad but that we need new systems and rules.
> There are a handful of comments here rueing buggy behaviors. These days with nearly the same amount of effort to post a complaint you can delegate the task of reproducing the issue, diagnosing the root cause, and proposing a fix. Yes, it may incur a small to moderate cost, but it's a contribution to an open source project
That would violate OBS's rules - they disallow AI-written code (or write ups) being submitted. Additionally, if you put nearly the same amount of effort into it as a comment mentioning the original bug - i.e. not much effort - they say that may result in a project ban.
Okay, I'll bite the bait. Assuming that I am a regular user (think gamer), I have a Windows PC, no dev tools, no AI subs or accounts, no GitHub. How specifically can I do the steps required to propose the fix they way you suggest?
How did you end up on Hacker News?
address bar
Sir, this is a Wendy's..
[dead]
That's two fallacies at the same time!
* Appeal to personal responsibility;
* False equivalence.
I'll strike those off my bullshit bingo card.
"Appeal to personal responsibility" is not a fallacy. Get a different bingo card.
Fair chance not everyone here has the same skill set, motivations, predispositions, and so on and so forth.
I tend to agree with you, but why calling it "bullshit"? You can disagree and have a discussing without belittlering other people.
Out of interest- what is your recommended path for this? I mean the path of least resistance where I don’t even have to check out the code locally or similar.
Officially and unofficially, the most you need to do is create an Issue report with valid reproduction steps. You'd be surprised how quickly some issues get fixed just because someone finally provided the missing link in an Issue.
That's not even remotely true.
Love this
https://github.com/obsproject/obs-studio/blob/master/CONTRIB...
> All text and content submitted to our project, which includes code, descriptions, issues, and comments, must be human written.
> The use of GitHub Copilot and other assistive AI technologies is heavily discouraged.
> Low-effort or incorrect submissions that are determined to have been generated by, or created with aid of such systems may lead to a ban from contributing to the repository or project as a whole.
Did they finally fix the bug where if you have less than ~40gb storage the recording will just randomly die for no reason with no notice, it is unimaginably annoying
Is this on macOS [0] or another platform? I don't think I've heard of this issue - if you have a log of such a session, please create a bug report [1].
[0] https://github.com/obsproject/obs-studio/issues/10596
[1] https://github.com/obsproject/obs-studio/issues
Man I get exhausted just by reading other people's complaints (without environment description or steps to reproduce). I am puzzled by what keeps OSS maintainers going.
- use obs any of the latest versions on macos any version
- have reasonably low storage
- start recording
- couple seconds or minutes later the video on the preview gets frozen and stops being recorded, while audio continues; recording status unchanged
- the freeze usually happens in the moment of switching between apps, allthough this isn't required at all
yes maintainers do it for free for years which deserves recognition but this exact issue existed for years and has been reported in many ways, without any change, and no other apps have ever behaved this way on my devices
This is happening all time time and I lost countless video recordings because of it...
Since there's a lot of talk about the CEF update, does anyone know why they compiled it in instead of having it as a normal plugin? It's incredibly annoying that compiling OBS means compliling almost all of chromium...
Love OBS! It's so far ahead of proprietary apps in so many areas, it's incredibly impressive
Using OBS only when it’s a must
Much happier with Cap for screencast recording https://github.com/capsoftware/cap
I tried a bunch of "open" tools last week, but turns out they are a paid tool in disguise most of the time. I eventually paid for CleanShotX for my work and have peace of mind because it just works. OBS is IMO much more stable and aimed at live streaming anyway.
OBS is much more aimed at livestreaming to platforms like Twitch and managing multiple cameras incl one of you, one of your screen etc. Well beyond what Cap is for.
But yes, use the most specialized tool for the task at hand.
Why are the binary releases hosted on a 3rd party site and not on Github?
So they can see how many people download each binary
'download_count' is part of the REST API https://docs.github.com/en/rest/releases/assets
I rest my case then.
I'm not sure that means what you think it means
Ba dum tschhttp
Marketing.
Cap completely ate several recordings for me. Admittedly they were over an hour long, and I should’ve broken them up a bit, and perhaps it’s not what it’s used for. Switched back to OBS, while it’s not as easy to use it’s pretty reliable
Cap routinely fails to render videos properly. The mouse ends up way off where it was, overlays somehow fail to be rendered.
Even if the preview player shows it correct, once it's rendered the cursor just seems to drift way off making the video useless.
I've gone back to using QuickTime.
I love that I can stream from my iPhone directly into OBS on my Mac. I don't love that Metal shaders aren't supported, and I have to rely on janky extensions to get them working.
While we're here, does anyone know a screen recording application that automatically takes into account display changes, audio device changes, camera resets, etc.?
I'm making do with OBS, but I lose more video to "plugged in external monitor and forgot to update OBS config" than I actually record.
Yes, please, that would help so much. OBS seems to be designed for static setups and a single output stream. In my case, I have a setup that changes often (for example, connect a USB video device that processes input from a microscope). I thought I would be able to record multiple video streams at once without burning them into a single output stream (e.g. to multiple files, or a multi-stream file), but this turned out to be difficult without hacks.
The Branchoutput plugin[1] is what you are looking for for multi recording/streaming. It allows you to add recording (or streaming destinations) to individual sources, scenes and outputs via the video filter settings. It is really quite powerful.
[1] https://obsproject.com/forum/resources/branch-output-streami...
Thanks -- this does look like it would do this. But I'm wondering if this entire setup isn't completely overkill. All I need is to record multiple video streams simultaneously. I currently do this by launching multiple Quicktime Player apps and clicking "record" in each one of them...
Have you considered using GStreamer pipelines for this? And taking it one step further, if you want to use OBS generally, there's a plugin for OBS that allows you to integrate pipelines too.
The common case for the plugin is to do some preprocessing before importing the video into OBS, but you can also use the pipeline as a video filter, which is really powerful, because you can inject a filter into not only a single source, but also at any level of a nested scene. So you can scale/composite several inputs together and then the video filter can copy the source stream and encode/tee it to a file output. Might still be considered a hack of sorts.
I too frequently plug and unplug dock and external displays. It's a little painful to keep checking and sometimes re-add display source to get the default screen and voice recording working.
I wonder if the "modern" way for problems of this nature is to fork the open-source repo and ask your favourite agent to strip it down to bare essentials that you need (performance gains) and add the specific feature enhancements you want (needs to work only for your configuration -- may not pass the quality standard needed for a PR)
Not sure if and has bugs but is fast and easy: https://github.com/MathewSachin/Captura
This could probably be automated using either an OBS plugin (if you really want deep integration and not running another program) or a standalone program (written in whatever language you want) that listens for display changes and pokes OBS using its websocket API. The hooks are definitely there to update source configs.
Surely the main function of a capture program should be to capture video, no matter what, even if that means capturing too much / uninteresting sources some of the time?
> even if that means capturing too much
People streaming things mights disagree.
As the name (Open Broadcaster Software) suggests, it isn't primarily a capture program.
Except it's really designed to composite video from a bunch of different places and broadcast the result, whether they are windows, screens, cameras, etc. And a rather lot of people don't want every screen to be captured, just the ones that they have selected. It's not a "screen recorder" program, really. And it's explicitly designed with an API to be remote controlled if hardware changes out from under it, so you can encode exactly your own policy logic on what to do. (External display plugged in? Disable my laptop source at full resolution and enable my laptop and monitor sources, side by side, with one scaled as necessary, and in this layout. But if I'm currently recording or streaming, don't do anything. - this is user-specific logic)
I made a little script that reconnects everything the way I want it on launch via WebSocket. Works great
which OS ?
Problem still persists where OBS cannot capture it's own window.
Is solved the source disconnection with macOS ? Even it's an OS problem.
Easily fixable with a script that sets things up as you want it on launch via websocket
Do you have that posted anywhere? I'd love to peek at it
No, but it was very trivial (Claude did it in maybe a minute). It just made a new launcher that opens OBS, then refreshes/checks all my sources.
Answer this thread if you struggle and I can post when I get to the office
The plugin-loading overhaul and improved source snapping look like useful updates. OBS continues to show how much attention to detail matters in open-source software. Excited to see how creators and plugin developers adapt to version 33.0!
[dead]
[dead]
I use Lifelog Timeline
Great, another project with an asinine and backwards-thinking AI policy:
> All text and content submitted to our project, which includes code, descriptions, issues, and comments, must be human written.
> The use of GitHub Copilot and other assistive AI technologies is heavily discouraged.
Use this instead: https://github.com/obs-rust/obs-studio