Question / Help Surface Pro 3 camera (front only) does not appear to be compatible

Possible duplicate of this thread, but mine is far more descriptive.

I am hoping for a fix so I can stream mobile using my Surface Pro 3. The built-in camera for the Surface Pro 3 is two (apparently identical) devices called Microsoft LifeCam Front and Microsoft LifeCam Rear. The rear works fine, but that's not very useful. The front produces a black frame, but only does this when using OBS.

Steps to Reproduce
Hardware: Surface Pro 3
OS: Windows 8.1
Config: 8 GB RAM, i7 processor, 256 GB hard drive

From the OBS main window:
1. Set up a source assigned to the front camera of the Surface
2. Preview the scene, and observe the camera appears to output only a black screen (see screen cap)

Details: If I Edit Scene, I can click the frame and see the outline, but inside is nothing but blackness.

The front camera is confirmed to work using other Windows 8 software (ie: Camera). This issue occurs with or without a USB camera attached. This issue occurs whether or not one is creating global sources to handle the camera's output. This issue occurs when there are multiple sources in use, but only for the LifeCam front. This issue seems to occur regardless of custom resolution setting for the source (it was tested, and the issue occred at 1280x720, 960x540, 848x480, and 640x480). This issue occurs with no custom resolution set as well. The issue occurs with custom bitrate set for the profile to the same as the source (in the test, it was 1280x720, no downsampling). This issue occurs whether or not one is connected through the optional Dock.

The configuration here was with only one global source, not set to a custom resolution. Checked the logs and ran them through the Analysis. The resultant error therefore doesn't make sense:
Bad resolution / FPS / bitrate combination

The combination of settings you are using will likely lead to a low quality stream with artifacting and other problems. Consider either raising your bitrate or lowering your resolution / FPS (qval: 0.024)

1 issues found (1 major, 0 minor).

Logs:

