Attrasoft

FlashFinderLite for Windows

Version 2010.0

Attrasoft FlashFinderLite matches a newly obtained video clip (*.flv) against a pre-established library of video clips (*.flv). Attrasoft FlashFinderLite verifies the copyright information of a newly obtained video clip by matching it against a pre-established library of video clips.

FlashFinderLite searches 100,000 video clips per second or 100,000 hours of videos clips per second, after key fingerprinting and library fingerprinting.


Download FlashFinderLite Demo


 

 

 

Attrasoft, Inc.

P. O. Box 13051

Savannah, GA. 31406

USA

http://attrasoft.com/

 

Software Requirements

Microsoft Windows

 

Installing the Software

         Copy/Unzip the files to a folder, c:\flvfinderlite2010\, and click flvfinder2010.exe to run.

 

Information and Support

Attrasoft, Inc.

P. O. Box 13051

Savannah, GA. 31406

USA

 

http://attrasoft.com

gina@attrasoft.com (Email Subject: Attrasoft)

Phone:(912) 484-1717

 

Statement of Copyright Restriction

Attrasoft has copyrighted the Attrasoft program you have purchased, and your rights of ownership are subject to the limitations and restrictions imposed by the copyright laws outlined below.

It is against the law to copy, reproduce or transmit (including, without limitation, electronic transmission over any network) any part of the program except as permitted by the copyright act of the United States (title 17, United States code). However, you are permitted by law to write the contents of the program into the machine memory of your computer so the program may be executed. You are also permitted by law to make a back-up copy of the program subject to the following restrictions:

         Each back-up copy must be treated in the same way as the original copy purchased from Attrasoft;

         No copy (original, or back-up) may be used while another copy, (original, or back-up) is in use;

         If you ever sell or give away the original copy of the program, all back-up copies must also be sold or given to the same person, or destroyed.

In addition, this software is for the personal use only. This is defined as follows:

         You cannot sell data or service based any computation results produced by this software. You must purchase a separate annual license for commercial use from Attrasoft.

         You cannot use the software to perform work for which you will get paid for. You must purchase a separate annual license for business use from Attrasoft.

This User�s Guide and Reference Manual is copyrighted by Attrasoft.

� Attrasoft 2004 � 2010


Table of Contents

Software Requirements. 2

Installing the Software. 2

Information and Support 2

Statement of Copyright Restriction. 3

Table of Contents. 4

1. Introduction. 5

1.1 What is FlashFinderLite ?. 5

1.2 Fingerprint Concepts. 6

1.3 User Interface. 6

1.4 Supported Video Formats. 7

1.5 VideoFinder Family. 8

2. How to Use FlashFinderLite. 9

2.1 Introduction. 9

2.2 Video Matching. 9

2.3 Example. 12

2.4 Beginner Tool Bar 13

2.5 Output File. 14

3. Advanced Users. 15

3.1 Library Manual 15

3.2 Match Menu. 16

4 Q & A.. 18

5. Performance. 20


1. Introduction

 

1.1 What is FlashFinderLite ?

Attrasoft FlashFinderLite matches a newly obtained video clip (*.flv) against a pre-established library of video clips (*.flv). FlashFinderLite searches 100,000 video clips per second or 100,000 hours of videos clips per second, after key fingerprinting and library fingerprinting (Figure 1.1).

 

Figure 1.1 Attrasoft FlashFinderLite.

 

Figure 1.2 The �Search� Menu and its menu items.

One application is to verify the copyright of a newly obtained video clip by matching it against a pre-established library of video clips. Another application is to collect statistics on TV advertisements after they are saved to a video file.

To operate the software, you will learn six steps; all of them can be found in the �Search� menu (Figure 1.2). This User�s Guide uses three examples to demonstrate the basic operations.

 

1.2 Fingerprint Concepts

The unique attributes of a video clip � its �video fingerprint� - are used. The matching between a new video clip and previously stored video clips is implemented via �Fingerprint� matching, i.e. all videos must be converted into �fingerprints� first. A library is a collection of previously stored fingerprints. The matching is done via a new key fingerprint against a particular library.

