View Source FFprobe (ffmpex v0.10.0)

Execute ffprobe CLI commands.

ffprobe is a simple multimedia streams analyzer. You can use it to output all kinds of information about an input including duration, frame rate, frame size, etc. It is also useful for gathering specific information about an input to be used in a script.

(from https://trac.ffmpeg.org/wiki/FFprobeTips)

Link to this section Summary

Functions

Get the duration in seconds, as a float.

Get the "format" map, containing general info for the specified file, such as number of streams, duration, file size, and more.

Get a list of formats for the file.

Get a list a of streams from the file.

Link to this section Types

Specs

format_map() :: %{}

Specs

streams_list() :: [%{}]

Link to this section Functions

Specs

duration(binary() | format_map()) ::
  float() | :no_duration | {:error, :no_such_file}

Get the duration in seconds, as a float.

If no duration (e.g., a still image), returns :no_duration. If the file does not exist, returns { :error, :no_such_file }

Specs

format(binary()) ::
  {:ok, format_map()} | {:error, :invalid_file} | {:error, :no_such_file}

Get the "format" map, containing general info for the specified file, such as number of streams, duration, file size, and more.

If the file does not exist, returns {:error, :no_such_file}. If the file is a non media file, returns {:error, :invalid_file}.

Specs

format_names(binary() | format_map()) ::
  {:ok, [binary()]} | {:error, :invalid_file} | {:error, :no_such_file}

Get a list of formats for the file.

If the file does not exist, returns {:error, :no_such_file}. If the file is a non media file, returns {:error, :invalid_file}.

Specs

streams(binary()) ::
  {:ok, streams_list()} | {:error, :invalid_file} | {:error, :no_such_file}

Get a list a of streams from the file.

If the file does not exist, returns {:error, :no_such_file}. If the file is a non media file, returns {:error, :invalid_file}.