Where to find the processing pipeline for the virtual camera output ?

tpetit

New Member
Hello,

I noticed that when using OBS as a virtual camera (on linux with v4l2, but same with macOS or windows) to display a still image, the captured frame will slightly differ from the original one. I would like to know what processings are performed by OBS. I know some processings will be performed by the backend driver (YUV 422 or 420 conversion and stuff like this), but if I use directly v4l2 through ffmpeg I will not get the same result than using OBS, which leads me to believe OBS itself performs additional processing (filtering ? compression ?). Or OBS is using v4l2 with different parameters than those I used.

It seems there is no settings that can be changed for the virtual cam on the UI, unlike for recording o for streaming where compression parameters can be set. I have been looking in plugins/linux-v4l2 but I guess I might be missing something.

Any idea where I might find all the transformations applied to a frame between the input media and the output of the OBS virtual cam ?

Thanks !
 

AaronD

Active Member
My guess would be the Color Range setting. Full or Limited. Each source has one in its Properties, and the final output has one too, in Settings -> Advanced.

Limited exists because of analog broadcasts, where nothing is ever equal. So they overdrove it a bit to make sure that black and white, at least, were displayed correctly. Digital devices don't need that, but the standard is still there. Mismatching that setting can result in slightly wrong colors.
 

tpetit

New Member
Hello Aaron,
Thank you for your answer ! The color range is indeed a good lead. Nonetheless, I notice a difference remains with the source media even when using the full color range, even though it is even more noticeable with the limited color range. I guess there is still something else...
I'll keep digging.
Thanks again
 
Top