Skip to content
A library with sample apps for continuous analysis of live video, using the Microsoft Cognitive Services Vision APIs.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
Windows Update sample app to new packages (#11) Jul 25, 2019
.gitattributes Add code and project files Jul 8, 2016
.gitignore Add code and project files Jul 8, 2016 Add code and project files Jul 8, 2016

Video Frame Analysis Sample

This sample contains a library, along with two applications, for analyzing video frames from a webcam in near-real-time using APIs from Microsoft Cognitive Services. The library and applications are implemented in C#, and use the OpenCvSharp package for webcam support.

Getting Started

  1. Get API keys for the Vision APIs from For video frame analysis, the applicable APIs are:
  2. Open the sample in Visual Studio 2015, build and run the sample applications:
    • For BasicConsoleSample, the Face API key is hard-coded directly in BasicConsoleSample/Program.cs.
    • For LiveCameraSample, the keys should be entered into the Settings pane of the app. They will be persisted across sessions as user data.
  3. Reference the VideoFrameAnalyzer library from your own projects.

Using the VideoFrameAnalyzer Library

You can start using the library with only a few lines of code:

// Create Face API Client. 
FaceServiceClient faceClient = new FaceServiceClient("<subscription key>","<api root>");
// Create grabber, with analysis type Face[]. 
FrameGrabber<Face[]> grabber = new FrameGrabber<Face[]>();
// Set up Face API call, which returns a Face[]. Simply encodes image and submits to Face API. 
grabber.AnalysisFunction = async frame => return await faceClient.DetectAsync(frame.Image.ToMemoryStream(".jpg"));
// Tell grabber to call the Face API every 3 seconds. 
// Start running. 
await grabber.StartProcessingCameraAsync();


We welcome contributions. Feel free to file issues and pull requests on the repo and we'll address them as we can. Learn more about how you can help on our Contribution Rules & Guidelines.

You can reach out to us anytime with questions and suggestions using our communities below:

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact with any additional questions or comments.


All Microsoft Cognitive Services SDKs and samples are licensed with the MIT License. For more details, see LICENSE.

Developer Code of Conduct

The image, voice, video or text understanding capabilities of VideoFrameAnalyzer use Microsoft Cognitive Services. Microsoft will receive the images, audio, video, and other data that you upload (via this app) for service improvement purposes. To report abuse of the Microsoft Cognitive Services to Microsoft, please visit the Microsoft Cognitive Services website at, and use the "Report Abuse" link at the bottom of the page to contact Microsoft. For more information about Microsoft privacy policies please see their privacy statement here:

Developers using Cognitive Services, including this sample, are expected to follow the "Developer Code of Conduct for Microsoft Cognitive Services", found at

You can’t perform that action at this time.