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 in order 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, bit-rate, 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 allows you to 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 it is a fragment of a TV broadcast, a video file, an online video, or from a DVD or Blu-ray Disk. These video fingerprints can then be stored, copied, and compared to one another. Video fingerprints can be used to identify copyrighted video material, identify duplicate videos, search for videos, organize videos, recognize when a specific video is played, media monitoring, or ad tracking.
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).
Some of the ways you can put our Video Fingerprinting SDK to use:
An online video hosting service, such as YouTube, could use video fingerprints to avoid copyright infringement. A database of video fingerprints of copyrighted material would be developed and compared to the video fingerprints 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, despite differences in format, resolution or bit-rate, and group them together.
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 keep track of 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 in order to implement just this type of service. This application, including sources, can be licensed separately and used as a basis for building your own product or integrated into an existing system. See our media monitoring tool page for more information.
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 XP 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 about 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) in order to implement video reading in your application.
.Net: Yes, FFMPEG and libVLC 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 Video Duplicates Finder source code.
What other documentation is 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 described in 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, Video Duplicates Finder application as well as familiarizing yourself with the API and code samples.
.Net version of SDK available as independent installer with samples applications and sample source code inside.
MMT / VDF tools source code included (tools require .Net 4.5 for SOAP export. SDK can be used in .Net 4.0 and later).
C++ version of SDK available as independent installer.
MacOS, Windows or Linux.
Trial version overlay a nag-screen over the video window.
Purchase will give you the following benefits:
No nag screen
Free minor and major upgrades within 1 year (after 1 year SDK will work same as before)
Priority support and fixes