Video Fingerprinting SDK .Net / C++

Our state-of-the-art video fingerprinting technology incorporates the latest advances in scene analysis, object tracking, and motion estimation to analyze the content of any video to identify its unique characteristics, such as colors, scene structure, and the motion of objects. This allows a copy of the video to be identified despite changes in resolution, bitrate, method of encoding, or file format. The video can even be detected when it is included inside another video or when just a fragment of the video is reproduced.

Our SDK lets you integrate this video identification functionality into your applications and services. Our licensing agreement permits you to incorporate the technology in an unlimited number of products for one payment. There are no other fees, regardless of the number of copies of these products you sell.

What is a video fingerprint?

A video fingerprint is a compact digital descriptor that can be extracted from any video source, whether a fragment of a TV broadcast, a video file, an online video, or a DVD or Blu-ray Disk. These video fingerprints can then be stored, copied, and compared. Video fingerprints can be used to identify copyrighted video material and duplicate videos, search for videos, organize videos, recognize when a specific video is played, monitor media, or track ads.

Use VisioForge Video Duplicates Finder as a sample application to find similar video files.

Use VisioForge Media Monitoring Tool as a sample application to find one video fragment (TV commercial, for example) in another (full broadcast recording).

.Net SDK version has a helper for MongoDB usage as fingerprint storage.

Some of the ways you can put our Video Fingerprinting SDK to use:

  • An online video hosting service like YouTube could use video fingerprints to avoid copyright infringement. A database of video fingerprints of the copyrighted material would be developed and compared to the video fingerprint materials submitted by users to prevent the illegal submission of pirated videos.
  • A video archive service could use video fingerprints to save space and block duplicate uploads. A video fingerprint would be extracted from each video in the archive. The video fingerprint of each new submission would be compared to the database of the fingerprints of existing videos, checking to make sure they are different and blocking duplicate submissions.
  • Video Organizer software could use video fingerprints to identify copies of the same movie or video clip and group them despite differences in format, resolution, or bitrate.
  • Set-top box software could use video fingerprints to develop interactive advertisements by identifying when specific TV ads are shown and displaying a clickable URL to allow the user to access the product website. It could also be used to track how often the ad is viewed.
  • A search engine for videos could be developed using our Video Fingerprinting SDK – a unique, revolutionary service implementing a video-by-video search functionality that would be the first of its kind.
  • A TV Clipping Service could use video fingerprinting technology to automate TV broadcast monitoring and TV ad verification to detect when a client’s ad is aired so they can ensure the terms of their TV advertising agreements are being respected.
  • We have developed our media monitoring tool as a fully functional application that enables the detection of ad samples in a broadcast dump to implement this service. This application, including sources, can be licensed separately and used as a basis for building your product or integrated into an existing system. See our media monitoring tool page for more information.
  • Detecting pirated video content

What operating systems are supported?

  • C++ SDK supports Windows and Linux, or any other POSIX-compatible operating system (available by request)
  • .Net SDK supports Windows 7 and later

What is the size of a video fingerprint file?

Each second of a video stream analyzed requires about 1kb for its video fingerprint. Duplicate detection generally only requires 3-5 seconds of each video to be indexed. Indexing of full videos is required in order to identify a video that has been included inside another.

How much time is required for computations?

Indexing one second of video takes about 300 milliseconds – the actual processing of the file accounts for nearly half of that time (150 milliseconds), while video decompression accounts for the rest. Matching a pair of 10-second-long fingerprints takes 1-2 milliseconds. These times were established by testing with an Intel i3 processor and LAV filters for video compression.

Is video reading or decoding software included?

  • C++: No. You will need some other library (FFMPEG, for example, demo available) to implement video reading in your application
  • .Net: Yes, FFMPEG and libVLC are included. Also, system codecs can be used for decoding

What code samples are available?

The following code samples are included with your purchase:


  • FFMPEG-based console application that indexes videos and builds fingerprints (Windows, Linux)
  • A console application that compares two fingerprints to detect duplicates (Windows, Linux)
  • A console application that searches for entries of one fingerprint inside another (Windows, Linux)
  • Source code of a full Media Monitoring Tool application (Windows, Linux)


  • Media Monitoring Tool and Media Monitoring Tool Live source code
  • Video Duplicates Finder source code.

What is other documentation available


  • VFCompare API – a video fingerprinting algorithm implementation that is optimized for the detection of duplicate videos

  • VFSearch API – a video fingerprinting algorithm implementation that is optimized for searching video in video


  • Full API is described in a help file.

How can I try-out and evaluate the technology?

We suggest you download and experiment with the trial versions of our Media Monitoring Tool application and the Video Duplicates Finder application and familiarize yourself with the API and code samples.

.The .Net version of SDK is available as an independent installer with sample applications and sample source code inside.

​MMT/VDF tools' source code is included (tools require .Net 4.5 for SOAP export. SDK can be used in .Net 4.0 and later).

​The C++ version of SDK is available as an independent installer.

System requirements

Mac OS, Windows, or Linux.

Distribution rights

Royalty-free distribution.

Trial limitations

The trial version displays a watermark on the video window.

Purchase of Video Fingerprinting SDK will give you the following benefits:

  • Unlimited usage
  • No nag-screen
  • Free minor and major upgrades within one year (after one year, SDK will work the same as before) for a regular license and unlimited updates for unlimited time for the lifetime license
  • Priority support and fixes
The regular license is billed annually and automatically renewed each year. You can cancel your subscription at any time.

SDK contains optional FFMPEG and libVLC engines. Original libraries licensed as LGPL v2.1.

VisioForge © 2006 - 2024