You can have as many libraries as you want. Before matching, you will need to select a library (or a set of libraries) and load it to the Attrasoft FlashFinderLite; then, you are ready to search.

 

1.3 User Interface

The FlashFinderLite has three video panels: �Key�, �Library�, and �Results�.

 

Figure 1.3 Three sections: �Key�, �Library�, and �Results�. The Key video panel is labeled by the �Key� label.

Key:

A key is a newly captured/obtained video clip. A set of Key videos are placed into a folder, which will be selected via the �Key� button. Use the �Play� buttons next to the label, �Key�, to play a video clip; this button will use your default Flash video player.

Use the �Home�, �=>�, and �<=� buttons to select a video clip in the folder. The �Home� selects the first video in the folder; �=>� selects the next video in the folder; and �<=� selects the previous video.

Library:

A library is a collection of videos. Library videos are selected via the �1. Folders� button. Use the �Play� buttons next to the label, �Library�, to play a video clip; this button will use your default Flash video player.

Use the �Home�, �=>�, and �<=� buttons to select a video clip in the folder. The �Home� selects the first video in the folder; �=>� selects the next video in the folder; and �<=� selects the previous video.

Results:

A result is a collection of videos that have matched with the selected key. Result videos are generated automatically by a video match. Use the �Play� buttons next to the label, �Result�, to play a video clip; this button will use your default Flash video player.

Use the �Home�, �=>�, and �<=� buttons to select a video clip in the matched collections. The �Home� selects the first matched video; �=>� selects the next matched video; and �<=� selects the previous matched video.

 

Figure 1.4 Three Video Panels: �Key�, �Library�, and �Results�. The Library video panel is labeled by the �Library� label.

1.4 Supported Video Formats

The FlashFinderLite supports *.flv file format only.

FlashFinderLite uses 32 bit computing; it can be run under a 64-bit computer as a 32-bit application.

 

1.5 VideoFinder Family

Attrasoft supports both Video Recognition and Image Recognition. Attrasoft video recognition family has several components. They support several main functions:

  • Find a video
  • Find a video frame
  • Find an object within a video frame
  • Find an object in a live video
The software components are:
  • Attrasoft FlashFinderLite
  • Attrasoft FlashFinder
  • Attrasoft FrameFinder
  • Attrasoft IFSurveillance
  • API

The FlashFinderLite finds a video. Attrasoft FlashFinderLite treats a video file as a single unit. The identification is performed at the video level, i.e. given video 1 and video 2, do they match?

The FlashFinder finds a frame. Attrasoft FlashFinder treats a video frame as a single unit. The identification is performed at the video frame level, i.e. given video frame 1 and video frame 2, do they match?

The FrameFinder finds a frame containing an object. Attrasoft FrameFinder treats a sub-frame as a single unit. The identification is performed at the sub-frame level, i.e. given an image, will it be inside the video somewhere?

Attrasoft IFSurveillance finds an object in a live video.

The video codec decoders are:

  • DirectShow
  • FFMpeg

Between these two decoders, the majority of video codecs are supported. If your video codec is not included, a customization has to be done to bridge the gap between Attrasoft and the video codec vendor.

Attrasoft VideoFinder and VideoFinderLite uses DirectShow, while FlashFinder and FlashFinderLite uses FFMpeg.

The API information can be found in the Q & A section.




2. How to Use FlashFinderLite

 

2.1 Introduction

The unique attributes of a video clip (its �video fingerprint�) are used for video matching. The matching between a new video clip and previously stored video clips is implemented via �Fingerprint� matching, i.e. all videos must be converted into �fingerprints� first. A library is a collection of previously stored fingerprints. The matching is done via a new key fingerprint against a particular library.

The FlashFinderLite has six steps. Two steps deal with inputs: you will select a new video to match a folder of videos; you will enter the new video folder and the library folder. Two steps deal with fingerprinting: you will convert a new video file into a video fingerprint and convert a folder of videos into a video fingerprint library, which is a file. You will need to load a library file (or files) and make a 1: N matching.

Initially, the operation will consist of the following six steps for video matching:

����������� 1. Select Library ("1..." button)

����������� 2. Get Library fingerprints ("2..." button)

����������� 3. Load Library ("3..." button)

����������� 4. Select Key ("4..." button)

����������� 5. Create Key fingerprint ("5..." button)

����������� 6. 1:N Matching ("6..." button)

Later, you do not have to create a library each time:

����������� 3. Load Library ("3..." button)

����������� 4. Select Key ("4..." button)

����������� 5. Create Key fingerprint ("5..." button)

����������� 6. 1:N Matching ("6..." button)

If you use the same library, after loading once, you can make searches:

����������� 4. Select Key ("4..." button)

����������� 5. Create Key fingerprint ("5..." button)

����������� 6. 1:N Matching ("6..." button)

 

2.2 Video Matching

The procedure is:

1. Select Library ("1..." button)

A video clip is converted into a video clip fingerprint. ���������� A set of video clip fingerprints forms a library. A set of video clips will be placed in a directory, and ��� the directory path will be entered into the FlashFinderLite, for example, �c:\abc\def\�.

This step selects a video clip directory. Dragging & dropping a folder into the second text box will complete this step. This step can also be implemented by clicking:

o   �Search/1. Select A Folder� menu item, OR

o   "1. Folder" button.

The video clips in the selected directory will be displayed in the second picture box (labeled �Lib(rary)�). Use the �Play� buttons to play the video clip.

Use the �Home� button to select the First video in the directory; use the �=>� button to select the next video clip; and use the �<=� button to select the previous video clip.

 

Figure 2.1 Step 1, Select Library (Source button).

 

2. Create Fingerprint Library ("2..." button)

This step converts all video clips in the selected directory into fingerprints and saves them to the file, �a1.txt�. This step is implemented by clicking:

o   �Search/2. Create Fingerprint Library (.\datat\a1.txt)� menu item, OR

o   �2. Library� button.

3. Load Library ("3..." button)

Before matching, you will need to select a library and load it to the FlashFinderLite. This step is implemented by clicking:

o   �Search/3. Load Fingerprint Library� menu item, OR

o   �3. Load� menu item.

 

Figure 2.2 Step 3, Select Key (Key button).

 

4. Select Key ("4..." button)

A key is a newly obtained video clip. The video clip is converted into a fingerprint. To select a key, put all of the videos you want to search into a folder, drag & drop the folder into the first text box and select a file in this key folder. This step can also be implemented by clicking:

o   �Search/4. Select Key� menu item, OR

o   �4. Key� button.

The video clips in the selected directory will be displayed in the first picture box (labeled �Key�). Use the �Play� buttons to play the video clip.

Use the �Home� button to select the First video in the directory; use the �=>� button to select the next video clip; and use the �<=� button to select the previous video clip.

Note: all of the key videos are in a single folder; this allows you to search multiple videos quickly. To search a particular video, you have to use �=>� button and �<=� button to find the one before converting it to fingerprint. For example, you want to search a.flv, b.flv, and c.flv, you will:

         place all three files (a.flv, b.flv, and c.flv) in a folder, c:\temp\;

         drag & drop �C:\temp\� into the first text box;

         use �=>� button to find b.flv.

5. Create Key fingerprint ("5..." button)

����������� This step converts a key video clip into a fingerprint. This step is implemented by clicking:

o   �Search/5. Key Fingerprinting� menu item, OR

o   �5. Finprt� button.

����������� This step will convert the current video in the key folder into a key fingerprint.

 

6. 1:N Matching ("6..." button)

����������� �1:N Matching� (read as 1 to N matching) compares �1� (i.e., the new video clip) with �N�

����������� (i.e., the previously stored video clips).This step is implemented by clicking:

o   �Search/6. Search� menu item, OR

o   �Search� button.

The 1:N matching results are also displayed in the third picture box (labeled �Results�). ������� Use the �Play� buttons to play the video clip.

Use the �Home� button to select the first matched video; use the �=>� button to select the next matched video clip; and use the �<=� button to select the previous matched video clip.

 

Figure 2.3 Step 6, 1:N Matching.

2.3 Example

In this section, we will use the several Video Clips. The stored data used in this section is in folder,

.\ test0 \

