Welcome video engineers and software developers!

By substituting one line of code in your workflow you can take advantage of an ultra fast and accurate media analysis service and never think about installing, updating, or fussing with inconsistent results from OSS software again. Start quickly with simply with just a token and url or customize the reports based on more sophisticated needs.

🚧

We are currently in private beta. If you would like to request access drop us a note.

Get your credentials

Your private beta welcome email will include a link to register for credentials. After you have registered and authenticated your API token and logs will securely surface within our API reference docs.

Our endpoint is your beginning

Every request is sent to our API endpoint using either the GET or POST method. All responses are formatted using JSON and follow a specific response message format.

https://api.probedev.com/v1/probe/file

GET or POST, your choice

Here are the API call methods we support right now. This covers all of the most popular methods of passing parameters over http, so you can use what they are more comfortable with.

  1. GET request (parameters are included as part of url) For example:
curl -X GET https://api.probedev.com/v1/probe/file?token=developer-token&only=ffprobe
  1. POST request with three possible Content-Type headers Parameter format is the same as for GET, but parameters are included inside the POST body:
    1. multipart/form-data
    2. application/x-www-form-urlencoded
      token=developer-token&only=ffprobe
    3. application/json
      {"token": "developer-token", "only": "ffprobe"}

Specify Report Types

Chose one or all report types: mediainfo, ffprobe, or probe_report:

{
    "url": "https://probeqa.s3.amazonaws.com/trusted_sources/video/sample-source.mp4",
    "probe_report": {
        "enabled": true,
        "diff": true
    },
    "mediainfo": {
        "enabled": true
    },
    "ffprobe": {
        "enabled": true
    }
}

MediaInfo

MediaInfo is a convenient unified display of the most relevant technical and tag data for video and audio files. We support all the latest builds version of mediainfo to ensure integrity with your production workflow.

onlyis a parameter with which you can get mediainfo response without any wrappers, meaning you get what you would get if you ran mediainfo locally. Although our defaults are usually sufficient, you can pass most mediainfo parameters. Our API parameters have the same names as mediainfo (but snake cased), so it is very easy to pass the parameters you used previously to run mediainfo. So you don't need to change your code to handle the received response we return.

FFPROBE
FFprobe is a command-line tool included with FFmpeg, primarily used for extracting and analyzing media metadata. It is is known to provide deeper introspection than media info and has the benefit of integration with ffmpeg based media processing pipelines. Chose the only parameter to return our default ffprobe parameters or chose to specify your custom ffprobe probe parameters, we accept virtually all ffprobe options with the same names so refer to the ffprobe documentation for details. We support all the latest builds version of ffprobe to ensure integrity with your production workflow.

probe_report

Any one who has run OSS media analysis tools understands their power but is frustrated with their accuracy and consistency across different media types. There has been no easy way to normalize the parameters of different tools for comparison. It is very common for the values to differ between tools (and versions of tools) and there is no way which value is accurate and comparison becomes a challenge without normalizing values. 
With the probe_report we combine and parse ffprobe and mediainfo results, normalize the parameter names and reported values and have used machine learning to train our report on millions of assets to report the correct values.

The need for normalization

Here is an example of a very simple normalization required of the "transfer characteristic" parameter:

MediaInfoFFProbe
BT.709bt709
FCC 73.682fcc
BT.470 System B/Gbt470bg
BT.601smpte170m
SMPTE 240Msmpte240m
YCgCoycgco
BT.2020 non-constantbt2020nc
BT.2020 constantbt2020c
Y'D'zD'xsmpte2085
Chromaticity-derived non-constantchroma-derived-nc
Chromaticity-derived constantchroma-derived-c
ICtCpictcp

Migrate with one line of code

We designed our platform and integration methods for workflows currently using the two most popular OSS media analysis tools media info or ffprobe. Not only can you continue to use this software with your desired version. Our goal is that you can usually change one line and start using probe.dev very quickly. For example, for php from:

From:

exec("ffprobe -i $url -output_format json -probesize $probesize -analyzeduration $analyzeduration -max_probe_packets $max_probe_packets -show_format -show_streams", $output);

To:

$output = file_get_contents("https://api.probedev.com/v1/probe/file?token=$token&url=$url&only=ffprobe&ffprobe[output_format]=json&ffprobe[probesize]=$probesize&ffprobe[analyzeduration]=$analyzeduration&ffprobe[max_probe_packets]=$max_probe_packets&ffprobe[show_format]=true&ffprobe[show_streams]=true");