Audible Magic Toolkit

Package of command-line binaries/executables/programs (Identify, Analyze and IdentifyStream) that interact with Audible Magic backend

What does the Toolkit do?

  1. Analyzes unknown media files (audio and/or video data)
  2. Generates the unknown fingerprint(s)
  3. Packages the fingerprint(s) into an ID request
  4. Post the request to Audible Magic
  5. Receives the response
  6. 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 output

It 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.

media_file_identification_Identify


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)

media_file_identification_Analyze


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)

media_file_identification_IdentifyStream

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