Hacker News new | past | comments | ask | show | jobs | submit login

For those who haven't tried it, you can mount the output of OBS as a camera, which can be used as input for something like Zoom. So you can add graphics, multiple angles, switch between different views, etc...



I have an Elgato Facecam which claims to work with Zoom on a Mac M1, but doesn’t (at least on my machine). I proxy it through an OBS virtual camera. Weird work around, but works!


This is very useful for doing hardware demos to prospective investors/clients! One pane is code and/or UI, other one is live output from your webcam.


This can also be used as a workaround for Teams on Linux not being able to get video input from a laptop's built in webcam.

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).


Since it is a webapp running on electron, I chose to install microsoft Edge for Linux and use the web version of teams. It also handle output/microphone devices changing much better than the app and is more stable than the windows app.


Re: video input - does the same problem occur when using the (unofficial, in maintenance-only mode) teams-for-linux[1] client?

(I haven't tried using the Windows version under Wine, sorry)

[1] - https://github.com/IsmaelMartinez/teams-for-linux/


unfortunately it does add a bit of lag which I find makes the technique somewhat untenable.


I have a virtual camera going to Zoom and do not have a lag to speak of. The computer is M1 Macbook Air.

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.


Tracking down what's causing lag in OBS can be quite difficult. I've seen people using the same capture hardware as me get input lag for local display down to one or two frames when I never got it under two seconds.


Not sure why this is being downvoted. I have a colleague who uses an OBS virtual webcam setup like this, and it's really disconcerting having a conversation with them, compared to others who don't use it, because of the additional lag. Their setup may have some specific problem though.


That's a configuration problem, and not hard to correct. Tell him to go into the audio settings, then "advanced audio settings", and add the "sync offset" in milliseconds required to bring the audio and video into sync.

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.


That’s desync, not latency/lag. They’re different things, and this solution will actually make the lag worse as it deepens the buffer. OBS virtual cameras definitely have noticeable lag with most people I have seen using them on Teams/Zoom.


I've experimented with OBS at well and decided not to use it for this specific reason. The lag is kinda subtle but on the other side of a test call (with someone else at my own desk) I was able to notice it quite well in interactions and it felt kinda annoying. Since I want the whole thing to feel as natural and positive as possible for the lager end, that was a non-starter. I can do without multiple cameras and gimmicky be-right-back screens.


The meaning of lag is notoriously varied--I think GP understood it as a consistent delay, and you and GGP are saying that OBS introduces an inconsistent delay, i.e., dropped frames or stuttering. The one using the virtual camera should be able to diagnose through the stats 'Frames missed due to rendering lag', 'Skipped frames due to encoding lag', and 'Dropped Frames (Network)', unless the virtual camera driver is somehow the culprit.

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.


> Or does one of you mean that even the constant delay is significant enough to be noticed on top of the video call latency?

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.


Second that with logitech cam on macbook pro works fine no lag issues.


I glanced earlier at the source for the OBS MacOS virtual webcam plugin and from what I could tell it read the webcam data into a buffer and fed that as the "virtual webcam" stream. If that's true, the extra reading and writing could be taking up cycles causing additional latency.


I haven't upgraded my Mac for a while and been wondering about what the measured range of delay might be for M1 (or M2) over 1080p video at 24fps.

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.


Is it possible to also use the audio output from OBS? Maybe that would solve it by having the same delay as the video?


That is indeed good to know. It didn't even occur to me that thats possible.

Do you by chance know of something similar but for audio?


Blackhole lets you route audio.

https://existential.audio/blackhole/


Oh nice!! I’ll have to give this a try


I’m not aware of anything free - but would be excited if there were. For the Mac, I use Loopback https://rogueamoeba.com/loopback/

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.


On Windows, VoiceMeeter may do what you need.

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.


I used to work with VoiceMeeter, but I replaced it with Audio Monitor Plugin[1] and the setup is much much simpler[2] now :)

[1] https://obsproject.com/forum/resources/audio-monitor.1186/

[2] https://www.youtube.com/watch?v=DhXaC1f9QwQ

(edited to correct the format, I hope)


Equalizer APO: https://sourceforge.net/projects/equalizerapo/

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.


Depends on what you're looking for. I know on Linux it's pretty straightforward to pipe any audio source into another, so for example you can send music coming out of your own Zoom microphone.


You can also overlay your iPhone/iPad screen on your camera feed. I literally set this up just yesterday after being frustrated with trying to hold up my iPhone to show something in a zoom. I know Zoom offers a way to share your iPhone screen (like a screenshare) but it can be flakey (the airplay version is more flakey) and sometimes I don't want to throw the whole meeting into chaos by starting a screenshare.

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.


That would make my afternoon operations handovers much more exciting haha especially with slick view transitions haha.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: