Probe and generate JSON report

Problem

Probe and generate a «clean» JSON report, i.e. without the headers.

Solution

ffprobe \
    -show_format \
    -show_streams \
    -print_format json \
    -loglevel quiet \
    input_file

General command

ffprobe \
    -show_format \
    -show_streams \
    -print_format print_format \
    -loglevel log_level \
    input_file

Command syntax

ffprobe
starts the command
-show_format
shows the technical metadata of the container
-show_streams
shows the technical metadata of the streams, including the codexes
-print_format print_format
set the output printing format to json
-loglevel log_level
set the amount of additional information included into the report
input_file
path, name and extension of the input file

Discussion

The JavaScript Object Notation (JSON) format has two advantages: it can easily be parsed and processed by machines, and it is human-readable as well. Other possible output printing formats include:

  • xml
  • flat

The -print_format parameter has the alias -of (output format).

The -loglevel parameter has the alias -v (verbosity). It supports the following values:

  • quiet
  • panic
  • fatal
  • error
  • warning
  • info
  • verbose
  • debug
  • trace

which allows to choose the amount of additional information to be included in the report. quiet gives just the actual output that can be processed directly, without any filtering of not wished information.


2018–09–27