where �.\� is the folder where the software is installed. The 1:N match compares a newly obtained fingerprint with all video fingerprints in a1.txt.

1. Select Library ("1..." button)

Drag & drop �.\test0\� folder into the second text box.

2. Get Library fingerprints ("2..." button)

Click the �2 �� button; the results will be saved to �.\data\a1.txt� automatically.

3. Load Library ("3..." button)

Click the �3 �� button to load the library, �.\data\a1.txt�.

4. Select Key ("4..." button)

Drag & drop �.\test0\� folder into the first text box. By default, the first file in this folder is chosen; you can select any file in this folder as a search key.

5. Create Key fingerprint ("5..." button)

Click the �5 �� button; the key fingerprint will be saved internally. You can also save the results by clicking Match/Key Fingerprinting (key.txt), followed by clicking �Match/1:N Matching (Key.txt : Library)� in step 6.

6. 1:N Matching ("6..." button)

Click the �6 �� button to make a 1:N match, See Figure 2.4.

 

Figure 2.4 Step 6, 1:N Matching Text File Output.

 

2.4 Beginner Tool Bar

The toolbar duplicates the Beginner menu (Figure 2.5).

 

Figure 2.5 The Beginner Tool Bar.

 

2.5 Output File

The output format is a table:

ID������� Name�� Path���� Length Score�� Start���� Length

The output file can be opened anytime by menu item, �Search/Output�. We will use an example to show these fields.

Example. Assume �key.flv� is match with �c:\abc\def\xyz0001.flv�, then

ID

����������� Key File name without �.flv�, xyz0001.

Name

����������� Key file name, xyz0001.flv

Path

Key file path, c:\abc\def\

Length

����������� Video length in integer seconds.

Score

����������� Matching score in [0, 100].

Start

����������� Start of matching position in seconds; at this point, key.flv matches xyz0001.flv.

Length

����������� ����������� Length of matched portion.

 


 

3. Advanced Users

 

3.1 Library Manual

 

Figure 3.1 Library Menu.

 

Before matching, you will need to select a library and load it to the Attrasoft FlashFinderLite. The library to be loaded can be a single file, or several files in a folder.

The single file library to be loaded is fixed to the file:

����������� �.\data\a1.txt� --- first library to be loaded.

����������� �.\data\a2.txt� --- after initial loading, an additional library can be loaded.

The multiple file libraries to be loaded are fixed to the folders:

 

����������� .\data\lib1\*.txt --- first several libraries to be loaded.

����������� .\data\lib2\*.txt --- after initial loading, additional libraries can be loaded.

 

where ".\" is the folder where the FlashFinderLite is located.

You can have as many library files as you want in these two folders, .\data\lib1\ and .\data\lib2\. You will need to manually place files into these folders. You will need to manage the video fingerprint library files yourself via Windows Explorer.

 

Create Initial Library (.\data\a1.txt)

Use this menu item to create a fingerprint library from a folder of videos, and save it to �.\data\a1.txt�.

Create Additional Library (.\data\a2.txt)

Use this menu item to create a fingerprint library from a folder of videos, and save it to �.\data\a2.txt�.

Load Initial Library (.\data\a1.txt)

����������� Use this menu item to load the library file, �.\data\a1.txt�.

Load Additional Library (.\data\a2.txt)

����������� Use this menu item to load the library file, �.\data\a2.txt�, on top of ".\data\a1.txt".

Load Libraries (.\data\lib1\*.txt)

����������� Use this menu item to load all library files in ".\data\lib1\".

Load Additional Libraries (.\data\lib2\*.txt)

����������� Use this menu item to load all library files in ".\data\lib2\", on top of existing loaded libraries.

 

3.2 Match Menu

 

Figure 3.2 Match Menu.

 

Match Menu makes 1:1, 1:N, and M:N matching.

 

Match/1:1 Matching (Current Key vs. Current Lib)

Use this menu item to make a �1:1 Matching�, the current video in the Key folder vs. the current video in the Library folder. This command will (1) compute the fingerprint of the key video, (2) compute the fingerprint of the selected video in the library folder, and (3) make a 1:1 match between the two fingerprints.

