obs-studio icon indicating copy to clipboard operation
obs-studio copied to clipboard

Virtual Camera does not display on macOS with I420 Color Format and Full Color Range

Open ukiews opened this issue 1 year ago • 13 comments

Operating System Info

macOS 14

OBS Studio Version

30.1.1

Expected Behavior

Virtual Camera should work using the I420 color space.

Current Behavior

Running OBS 30.1.1 on an m2 Mac mini. When NV12 is selected as the color format in Advanced settings, virtual camera works fine. Changing the format to I420, virtual camera stays on black screen. Restarting mac or reinstalling OBS does not fix the issue. The Color Range is set to "Full".

Steps to Reproduce

Switch between nv12 and I420 color space with "Full" color range.

ukiews avatar Mar 28 '24 15:03 ukiews

There is no such thing as NV10. Did you mean NV12?

For the record, this did not work in 30.0.2 either.

Closing until a log is provided.

RytoEX avatar Mar 28 '24 17:03 RytoEX

Sorry, yes NV12. So if this is a known issue, why is a log needed?

ukiews avatar Mar 28 '24 19:03 ukiews

Because log files are critical to us understanding why something is happening. We might be aware of an issue, but not what or why the issue happens. Issue reports that delete large parts of our template do not have the information required to be actionable, and are therefor closed.

Fenrirthviti avatar Mar 28 '24 20:03 Fenrirthviti

Does this work? 16:41:22.620: --------------------------------- 16:41:22.620: video settings reset: 16:41:22.620: base resolution: 1920x1080 16:41:22.620: output resolution: 1920x1080 16:41:22.620: downscale filter: Bicubic 16:41:22.620: fps: 60/1 16:41:22.620: format: I420 16:41:22.620: YUV mode: Rec. 709/Full 16:41:22.620: NV12 texture support not available 16:41:22.620: P010 texture support not available 16:41:22.622: Settings changed (advanced) 16:41:22.622: ------------------------------------------------ 16:41:22.622: YT: InitYTUserUrl() User is not signed 16:41:56.561: User switched to scene 'Cam-LFront' 16:41:56.570: [obs-ndi] ndi_source_activated('NDI-CamLF'...) 16:41:56.605: [obs-ndi] ndi_source_deactivated('AnnouncementSlides'...) 16:42:38.181: ==== Virtual Camera Start ========================================== 16:42:38.181: Starting Virtual Camera output to Program 16:42:39.337: Output 'virtualcam_output': stopping 16:42:39.337: Output 'virtualcam_output': Total frames output: 68 16:42:39.337: Output 'virtualcam_output': Total drawn frames: 69 16:42:39.338: ==== Virtual Camera Stop =========================================== 16:46:37.555: Number of remaining views: 1 16:46:37.555: --------------------------------- 16:46:37.555: video settings reset: 16:46:37.555: base resolution: 1920x1080 16:46:37.555: output resolution: 1920x1080 16:46:37.555: downscale filter: Bicubic 16:46:37.555: fps: 60/1 16:46:37.555: format: NV12 16:46:37.555: YUV mode: Rec. 709/Full 16:46:37.555: NV12 texture support not available 16:46:37.555: P010 texture support not available 16:46:37.557: Settings changed (advanced) 16:46:37.557: ------------------------------------------------ 16:46:37.557: YT: InitYTUserUrl() User is not signed 16:46:39.229: YT: InitYTUserUrl() User is not signed 16:46:42.839: ==== Virtual Camera Start ========================================== 16:46:42.839: Starting Virtual Camera output to Program 16:46:46.242: Output 'virtualcam_output': stopping 16:46:46.242: Output 'virtualcam_output': Total frames output: 204 16:46:46.242: Output 'virtualcam_output': Total drawn frames: 205 16:46:46.243: ==== Virtual Camera Stop ===========================================

ukiews avatar Mar 28 '24 20:03 ukiews

We need the full log file, either uploaded as a .txt or using the built-in log uploader from the Help menu after the issue is replicated.

Fenrirthviti avatar Mar 28 '24 20:03 Fenrirthviti

https://obsproject.com/logs/zN5OSaKHLzvDyTb7

ukiews avatar Mar 28 '24 21:03 ukiews

Thank you. How are you viewing the Virtual Camera output? Will reopen while this is being investigated, but based on a cursory investigation, this seems to be the case as far back as OBS 29.1 which used the old DAL plugin virtual camera.

RytoEX avatar Mar 28 '24 21:03 RytoEX

Tried both Zoom and Mac Photo Booth apps

ukiews avatar Mar 28 '24 21:03 ukiews

Thanks. I can confirm this behavior on macOS 13.6.6 and OBS 29.1, 30.0.2, and 30.1. We've triaged this internally.

RytoEX avatar Mar 28 '24 21:03 RytoEX

Just clarifying that this only seems to occur with the specific combination of I420 Color Format and Full Color Range. NV12+Full works. I420+Limited works. It should be noted that "Full" should not be used unless you are absolutely sure you need it.

RytoEX avatar Mar 29 '24 16:03 RytoEX

Just clarifying that this only seems to occur with the specific combination of I420 Color Format and Full Color Range. NV12+Full works. I420+Limited works. It should be noted that "Full" should not be used unless you are absolutely sure you need it.

Yes, I am aware of the differences between Full and Partial color interpretation. "Full" is chosen conscientiously.

ukiews avatar Mar 29 '24 17:03 ukiews

Just clarifying that this only seems to occur with the specific combination of I420 Color Format and Full Color Range. NV12+Full works. I420+Limited works. It should be noted that "Full" should not be used unless you are absolutely sure you need it.

Yes, I am aware of the differences between Full and Partial color interpretation. "Full" is chosen conscientiously.

My note was not only for you, but for the benefit of anyone else running into this who does not need Full and yet chose it for some reason. It was also to note that very specific combinations break, while others work, which can get those affected who do not need Full back into a working state, and also for those debugging this Issue.

RytoEX avatar Mar 29 '24 17:03 RytoEX

Noting my findings: For me, both color ranges break equally with I420 as a format. However, I also found that it works fine with Discord (whereas with QuickTime Player and Cameo it's broken)

Background Discord, top Cameo, bottom QuickTime: image

gxalpha avatar May 03 '24 21:05 gxalpha