OBS – Open Broadcaster Software
obsproject.com
obsproject.com
Today, people at that age are making lucrative careers out of streaming then doing the things they love out of their bedrooms using OBS. Blender has enabled all kinds of amazing creators, from animation to video editing to 3D printing and even (basic) architecture. Kicad makes EDA! approachable. My teen son has been able to dabble in all of the above in his spare time without spending a dime.
I’m in awe of the power of free software and the amazing engineering work that has enabled these projects to be good enough for real professionals to choose first. I hope we see Godot achieve world domination in gaming, GIMP in graphics, and Libra Office + Collabra in productivity. The people who have given us these tools deserve the highest accolades.
I use OBS Studio with my Streamdeck, a Logitech Streamcam, NVIDIA Broadcast, a condenser microphone via a Steinberg XLR audio interface along with Elgato Key lights and iHue fill lights for my working from home office Google Meets.
Startup and shut downs of the entire stack including launching into Google Meets are automated with the deck (one button to macro up, one to macro down), and with proper lighting as well as NVIDIA Broadcast, the audio and video quality is just amazing. The amount of tech I'm throwing at how I connect with Meet may seem like overkill, but it really makes a lot of sense to spend some time on what's my primary interface with my colleagues and customers.
If I need to quickly mute my image, a scene in OBS that shows "be right back" is an immediate Streamdeck key press away. Next to it is the audio source mute key. It's great.
Turns out the background noise removal was turned on for my output too.
I know that Slack and Google are slowly baking these features in, but NVIDIA are in a league of their own. AMD not having them made my GPU brand choice easy last time I upgraded.
It's pretty great, works decently, but the sad thing is the author put it out a few years ago, trained it on proprietary datasets, wrote a paper and then moved onto something else, never to be seen again. Now it's pretty much unmaintained since it requires some very specific ML and DSP knowledge to hack on.
https://github.com/xiph/rnnoise
NVIDIA Broadcast in my opinion is better, but rnnoise will do if you can't run it.
I’d love to do something like this but could really use some hand holding for the setup part.
It can be a bit costly, but found it well worth it now that it's done. I'll send you an email in case you have any specific questions.
Logitech StreamCam is one of the better webcams. I have it on a flex stick that I pull down in front of my 32" - I have 3x of those plus a smaller above.
I'd love to upgrade it at one point but there's not really a large number of compact cameras with good optics. I might look into GoPros, but am not really to keen on spending much more as I'm happy with the current results.
I'd love something like Broadcast but much more lightweight, but I haven't found a good alternative yet.
I am however issuing a kill of the NVIDIA Broadcast app with my shut down macro as it will otherwise peg the 3070 usage % at a non idling level, which is somewhat worse for power usage, temperatures and longevity (than not doing it). OBS Studio is also shut down, after stopping the virtual camera with a keyboard shortcut. (It's basically reverse of the start up).
So I'll only have all the software running for the duration of my meeting. I've put the cam on a flexible arm, easy to push out of the way when done and I confirm the light is off.
The shutdown also sets the video lights down to "warm ambient" levels rather than turn them off - especially on dark winter days, they do improve my mood.
And fwiw I had to explain my use of the Streamdeck to my tax accountant; they were cool after hearing a version of the above. :) The macro features are such a stress reducer, really.
(And no, I never stream anything. Would rather not broadcast my ugly mug in public, but at least with this I can cast myself in the best possible light - pun intended - to my colleagues).
I also have a very similar setup. High quality webcam, high quality headset, and a few lights pointing into my face to offset the lighting in the room. I have Zoom configured to use original audio and turn off echo cancellation and most audio postprocessing as the headset pretty much does everything I need audio wise. I've even had my partner talking in the same room and others on my VC haven't heard a thing.
My webcam needs almost no touch-up. While I can stream at 1080p easily (and do so with friends over FFMpeg and an RTSP server), Zoom (and I'm guessing Meet) will frequently downsample your webcam output when in a VC with multiple participants to save on bandwidth. A 1:1 chat can have you streaming in full 1080p glory, but I don't ever need a post-processing layer atop my webcam.
The setup is as easy as me turning on my camera and putting on my headset. Make sure you are using Ethernet so you don't run into AP congestion, especially if you have others in the house doing VC as well. But yeah modern high quality VC is almost completely plug-and-play.
OBS scenes is the killer feature for me, so it just works well. In addition the AFK one I've also set a couple of zoom levels that frame me better if I decide to slide my seat back a bit.
I even have scenes for sprint planning estimation sessions. 1-3-5-8 etc superimposed over my picture. :D (they are numbered buttons on the Streamdeck).
I do love reading about all these setups though. I feel like so many tech companies and software engineers are new to remote work that these tips can go a long way to interfacing effectively with coworkers. At least in my case it was trial and error until I got what I wanted.
Also, do you know what keystrokes the Stream Deck actually sends? Is it some ctrl-alt-whatever combo, or MIDI, or what?
Screen 2 will be running any apps I need to show (coding etc.) and screen 3 is at the back of the workbench, which has a downward facing camera so I can show me working on the boards and other electronics.
Switching scenes from main cam to what's on screen 2 to the workbench is very handy, even without a dedicated key pad.
The only hassle is that under Linux, OBS sometimes forgets the camera device designations on startup and I have to pull out the USB connections, re-plug and then go into both camera definitions and re-select the right cameras.
I have device video and audio sink definitions behind he scenes so that the video and audio can be fed to virtual devices inside Zoom or Teams etc.
Edit: Oh, and I have a client plugin which allows me to use my Android phone camera as a roving webcam to highlight things on the workbench such as a scope screen, power supply current reading etc.
All works quite well.
The Arch wiki has fairly in-depth instructions for understanding how udev rules work https://wiki.archlinux.org/title/udev
(As an example, a hair light is an overhead light that’s typically used to give hair more depth and detail. The poster talks about a key light, which is the strongest light in a standard 3 light setup)
I imagine ihue is the brand of light. Or maybe just a misspelling of Hue’s brand.
And I have two, one above to the rear right and another to the rear left doing exactly what you describe.
I mean, it worked at the time, but so frustrating when you wanted to show off 60fps in Crysis or whatever, and the recording ended up being less than 30 fps.
What has hindered GIMP from mainstream adaptation is its clunky UI, and that has not really changed in any significant way, or at least not significantly for the better.
I'm a programmer, sysadmin, devops "ninja" and I can juggle just about any stack. And I can use any painting-program you throw at me, without training. But GIMP I still have to look up basic stuff, like how to draw a rectangle.
GIMP will never be mainstream, because it's made for specifically trained "expert-users" only, without any easy path to glide into for new users.
I don't entirely disagree with this criticism, but it's interesting to note that in the past years the GIMP project has received significant contributions from ZeMarmot project so the artist-developer feedback loop is shortening.
There's been major advances lately and given more time/resources i believe the actual team (and new contributors?) could really make GIMP even better.
For years, GIMP was much slower than Photoshop especially so when loading and processing large 100MB-plus .tif files and such, so much so that I considered it unusable on all but the very fastest machines. To be fair perfomance has improved in recent versions but it's still significantly slower than PS in many functions (e.g: when making edits waiting for the screen to refresh throws one's workflow out and makes it harder to accurately compare 'before' and 'after' edits).
Similarly, adjustment controls are slower to react and their ergonomics are significantly inferior to PS (that said, PS's aren't perfect either but they are better).
Then there's the removal of the 'fade' feature from the menu - probably one of the most used features in both GIMP and PS (one really has to wonder what's going on in the minds of its developers).
Talk about shooting one's self in the foot then this has to be the quintessential example! I know and understand the reason for this change but if GIMP's developers deliberately wanted to alienate a very large percentage of its users then they couldn't have chosen a better way. For me, the removal of the 'fade' feature was the last straw, I simply no longer use GIMP other than to test new versions as they arise.
Yes, I know about the alternative way of getting around this now-missing 'fade' feature but that's not the point. Forcing users to use a (seemingly) better approach at the expense of convenience and or for ideological reaons is not the correct way to go about the problem. Forcing users to adopt new ways of working for questionable reasons - as Microsoft does with its GUI in every new version of Windows - is, unfortunately, typical of the hide and arrogance all too often seen in the software industry. (BTW, I am aware that removing 'fade' solved some problems and supposedly quickened development but nevertheless that's no excuse.)
Simply: GIMP's developers are good programmers and image experts but they've stuff-all knowledge about user ergonomics - one has to wonder if they ever use GIMP to do any realworld image editing at all - that is other than to tweak multiple instances of Lenna! If GIMP's developers are serious about making the program anything more significant than their playtoy to test image algorithms then first and foremost they need to employ an ergonomics expert on their team.
I've lots more instances of GIMP problems but this is not the place to raise them.
In my opinion, GIMP won't ever become mainstream until its developers change their high-minded attitude and become more flexible in their approach to users' needs. This is harsh criticism I know but I'm only stating the facts. Few would be more keen than me to see GIMP succeed in a big way but many others and I have aged quite noticably whilst waiting for it to do so.
Many of us have waited years to shed finally the yoke of Photoshop especially so since Adobe introduced its extortionate subscription/rental model and we cannot do so until we have viable alteratives. The problem is made all the worse for people like me who have refused to upgrade PS to its subscription version. As it has been in place for quite some while we're now left with dated and ageing software.
Nowadays, GIMP is needed more than ever as a strong and viable alterative to Photoshop but having watched its glacial progress over decades I reckon the only effective way to bring it up to speed is for users to pay some nomimal fee, perhaps $20 or so. Paying develops and greatly expanding its development team seems the only practical way to make it happen.
Like i said, the feedback loop with actual artists has tightened in the past years, especially with ZeMarmot project becoming real active in development.
> first and foremost they need to employ an ergonomics expert on their team.
Well "employ" may be the problem. I believe there's two or three contributors who will accept donations, but nobody is actually employed to work on GIMP full-time. If you know of ergonomics experts who'd like to contribute some time to a free-software project, or can produce a full-fledged UX audit for a few bucks, i'm sure that will be of interest to GIMP people.
> I've lots more instances of GIMP problems but this is not the place to raise them.
Maybe not, but thanks for taking the time to point out two downsides (slowness, and removal of a feature that's key to your workflow). Hopefully you can find time to contribute to the project: identifying hot/slow code paths doesn't have to be very complex but is very workflow-dependent so a report of yours can be very useful for optimization purposes.
As for the fade option, i have no idea what this debate was about. Please don't hesitate to post links to blogposts or tickets in the future.
I agree totally, in many places GIMP's UI is both counterintuitive and clumsy but that's not the only reason in that there are significant performance issues. For one, unlike Photoshop, GIMP 'dribbles' its screen refresh rate which is most distracting and annoying.
If the developers found they couldn't easily increase the screen refresh speed after some adjustment then why didn't they delay its updating until the computation had finished (the 'dribbling' being more objectionable than a delay)?
I don't have the time or inclination to become familiar with the huge job of understanding GIMP's source so I've often wondered why its screen refreshing is significantly worse than PS. From observation, PS cleverly only updates the relevant (viewable) changes rather than the full 'effective' screen at any given point in time so changes appear almost instantly. This problem and the UI one put GIMP out of the running as far as I'm concerned.
BTW, re your last paragraph, note my comment about ergonomics in my comment to southerntofu.
... wow! It's simply always amazing to me that I can turn on a cheap mirrorless camera and get sharp, clean footage. That footage is fed into my PC. I feed in a "cheap" USB microphone and get crisp audio. OBS takes all of this, and every other asset I throw at it, and combines it all into a live stream of video and audio... in real-time.
And then I stream it to the rest of the planet in less than 100ms.
A friend of mine is learning Unreal Engine 5 right now. Meta Humans are just crazy good. The real-time lighting in the engine is f-ing bonkers! And the fact there are tens of thousands of high poly, free models as well as high-res scans for materials (textures) just blows my mind.
What a time to be alive.
But things were just moving past casual amateurs shooting on Super 8 film--which in addition to low quality got expensive in a hurry. Video cameras were huge things with big battery packs. I quickly decided the whole thing was more trouble than it was worth and just stuck to 35mm still photography.
"Just" an iPhone and modern editing software would have been a revelation.
I'm assuming you're a little younger than me. When I was a chunk less than half my age I was shooting video on a (very expensive) Sony VX2000 and editing in (very expensive) Premiere 4, and streaming using very clever SMIL and a (very expensive) RealNetworks server licence.
Now I still shoot on a Sony PD150 (high-end version of the VX2000) because I just love shooting SD DV, or on a Canon HD camera, and edit in DaVinci Resolve (free, unless you buy Studio which I haven't yet). I can upload to Vimeo or Youtube, or just fire up a Docker container on my server to run Peertube.
I use Kicad pretty much every day, which again is Free as in speech and free as in beer.
It helped me to become fluent in early animation in Macromedia flash, photo editing in Adobe products and html in Dreamweaver and Frontpage or music production with the earliest versions of pro tools and cubase.
All long gone and failed tech, but since then I was able to pursue a career in IT and ever since using proper licensing for those enterprise products we use at all those projects. (btw circumventing and copying is legal in Switzerland for private use)
I don't think kids should get a free pass to pirate software but software houses should be a bit smarter and make this software available to the youth for free. They will mostly become lucrative clients in the future.
Macromedia Flash is still going strong, just rebranded as Adobe Animate. The web use-case vanished, but it's still one of the top 3 tools for making 2d animation (including for TV shows).
Also, it's likely that his camera is mostly at fault; OBS with my Logitech camera doesn't have any significant lag. OBS itself has very little lag.
Or does one of you mean that even the constant delay is significant enough to be noticed on top of the video call latency?
I just realized that I don't know how the missed/skipped counters are actually defined--presumably frames are skipped for encoding if the encoder can't keep up with the framerate and missed for encoding if if any other part of the pipeline preceding it cannot.
That's what I meant. Video call latency is noticeable but in most cases is not detrimental to conversation (or I have gotten used to mentally correcting for it). Colleagues who have used virtual webcams often have a noticeable additional 100-300ms steady-state latency which goes over the threshold for easy conversation, for me at least.
I recall that I had some issues. After fiddling a while, I disabled all the 4K options, etc. from camera and selected 1080p output. This is cropped down to 1280x720 output resolution. It's enough.
Generally speaking, video resolution is not important for the sense of quality. Just have decent lighting and don't frame your face like an idiot. To get sense of quality, I recommend investing a little bit to a microphone. People don't realize it but audio quality is the king.
My experience on an older Mac (late 2014) was that even at 320x240 I'd get non-negligible delay. I ended up getting a Magewell Capture. As far as I know Magewell and Blackmagic are the only HDMI to USB devices that perform hardware h.264 encoding. It works perfectly and even has configurable video processing options, but I can't currently use it with OBS without introducing a delay.
Regardless of whether newer machine might make OBS encoding delay negligible, I wonder if a layered approach might work: I'm not well versed in video streaming technologies, but perhaps _layered streams_ approach which I think is supported in some video formats could allow OBS to work faster as a tool that combine multiple encoded video streams into a single video. One such stream for example might be the main video camera + additional say keyboard facing camera and finally a text layer which should be much faster to encode than having to re-encode the entire output.
Do you by chance know of something similar but for audio?
And it gives me complete control over what audio I send. One example is that when I want to share a video I can share my screen and the audio streams to those who are watching with me.
Also it helps when I want to play some sound like a sound board.
Of course, OBS also mixes audio and if you add a loopback audio device and set it as output in OBS, you can also use that as an input elsewhere. On Windows or macOS, you can use VB Audio Cable. On Linux, it should be pretty straight forward with most audio stacks, as well.
[1] https://obsproject.com/forum/resources/audio-monitor.1186/
[2] https://www.youtube.com/watch?v=DhXaC1f9QwQ
(edited to correct the format, I hope)
Runs audio filters at the Windows driver level, before applications get the data. Good for adding noise reduction etc. to applications that don't support it natively.
Also, a bit off topic but has anyone had any luck getting the Windows version of Teams running in Wine? The Linux version is missing a few features I would really like to have (together mode, camera support, being able to view more than 4 participants at a time).
(I haven't tried using the Windows version under Wine, sorry)
Now I can just fire up OBS, switch my camera in Zoom to the OBS virtual webcam (which shows my main webcam), then toggle on my iPhone source and drag it anywhere I want in the frame.
In case anyone is interested in controlling OBS remotely, you can use OBS-web: https://github.com/Niek/obs-web
It's not a full reimplementation of the UI, but offers the most often used controls so you can manage a livestream from e.g. a tablet or phone.
The main things I use OBS for is:
- Recording screen or window, while recording desktop audio and mic at the same time.
- routing master windows audio through a compressor/limiter when listening to videos or streams that have poor leveling (though you need to install a virtual audio output in windows to do this - I found something called CABLE that works. Then windows outputs to CABLE, OBS reads CABLE into desktop audio source, and then you monitor that on you speakers/headphones, so you can now add audio filters to desktop audio source.)
- adjusting gamma/contrast/brightness of webcams (but not during face to face video calls; OBS does introduce lag which limits the usefullness of this)FFMPEG alone (well, with the pulseaudio loopback) can do this. It can also stream to stuff like twitch with no extra software. OBS is great but I feel like it's overkill for a lot of what people do.
However this give me an idea about a tool that would export scene composition and video output settings to ffmpeg argument for easy reuse. It is true that if you don't have an usecase where you switch scenes it could be handy to start a record/stream from a command line. For example I have been ripping some videos from my streaming services so that my daughters can watch the movies on a plane, works great for that. Didn't bothered using ffmpeg because the preview allowed me to be sure I was recording the correct window without realizing 2h later I had recorded trash. Surely there are better ripping tool but at least this way probably do not attract attention from said streaming services as you are recording in real time.
I love ffmpeg as much as the next nerd that tinkers with video but.. it's video. It's so much nicer to interact with it using a GUI.
Not to mention if you did something wrong you could just change it in OBS rather than kill the stream and tinker for half an hour
Can you show what sources you setup for this scenario? I haven't put much effort into it, but slamming my mic and audio output in there didn't produce satisfying results.
Not op but my setup would be webcam on screen, in the audio mixing (right click, advanced maybe) put each audio feed onto its own track for later editing
I can't picture anything wrong with a quick setup other than maybe the audio tracks all being mashed into track 1 by default. Would need more information
Moreover, I was adding audio output capture and Desktop Audio mixer was hidden. So I adjusted output volume for 1 instance only and it was always so much louder (thinking mixer doesn't work), that I cannot hear mic. I figured the latter out that I don't have to add Audio Output Capture source explicitly and I can adjust that volume.
But my mic output is unusable.
If anyone wants to do this on linux, there's easyeffects[0]
If this is a problem you’re having I’d love to talk about it, or even if you just want to share your experience of what works well for you. My email is in my profile.
Other folks quite like VT-X and TriCaster setups. Or Wirecast, or XSplit (itself notably big in some circles). The only "reskinned OBS" I know of is StreamLabs OBS, which, yeah, isn't great, but there are quite a few alternatives.
On the audio front, I'm not sure calling it "the category leader in audio manipulation" holds much water, given that OBS's audio facilities are notably its weakest point. (Not entirely their fault. The licensing around ASIO is weird.) Voicemeeter plus your DAW of choice come to mind. Or, for live mixing directly in your video mixer--well, vMix and NewTek both are pretty good choices there, too.
This is not to take anything away from the OBS project or team; it's quite good at what it does, and if your needs are in their crosshairs or you're willing to expend as much effort as necessary to build what doesn't exist around it you can put on a great show using OBS. (And in particular I think their game-capture logic is best-of-breed; when running events I still use OBS as an ffmpeg frontend on my satellite systems because I don't have to think about game capture.) But the idea that there are no "real alternatives" isn't correct, particularly when you have more moving pieces involved and you don't want to--or, for less programmery types, aren't able to--spend your days writing duct-tape code around your video mixer.
Why I responded at all was the maximalist dismissal of a pretty large industry of smart people doing interesting things in the video mixing space.
As far as "free" goes--OBS is great where it fits. It's exceptional where it fits. And if that's what you need, you absolutely should use it. When it doesn't fit, you start getting into build-versus-buy territory, and once you pop the cork on buying you can buy a lot for relatively little.
Linux is a distant outlier in the overall streaming space.
If you’re narrowing scope down to “free and works on Linux” then OBS is your go-to, of course. But Linux streamers are a tiny subset of the streaming target audience and anyone doing this professionally should at least consider some of the paid alternatives.
Are you saying that previous lifetime owners only get two years now? By pure luck, I purchased ManyCam the day before the price change.
I am currently using OBS solely as a method to grab screens/windows and use a custom plugin to stream that to multiple WebRTC users to create something like a low latency game streaming for friends. OBS saves me a ton of time since I don't have to implement X11 / Wayland / Mac / Windows DXGI screen capture methods as well as a way to composite several of those into a nice picture.
The development discord is hit or miss though but with a bit of luck and digging (and thanks to other plugins) one can piece together how to write a plugin.
Its interface is a bit "awkward," but not too bad. It has many tools that are not available elsewhere.
The other day he had an issue with a slight echo in the audio. He mentioned it when we were out of the house. When we got home I had the idea that maybe he'd added the Audio Input Capture twice ... but I couldn't think of why that would happen.
When i mentioned it to him, he'd already figured it out and solved it. He had added two audio inputs when he was trying to capture his headset mic and his desktop mic (with phone taped to it, playing music) ... I dunno what the point of this story is ... OBS has a weird interface, but it reminds me of the good old days, when you just made it work and the users just figured it out.
I think the polished UI/UX we have these days makes us complacent. Afraid of poking and prodding.
If your product isn't quite opinionated on the one right way to do things (and only a specific kind of thing) you can create a really shiny UX. If your product needs to be many things to many kinds of people, stuff ends up a bit messy but only to the detriment to extreme beginners.
If that's what polishing is please leave OBS all smudged and gross haha
The problem is explained in...
Design for the Novice, Configure for the Pro
https://bothsidesofthetable.com/design-for-the-novice-config...
I’ve been in media production for about a decade. You’d be surprised how many high budget projects use OBS for live streams. It really does get the job done.
But even I think the Calibre UI is pretty awful.
You have software domain knowledge and experience working with spaghetti interfaces assembled by developers rather than designed by experts. You find them more functional because it fits your existing mental model of an interface. However, these interfaces are vastly less functional to everyone else.
An interface that only facilitates beginner workflows is poorly designed. I rarely see these in the wild, but the culprits are usually non-designers pantomiming their understanding of ‘designed’.
I do, however, regularly see developers misinterpret interfaces designed to facilitate advanced functionality for non-developers. Focused views with controls and readouts obscured as appropriate, but functionality exposed through key shortcuts or other means are what most people expect, and it’s a whole lot easier for a developer to learn those usage models than for non-developer users to learn how to use a hundred buttons and readouts acting as a thin wrapper around an API.
The secret probably is having well defined roles: whoever writes the code shouldn't be involved in interface design and vice versa, unless they prove themselves good at it, as the two tasks require very different sets of skills. This is easily accomplished in commercial software writing where roles are defined and salaries paid, but in the FOSS world where everyone and their cat want to be the famous developer, the UI designer role is rarely recognized for its importance.
Calibre's UI isn't illogical or nonsensical, and it can do everything you probably want when it comes to managing an ebook library, converting between book formats, and taking files and off ebook readers. But it doesn't feel like anyone involved with the UI design ever really thought about it from the perspective of "how do I make the common tasks easy" rather than "how do I ensure all the functionality is exposed".
That is, when designing something, and especially when there's nothing to yet dictate what the form should be, let function guide you to it.
If you were to ask "how should a table lamp be designed", I would point to its function -- to give diffuse light and allow switching it on and off -- as the primary guide. Make that work well. Don't let the form get a life of its own that will distract from the function. Rather, the form should serve the function and make it beautiful.
Beyond the survey, are there usage logs we can share or limited telemetry we can opt into?
Make sure you do it differently than how Muse Group did it with Audacity (specifically the announcement and explanation of why and what parts) [0]. Which I'd argue is not particularly difficult to do.
[0]: https://arstechnica.com/gadgets/2021/07/no-open-source-audac...
Love OBS, everyone involved in it should legitimately feel proud of their work. Great software.
E: Survey done :)
By the way, as a community we should look at the changes Blender landed in 2.8, which were (I think) considered a major UI/UX redesign that increased accessibility to the broader public.
My sample size of 1 is a friend who is a professional UX designer. Once, I tried convincing them to help with some OS project, but the response was "that sounds like work, and I don't work for free".
Which has a point, I guess. Open Source contributors have normalized pouring countless hours for free into their projects (when not paid by a commercial entity). But outside of this bubble, I guess people don't see it with the same eyes. Even though in the end, it benefits everyone.
It just requires (semi?)professional knowledge to write good code, like it takes professional knowledge to write good UX, so "why would anyone do that unpaid". Maybe makes sense in the spirit of an artist who gives their art for free, but not in the mindset of a professional who charges good $$$ for an hour of work.
EDIT: Typos and unfinished phrases.
In the project that I developed, and turned over to a new team, we finally (after about ten years) got someone who is a professional UX manager/developer to step up, and he's been doing an awesome job.
In my case, my personal motivations run deep. I do a "better than pro" job on all my open source. I'm a passably decent designer and UX guy, so that helps.
There's a weekly online meeting for work that I record, and the first thing on every recording is me saying, "Right, so I've started recording." Probably overkill, but it takes almost no effort, and prevents just about any possible misunderstandings.
The only thing that's a bit of a pain is that the meeting app (understandably) doesn't reflect my own sound back to me; so I have to send the mic separately to OBS and to the meeting app, so that both the recording and the live meeting can hear my voice. That in turn means I have to mute in two places separately if I want neither one to (for instance) hear my crying toddler come into the room. That's not OBS's fault, and could probably be solved with yet another layer of software... but probably not worth it to me to set up at this point in time.
I just got some mini-dv tapes converted to dvd and mp4 for $AUD60 per tape.
RCA to HDMI: https://www.amazon.com/gp/product/B07RX69KR8/ HDMI capture: https://www.amazon.com/gp/product/B088CWQGN5/
As far as game capture, it probably depends on a few things. Name brand definitely has significant markup, but they also include software and such as well. Note that my capture dongle here records in 1080P only, and you'll spend a lot more for 4K-capable hardware, and fancier capture devices offer HDMI pass-through so you can both capture and display on a screen, and this does not.
Now, if you want to play your games in OBS at 1080p, this might work for you, I'm not sure where performance starts to degrade for a cheapy dongle like this, but I think there's probably a good reason gaming setups use a little bit higher end setups.
a) head off any network dropped frames and allow OBS to backfill the stream buffer. At 0 seconds you may see slightly more quality drop from 1080p to 480p if your stream source upload bandwidth is unreliable than if you left this at 5+ seconds.
b) for game streamers of competitive multiplayer video games, to protect them from "stream cheating" where an opponent recognizes their in-game ID and then looks at their stream to get additional information in the middle of a match (eg: looking at their hand in poker). With many games a 5 second delay nullifies this issue, and many streamers set it to more like 30-45 seconds depending on the game they play.
When I was researching this back then, there was only one protocol in OBS that was fast enough, but it was proprietary. It was called FTL and was what Mixer used (twitch competitor, now dead). Mixer was so fast that I could move my mouse from the stream window, latency was probably very similar to cloud gaming services today.
Not sure what you're trying to attempt, but if you want low latency webrtc will probably be the best performing because it's p2p, however there's no official support for it in OBS and client support is weird, you might have to cook up some webrtc webpage just for it, but if you want sub 100ms latency it's the way to go.
The alternative that OBS supports is SRT, but I have never used it, the arch wiki claims it has ~1s delay. Maybe the 1to1 version lowers it and it seems simple enough if you can use ffplay/vlc where you're watching.
SRT Project Page: https://github.com/Haivision/srt
Live Server Implementation: https://github.com/Edward-Wu/srt-live-server
1to1 Client Implementation: https://github.com/Haivision/srt/blob/master/apps/srt-live-t...
I hope someday soon I can use it in Linux.
In Windows it is very easy to use the output of NVIDIA Broadcast as a scene in OBS.
Also useful for recording the visuals of a VJ performance at full resolution without needing to sacrifice a whole monitor.
But typically Spout is used to share a video steam directly on the GPU between apps, such as Resolume and MadMapper.
For doing webinars I'm now using the functionality built into Apple Keynote, which is great and simple to use: https://support.apple.com/guide/keynote/add-live-video-tan6a...
Also - in opposition to OBS - Keynote will not use 100% of my CPU to render the live presentation.
This costs a lot of time and generates questions, for example what resolution should my mask image be? OBS doesn't offer even the simplest default shapes like a circle. This is annoying and makes OBS not suited for beginners and simple tasks.
Not to assume you know how to use masks of course, but this information is readily available when googling something like "webcam circle obs"
Resolution wise I just match the input rather than think about it. If my webcam is 1080p, so is my mask.
I would like if you could natively round elements for sure, dunno when I'd use personally it but it could be useful. There are plugins to do this for you out there too but learning masks and other filters is a super useful skill if you're getting into video
Additionally regarding positioning of things from the top level comment I'm pretty sure there's a positioning menu when you right click that lets you chuck things to the top/bottom/right/left etc
In Keynote I can change the radius of the circle in realtime. That is a lot faster than even your optimistic 20 seconds. I also don't need to care about the resolution of the camera. I can even add effects in realtime like borders, a fancy mirror effect below the camera view etc. I can try out effects in realtime. This is simply much more user friendly than creating image masks manually in an external program.
> but learning masks and other filters is a super useful skill if you're getting into video
But some people don't want to get into video, they just want to create a webinar with an overlay of the speaker.
> I'm pretty sure there's a positioning menu when you right click that lets you chuck things to the top/bottom/right/left
I'm pretty sure there is no such thing. Positioning things in OBS is a mess, because everything is based on pixels. Even if you manage to create a template, if you change the resolution of your canvas, you cannot reuse the template, because it doesn't fit to the new resolution.
https://obsproject.com/forum/threads/sources-keep-moving-res...
fair
> I'm pretty sure there is no such thing. Positioning things in OBS is a mess
Huh. Could have sworn there was. There's center horiz/vert but no corners. Maybe I'm thinking of Streamlabs' version of OBS or something.
OBS has issues, feature discoverability being one of them... But the way you've phrased the critique is borderline flamebait
I'm sorry to say that, but Apple Keynote hit the sweet spot between customizability, usability and price ( it's free on Apple ) for my purposes. If that sounds like flame bait for you, then be it. Others might be thankful for a different point of view.
You're misunderstanding the point. It's great that you're happy with keynote. It's likely a great choice for what you want to do.
> I worked several weeks with OBS
And yet you say it can't overlay a round camera cutout over the screen, which is just wrong.
How do you change the radius of the circle in realtime? You can do that in Keynote, but you can't in OBS, because that would mean uploading a new mask image for every new radius. Also if you switch to another camera resolution you have to recreate your mask, because your new camera has a new resolution. So technically you can overlay a round cutout, but from a users point of view this feature is not very usable. Keynote allows to do the same much, much simpler.
Your whole goal and critique just shows that you're not the target audience for OBS, which is fine and it's fantastic that you found a new tool which fits your usecase much better. Just like it's needlessly troublesome to make a picture slideshow with adobe premiere, using OBS for what you wanted was simply overkill and came with unneccessary complexity
Your entire argument in this thread hinges on familiarity == usability. The others are right, OBS is powerful but hard to use.
Could not be more untrue. The OBS team themselves know full well that it could be friendlier and easier to do basic things — the debate comes up quite a bit on the Github repo’s discussions and in RFCs.
Be careful not to conflate your familiarity with the software as it being designed in the best way for the job — the existence of easier to use tools, including Twitch Studio (which does have useful defaults and makes simple things much easier to achieve) attests to this.
Disclaimer: I’m a support volunteer in OBS’ Discord server (opinions here my own). Many other volunteers and I are fully aware of how many things are difficult that should be easy — and rather than just accept that, we do our best to make the program easier to understand.
Video Camera -> OBS -> Internet -> nginx server -> HLS -> stream to browsers.
A huge learning curve is needed to understand OBS.
For ex -
I have still not been able to figure out how to record audio using AirPods Pro
Secondly, whenever I connect an external monitor to my primary laptop, the audio is not recorded.
Some challenges I face while using OBS.
Many a times it's really frustrating
A big no. You can start streaming or recording with OBS within twenty minutes of installing it.
I did. Never used it before. I wanted a simple coding set-up where the whole screen is the main source and my webcam feed is in the corner as a box.
> Secondly, whenever I connect an external monitor to my primary laptop, the audio is not recorded.
Doesn't happen with me. Try restarting with the monitor added.
I use a condenser microphone, a Wacom graphics tablet (kudos to them for first class Linuc support), a webcam, an external monitor, and so on.
If you want to start streaming or recording within thirty mimutes of installing a SW, use OBS.
Never has the audio been captured in this setup.
The UI/UX needs simple English with pull downs so that users can form, gasp, simple English sentences which, of course, OBS would interpret as commands. The user would pull down stuff like, "I want to record 10 minutes of low quality video with high quality audio that is not larger than 50 megabytes in size which I will upload to YouTube."
Then OBS would translate that English into "coding magic." This sort of UI/UX is obviously worthwhile, and would be easy to implement.
In the past I have employed some kludgy workarounds which kind of, sort of worked. But I don't really need OBS for much. Therefore, to me, OBS is a typical FOSS "problem child" which I use despite disliking.
And will you please guide me as to how can I submit a formal bug request?
Would it be via GitHub or their website?
But, instead of reporting a bug right away, I suggest posting in one of their support forums [0], in the section of your platform. Let the community know your issue, and someone might solve them.
That I have done last week itself, no response →
https://obsproject.com/forum/threads/does-not-record-audio-w...
GP's statement is quite true with that wording, though expected for any video software; there's no way a tooltip could adequately explain chroma subsampling choices, frame types, or lavfi filtergraph syntax, for example. Regarding comparatively basic usage, the curse of knowledge still applies; it seems simple to do anything when you already know how.
GP, have you configured your audio sources? Your monitor must be a device selected in File > Settings > Audio > Global Audio Devices, and that device must be unmuted in the Audio Mixer pane. If it's a Mac, you need a separate application to capture desktop audio (https://obsproject.com/forum/resources/mac-desktop-audio-usi...).
[1] https://github.com/715209/nginx-obs-automatic-low-bitrate-sw...
PS, I have no affiliation with either of these companies / projects - I just use their services and wanted to praise OBS.
Having such a high quality piece of open source software as the defacto standard for video recording/streaming is quite nice alongside Audacity for audio recording.
After doing a quick scan of these posts I note that no one else has raised this matter.
I've not used OBS so I'd be interested to know from users about how much 'phoning home' the software actually does in practice.
Seems to me the effective extent of its privacy policy may be the limiting factor whether one would use OBS or not.
Then OBS stepped in and changed the game. Not only is it open source and free, but it's debatably the best out there. Super easy to start with, and there's enough of a community that you can figure out the advanced stuff as an amateur like myself.
I always had a wet dream about making a big SaaS company e.g. Adobe or Oracle so I'm always amazed that people put so much effort into FOSS.
If it's literally just cropping you're after hold alt while resizing the element
What's the setup look like for someone who has done this?
EDIT: Looks like it's in the source for a long time but my distro doesn't compile OBS with the built-in browser, which I'm guessing is a requirement
surprisingly its not that old!
Edit: Found it
https://news.ycombinator.com/item?id=29592103
"TikTok streaming software is an illegal fork of OBS"
(1545 points, 521 comments, 6 months ago)
p.s. thanks for the overeager downvotes, I've stopped downing any threads on HN unless they're aggressive or otherwise egregiously bad intent. Ymmv
Seriously. I don't want to research plugins or pay for one of the most fundamental signal processing blocks.
> Seriously. I don't want to research plugins or pay for one of the most fundamental signal processing blocks.
It’s amazing how often I see this “I am owed feature X” attitude… and I don’t get it. If it isn’t useful for you, then just don’t comment.
OBS is a VST plugin host, so there are probably a million equalizers, but you seriously don’t want to research plugins.
I had no idea. The idea of something other than a DAW being a VST host seems bonkers to me, yet in the case of OBS makes perfect sense.
It's doable, but it can be intimidating if you don't know exactly what you're looking at.
I'd not be shocked if a large part of this is UI/UX considerations. It's not like it is technically especially challenging to hand off a mixed audio stream to the VST plugin, rather than juts a source. But creating a UX that enables such things without being too confusing is not exactly trivial.
It is complicated enough that the OBS mixers is creating up to 6 output tracks. For twitch streamers, tracks 1 and 6 are typically full mixes, while 2-4 are often partially mixed tracks for local recording, to enable post processing (level adjustment, noise cleanup, etc) in the YouTube video creation workflow.
Enabling support for effects on one of the output tracks is probably feasible, but more likely you would be interested in applying affects to an intermediate mix, which can be used as one of the inputs for the final mixes.
And that starts to get hairy to create a good UI for, unless you just go for mimicking how a mixing console handles it. But many mixing consoles don't have the most new-user friendly user experiences.
And all of this comes on top of UI development work often just being a pain.
I'm not being an entitled user here. OBS has several audio blocks including noise gate and some others that I used when I casually tried it out. Those were necessary to get my crappy microphone to sounds OK. I was baffled by the lack of an EQ and it turns out the project actively does not want one. My impression is that if someone submitted a pull request with that functionality they would reject it. Perhaps I'm wrong, but if I'm right that's (IMHO) really absurd.
BTW if I am wrong and they would accept it let me know, I might just take a stab at implementation.
Other comments mention VSTs; they work, but are typically Windows only and I suspect more on HN use macOS.
Elgato Wave microphones (https://www.elgato.com/en/wave-1 , $100/$150), which are good quality for the price, allow access to the Wave Link software which can be used to mix audio before piping it into OBS. A recent update allows users on macOS to use the native Audio Units (including equalizers/gates), and offers an audio stream that's just the added effects for easy use in other apps. https://help.elgato.com/hc/en-us/articles/4416040077069-Wave...
Alternatively, you can get Loopback for $100 (https://rogueamoeba.com/loopback/) for mixing or Soundsource for $40 (https://rogueamoeba.com/soundsource/) for AUs both of which I believe is what is what Wave Link uses regardless, so might as well get a good microphone out of it if you do not have one already.
As of a few years ago, anyway, there were a LOT of half-assed apps out there to do a bad job of the same thing, and they were dominating the search results
"Most popular FOSS software for recording your screen"
https://www.google.com/search?client=firefox-b-1-lm&q=Most+p...