Match/1:N Matching (Key vs. Loaded Library)

Use this menu item to make a �1:N Matching� (read as 1 to N matching). �1:N Matching� compares �1� (i.e., the current video clip in Key folder) with �N� (i.e., the loaded library of video clips).

����������� This menu item requires:

����������� (1) Fingerprint Library(s) is already loaded;

����������� (2) Newly captured video is already converted into a fingerprint.

Match/M:N Matching (a2.txt vs. Loaded Library)

Use this menu item to make a �M:N Matching� (read as M to N matching). �M:N Matching� compares �M� (i.e., all of the video clips in a2.txt) with �N� (i.e., the loaded library of video clips).

����������� This menu item requires:

����������� (1) Fingerprint Library(s) is already loaded;

(2) Newly captured video is already converted into a fingerprint library, a2.txt, via menu item, "Library/Create Additional Library (.\data\a2.txt)".

Match/Key Fingerprinting (key.txt)

Use this menu item to convert a key video clip into a fingerprint and save it to ".\data\key.txt". This will avoid computing the same key fingerprint over and over again.

Match/1:N Matching (Key.txt : Library)

Use this menu item to make a �1:N Matching� (read as 1 to N matching). �1:N Matching� compares the saved key fingerprint ("key.txt") with �N� (i.e., the loaded library of video clips).

 


 

4. Q & A

 

What Codecs does the VideoFinder family support?

Attrasoft VideoFinder and VideoFinderLite uses DirectShow, while FlashFinder and FlashFinderLite uses FFMpeg.

Does it support 64-bit Windows?

It will run under 64-bit Windows as a 32 bit application.

What are �Signature� and "Fingerprint" ?

For a video frame or an image, the unique attributes of an image frame ( its �signature� ) are compared against a library of signatures that have been prepared earlier.

For a video file, the unique attributes of a video file ( its �fingerprint�) are compared against a library of fingerprints that have been prepared earlier.

How to get Cost and Support?

Contact gina@attrasoft.com .

Are there any API's ?

Yes, the basic API (Microsoft Visual Studio Class Library) is easy to use.

The following is a FlvFinder example:

 

Get one fingerprint so it can be matched against a library:

videoFingerPrint = myObject.getFingerPrint ( fileName);

 

Create fingerprints for all videos in a folder for the initial library:

myObject.getFingerprints (folderName, outputTextFilename);

 

Load a video fingerprint library so this library can be used:

myObject.loadLibrary ( filename); //Load 1 file

or

myObject.loadLibraries ( foldername); //Load many files

Make a 1:N Matching:

myResults = myObject.findmatch1N (videoFingerPrint);

 

Library maintenance for a single video:

myObject.insert (videoFingerPrint);

myObject.delete(videoFingerPrint);

 

Library maintenance for multiple videos:

myObject.loadsecondaryLibrary (filename);

myObject.loadsecondaryLibraries (directoryname);

 

Objects used are declared as follows:

Attrasoft.VideoFinder2010.VideoFingerPrint videoFingerPrint; // video fingerprint

Attrasoft.VideoFinder2010.Result1N myResults; // 1:N Matching result

Attrasoft.VideoFinderLite2010.FFMpeg myObject; // main object

 


 

5. Performance

The software performance parameters are:

 

Fingerprinting speed: every 3 hours of video takes 1 hour to fingerprint.

 

Fingerprint size: every hour of video takes 200 KB.

 

Search speed: 100,000 video clips per second or 100,000 hours of video after key fingerprinting is completed.

 

Accuracy: if the unknown video is in the library, the rate is 100% with a matching score of 100. A matching score of 80 or above will have 100% accuracy.

 

Video Distortion: The Lite version allows for small distortions by saving one video format into another format.

 

Video Codec Variation: Different video codecs are allowed.

Shortest length: This version limit is 15 seconds, although a customized FlashFinder can find a single frame in 1/30 of a second.

 

Customization: Contact gina@attrasoft.com.


Download FlashFinderLite Demo


return >


Home | Company | Services | Products | Customers | Contact Us

copyright � 2007 - 2010 Attrasoft, Inc. All Rights Reserved.