Package of command-line binaries/executables/programs (Identify, Analyze and IdentifyStream) that interact with Audible Magic backend
What does the Toolkit do?
- Analyzes unknown media files (audio and/or video data)
- Generates the unknown fingerprint(s)
- Packages the fingerprint(s) into an ID request
- Post the request to Audible Magic
- Receives the response
- Parses the response into JSON to present
The Toolkit includes three command-line programs for various desktop/server operating systems (Linux in several flavors, Windows, Mac) that can determine the presence of audio and video material that has previously been registered with AM
The Toolkit is integrated with ffprobe and ffmpeg to decode and retrieve media file properties, such as duration, required for fingerprinting.
identify:
takes an input media file and packages it into an ID request to post to Audible Magic and returns a JSON outputIt also requires a Toolkit configuration file as input. Then it sends one or more requests to Audible Magic (in the usual case of remote lookup). It then receives a response, and produces JSON output showing the results of the identification.
The JSON output can be written to a file or to the standard output (by default the terminal window).
Command-line usage:
.\identify -c configFile -i inputFile -e assetID
Arguments:
-i inputFile (a media file, or an output file from the analyze program. Preferably expressed as a relative or absolute path to a local file
-c configFile (relative or absolute path to an SDK configuration file)
-e unknownAssetID (caller-defined identifier; returned in the response as unknownAssetID.
analyze:
separates the generation of the fingerprints from the process of posting to Audible Magic's Databases (optional)
This "analysis" file can later be fed to identify for identification. This strategy is useful for the use case who don't want to post the requests from the same machine as where the media fingerprinting is done. (It's also useful if you want to identify a long media file more than once and don't want to incur the overhead of fingerprinting every time, or if you just want to verify that a file can be successfully fingerprinted without having to post a request.) The output analysis file contains the fingerprint(s) as well as additional information needed for requests.
Command-line usage
.\analyze -c configFile -i inputMediaFile -o outputFile -e assetID
Arguments:
-i inputMediaFile (an audio or video file. Preferably expressed as a relative or
absolute path to a local file, but can also be a URL beginning with "http://" or "https://".
-o outputFile (fingerprint package, to be identified later by the 'identify' executable)
-c configFile (relative or absolute path to an SDK configuration file)
-e unknownAssetID (caller-defined identifier; returned in the response as unknownAssetID)
identifyStream:
accepts an input of real-time stream URL and returns a JSON output and log files with match information.
Process:
1. Listens to a URL.
2. Analyzes unknown media data (audio and/or video data)
3. Generates fingerprints into chunks of audio and aggregates the chunks to create a fingerprint.
4. Packages into an identification request.
5. Posts the identification request to Audible Magic.
6. Receive the Indentication Response.
7. Produces an ongoing log of actions taken by identifyStream.
Command-line usage
.\identifyStream -c configFile -i streamURL -e streamID -O outputDirectory
Arguments:
-i streamURL (URL of a live stream, beginning with http://, https://, rtmp://, or rtmps://, etc.)
-c configFile (relative or absolute path to an SDK configuration file)
-e streamID: Customer-specified string that uniquely and fully identifies the stream in the customer's systems.
-O outputDirectory (where JSON files will be written)
To run this program successfully, a configuration file will be provided by Audible Magic.
If you have any further questions regarding the Configuration File, please contact helpdesk@audiblemagic.com