Camera frames sample

Shows how to perform various tasks related to individual frames captured through a camera.

Note: This sample is part of a large collection of UWP feature samples. You can download this sample as a standalone ZIP file from, or you can download the entire collection as a single ZIP file, but be sure to unzip everything to access shared dependencies. For more info on working with the ZIP file, the samples collection, and GitHub, see Get the UWP samples from GitHub. For more samples, see the Samples portal on the Windows Dev Center.

Specifically, this sample shows how to:

  • Find cameras which support color, depth and/or infrared
  • Access cameras in shared mode
  • Create and read frames from a FrameReader
  • Process input frames pixel by pixel
  • Rendering frames to an image element
  • Use a DeviceWatcher to monitor when cameras are connected and disconnected

Source groups

Use the MediaFrameSourceGroup.FindAllAsync method to identify all capture source groups. Each group can offer multiple sources, such as color, depth and infrared. You can inspect the groups to find one that meets your needs, then initialize a MediaCapture with that group.

Shared mode

Set SharingMode to SharedReadOnly when initializing the MediaCapture to access the camera at the same time as another app but without the ability to modify camera settings.

Create and read frames from a FrameReader

Use the FrameReader class to read frames from a frame source as they arrive.

Additional remarks

Note The Windows universal samples require Visual Studio to build and Windows 10 to execute.

To obtain information about Windows 10 development, go to the Windows Dev Center.

See also




Windows.Media.Capture.Frames namespace

System requirements

Client: Windows 10 version 1703

Build the sample

  1. If you download the samples ZIP, be sure to unzip the entire archive, not just the folder with the sample you want to build.
  2. Start Microsoft Visual Studio and select File > Open > Project/Solution.
  3. Starting in the folder where you unzipped the samples, go to the Samples subfolder, then the subfolder for this specific sample, then the subfolder for your preferred language (C++, C#, or JavaScript). Double-click the Visual Studio Solution (.sln) file.
  4. Press Ctrl+Shift+B, or select Build > Build Solution.

Run the sample

The next steps depend on whether you just want to deploy the sample or you want to both deploy and run it.

Deploying and running the sample

  • To debug the sample and then run it, follow the steps listed above to connect your developer-unlocked Microsoft HoloLens, then press F5 or select Debug > Start Debugging. To run the sample without debugging, press Ctrl+F5 or select Debug > Start Without Debugging.