locked
Capturing external USB Webcam fails

    Question

  • Hi there,

    I'm trying to capture the Image of an external USB Camera. Internal Front/Rear are working fine, but external Webcam Fails... my source UI just stays dark.

    However, the cam Shows up in "DeviceInformation.FindAllAsync". I'm getting the Name and the id. I have all cameras that have been found, including the external cam, inside DeviceInformationCollection. So I just Setting the camera by id from the Collection like this:

    var chosenDevInfo = m_devInfoCollection[0];  //0 is the external webcam                      
    MediaCaptureInitializationSettings captureInitSettings = new MediaCaptureInitializationSettings();
    captureInitSettings.PhotoCaptureSource = PhotoCaptureSource.VideoPreview;
    captureInitSettings.VideoDeviceId =  chosenDevInfo.Id;
    
    var mediaCapture = new MediaCapture();            
    await mediaCapture.InitializeAsync(captureInitSettings);
    
    m_mediaCapture = mediaCapture;          
    m_captureElement = captureElement;            
    m_captureElement.Source = m_mediaCapture;            
    await m_mediaCapture.StartPreviewAsync();


    Now... when I'm triggering StartPreviewAsync() the CaptureElement stays blank. No error or exception tough.

    I got a working Workaround however... I installed the virtual Webcam Software "ManyCam" on the Surface3 and took my external USB Cam as InputDevice. The virtual Webcam Shows up fine in the captureElement.

    Are there some limitations or bugs to common knowledge with external Webcams or am I doing something wrong?



    • Edited by SW_Andy Monday, July 28, 2014 1:46 PM
    Monday, July 28, 2014 1:45 PM

Answers

  • Well, I just can confirm that he C920 works just fine inside my app. It would be nice though to have more cameras supported (I guess this is due to Driver restrictions). So... case closed ;)
    Thursday, July 31, 2014 8:00 AM

All replies

  • Does it do this with every external webcam, or just a particular one?

    Matt Small - Microsoft Escalation Engineer - Forum Moderator
    If my reply answers your question, please mark this post as answered.

    NOTE: If I ask for code, please provide something that I can drop directly into a project and run (including XAML), or an actual application project. I'm trying to help a lot of people, so I don't have time to figure out weird snippets with undefined objects and unknown namespaces.

    Monday, July 28, 2014 7:44 PM
    Moderator
  • As a testcase I have two other cameras attached, but they're rather exotic. I got a industrial Camera "ids ueye xs" which seems to use Drivers winrt isn't capable of recognizing and is not showing up at all in the DeviceInformationCollection. Also I got a PS3 Camera attached with the CL Drivers which also can't be detected by winrt.

    We're ordering a Logitech C920 right now and test with that. I hope that it will work with that one. I'll Keep you posted.

    Edit...

    according to logitech the C920 should have app availability, whereas the old logitech camera I'm currently testing, hasn't (Quickcam Communicate STX).

    Below is an excerpt of the list:

    Webcams that work with Windows 8

    NOTE: These products aren't supported on Windows RT.

    Product Model Number (M/N) Desktop Software Available App Available
    B525 HD Webcam V-U0023
    B990 HD Webcam V-U0022
    BCC950 Conference Cam V-U0029
    HD Webcam B910 V-U0021
    HD Pro Webcam C910 V-U0017
    HD Pro Webcam C920 V-U0028

    • Edited by SW_Andy Tuesday, July 29, 2014 9:45 AM
    Tuesday, July 29, 2014 9:30 AM
  • Well, I just can confirm that he C920 works just fine inside my app. It would be nice though to have more cameras supported (I guess this is due to Driver restrictions). So... case closed ;)
    Thursday, July 31, 2014 8:00 AM