Code:
05:18:59: Open Broadcaster Software v0.638b - 64bit ( ^ω^)
05:18:59: -------------------------------
05:18:59: CPU Name: Intel(R) Core(TM) i7-4650U CPU @ 1.70GHz
05:18:59: CPU Speed: 2295MHz
05:18:59: Physical Memory:  8097MB Total, 3567MB Free
05:18:59: stepping id: 1, model 69, family 6, type 0, extmodel 2, extfamily 0, HTT 1, logical cores 4, total cores 2
05:18:59: monitor 1: pos={0, 0}, size={1440, 960}
05:18:59: Windows Version: 6.2 Build 9200
05:18:59: Aero is Enabled
05:18:59: -------------------------------
05:18:59: OBS Modules:
05:18:59: Base Address     Module
05:18:59: 00000000AE140000 OBS.exe
05:18:59: 00000000DCA40000 OBSApi.dll
05:18:59: 00000000F9F80000 DShowPlugin.dll
05:18:59: 00000000F3570000 GraphicsCapture.dll
05:18:59: 00000000F54D0000 NoiseGate.dll
05:18:59: 00000000EDE40000 PSVPlugin.dll
05:18:59: ------------------------------------------
05:18:59: Adapter 1
05:18:59:   Video Adapter: Intel(R) HD Graphics 5000
05:18:59:   Video Adapter Dedicated Video Memory: 0
05:18:59:   Video Adapter Shared System Memory: 1879048192
05:18:59:   Video Adapter Output 1: pos={0, 0}, size={1440, 960}, attached=true
05:18:59: =====Stream Start: 2014-12-08, 05:18:59===============================================
05:18:59:   Multithreaded optimizations: On
05:18:59:   Base resolution: 960x1440
05:18:59:   Output resolution: 960x1440
05:18:59: ------------------------------------------
05:18:59: Loading up D3D10 on Intel(R) HD Graphics 5000 (Adapter 1)...
05:18:59: ------------------------------------------
05:18:59: Audio Format: 48000 Hz
05:18:59: ------------------------------------------
05:18:59: Audio Channels: 2 Ch
05:18:59: Playback device Default
05:18:59: ------------------------------------------
05:18:59: Using desktop audio input: Speakers (Realtek High Definition Audio)
05:18:59: Global Audio time adjust: 0
05:18:59: ------------------------------------------
05:18:59: Using auxilary audio input: Microphone (Microsoft Docking Station Audio Device)
05:18:59: Mic time offset: 0
05:18:59: ------------------------------------------
05:18:59: Audio Encoding: AAC
05:18:59:     bitrate: 128
05:18:59: ------------------------------------------
05:18:59:     device: Microsoft LifeCam Front,
05:18:59:     device id \\?\usb#vid_045e&pid_07be&mi_00#6&3572699a&0&0000#{65e8773d-8f56-11d0-a3b9-00a0c9223196}\global,
05:18:59:     chosen type: YUY2, usingFourCC: false, res: 960x540 - 960x540, frameIntervals: 333333-666666
05:18:59:     use buffering: false - 0, fourCC: 'YUY2'
05:18:59:     audio device: Disable,
05:18:59:     audio device id Disabled,
05:18:59:     audio time offset 0,
05:18:59:
05:18:59: Using directshow input
05:18:59: Scene buffering time set to 700
05:18:59: ------------------------------------------
05:18:59: Video Encoding: x264
05:18:59:     fps: 30
05:18:59:     width: 960, height: 1440
05:18:59:     preset: veryfast
05:18:59:     profile: high
05:18:59:     keyint: 250
05:18:59:     CBR: yes
05:18:59:     CFR: yes
05:18:59:     max bitrate: 1000
05:18:59:     buffer size: 1000
05:18:59: ------------------------------------------
05:19:01: FlushBufferedVideo: Flushing 2 packets over 33 ms
05:19:01: Total frames encoded: 48, total frames duplicated: 0 (0.00%)
05:19:01: Total frames rendered: 71, number of late frames: 0 (0.00%) (it's okay for some frames to be late)
05:19:02:
05:19:02: Profiler time results:
05:19:02:
05:19:02: ==============================================================
05:19:02: video thread frame - [100%] [avg time: 1.078 ms] [children: 40.3%] [unaccounted: 59.7%]
05:19:02: | scene->Preprocess - [0.186%] [avg time: 0.002 ms]
05:19:02: | GPU download and conversion - [40.1%] [avg time: 0.432 ms] [children: 32.5%] [unaccounted: 7.61%]
05:19:02: | | flush - [25.5%] [avg time: 0.275 ms]
05:19:02: | | CopyResource - [6.49%] [avg time: 0.07 ms]
05:19:02: | | conversion to 4:2:0 - [0.464%] [avg time: 0.005 ms]
05:19:02: Convert444Thread - [100%] [avg time: 4.501 ms] [children: 99.8%] [unaccounted: 0.222%]
05:19:02: | Convert444toNV12 - [99.8%] [avg time: 4.491 ms]
05:19:02: encoder thread frame - [100%] [avg time: 2.28 ms] [children: 0.175%] [unaccounted: 99.8%]
05:19:02: | sending stuff out - [0.175%] [avg time: 0.004 ms]
05:19:02: ==============================================================
05:19:02:
05:19:02:
05:19:02: Profiler CPU results:
05:19:02:
05:19:02: ==============================================================
05:19:02: video thread frame - [cpu time: avg 0.44 ms, total 31.25 ms] [avg calls per frame: 1]
05:19:02: | scene->Preprocess - [cpu time: avg 0 ms, total 0 ms] [avg calls per frame: 1]
05:19:02: | GPU download and conversion - [cpu time: avg 0.22 ms, total 15.625 ms] [avg calls per frame: 1]
05:19:02: | | flush - [cpu time: avg 0.22 ms, total 15.625 ms] [avg calls per frame: 1]
05:19:02: | | CopyResource - [cpu time: avg 0 ms, total 0 ms] [avg calls per frame: 1]
05:19:02: | | conversion to 4:2:0 - [cpu time: avg 0 ms, total 0 ms] [avg calls per frame: 1]
05:19:02: Convert444Thread - [cpu time: avg 4.654 ms, total 218.75 ms] [avg calls per frame: 1]
05:19:02: | Convert444toNV12 - [cpu time: avg 4.654 ms, total 218.75 ms] [avg calls per frame: 1]
05:19:02: encoder thread frame - [cpu time: avg 1.358 ms, total 62.5 ms] [avg calls per frame: 1]
05:19:02: | sending stuff out - [cpu time: avg 0 ms, total 0 ms] [avg calls per frame: 1]
05:19:02: ==============================================================
05:19:02:
05:19:02: =====Stream End: 2014-12-08, 05:19:02=================================================
05:21:04: Terminating 0x1110
 
Last edited:

karaokelove

New Member
I'm having this same problem. When I first turn on OBS after starting my Surface Pro, the front camera will work. But as soon as I make any changes (including turning the camera off and back on, switching to rear camera and back, or turning OBS off and back on), the camera light will come on but it will only display a black screen. No amount of additional changes will fix the issue except for a restart of the entire surface pro.

The only weird thing I've noticed is that if I go into the Video Capture Device settings, it will be set to rear camera. I'll set it to Front Camera, which doesn't fix the issue, but if I hit the "refresh" button in the settings, it will always revert to Rear Camera. This leads me to believe that OBS is still trying to read the Rear Camera for some reason, even though it will still turn on the front camera of the surface pro. Still no idea how to fix this, though, so any advice would be appreciated.
 
In your search bar in start, or start menu if you have Classic Shell installed for windows 8 type in devmgmt.msc and open the device manager. Go to imaging devices and right click on the rear camera and disable it. Open OBS, make sure the front camera is selected and it will work from then on. Just remember to re-enable your rear camera before you plan to use it for something other than streaming. Hope this helps!
 

Noxbni10136

New Member
In your search bar in start, or start menu if you have Classic Shell installed for windows 8 type in devmgmt.msc and open the device manager. Go to imaging devices and right click on the rear camera and disable it. Open OBS, make sure the front camera is selected and it will work from then on. Just remember to re-enable your rear camera before you plan to use it for something other than streaming. Hope this helps!
is there any way to do this without disabling the rear camera?
 
{Surface Pro 3, i7, Windows 10} I think if you use the x32 bit version of OBS, you don't have to disable any cameras. I tried disabling the rear cam as gamingwithgeforce said, but that did not make my front cam work in x64 or x32. I reenabled the camera and then the front cam worked in x32 but still didn't work in x64. I think I had basically the same settings as OP.
 
Top