Utilities
Read codec, stream, duration, and format metadata
A media file in, structured technical metadata out.
overview
What ffprobe does
ffprobe examines one connected audio or video file without transcoding it. Enable --show-format for container-level values and --show-streams for codec, dimensions, sample rate, channel, and stream metadata.
Set --select-streams to selectors such as v:0 or a when only one stream class matters. --output-format chooses an ffprobe writer; JSON is the easiest result to pass to downstream scripts.
The node reports what is encoded in the media container. Use ffmpeg when the workflow needs to alter, extract, or transcode the media itself.
source github.com/FFmpeg/FFmpeg
use cases
Where ffprobe fits
Gate media by codec
Inspect stream codecs before choosing a transcoding or delivery path.
Inventory uploaded media
Record duration, dimensions, audio channels, and container format as structured metadata.
Select the first video stream
Use --select-streams v:0 to isolate metadata for the primary video track.
reference
ffprobe inputs and flags
| Name | Type | Flag | Description |
|---|---|---|---|
| input | FILE | --input | Input media file. |
| show-format | BOOLEAN | --show-format | Include container information. |
| show-streams | BOOLEAN | --show-streams | Include stream information. |
| select-streams | STRING | --select-streams | Restrict output to matching streams. |
Showing key inputs. ffprobe exposes 5 inputs in total.
Full flag reference (5 inputs)
| Name | Type | Flag | Description |
|---|---|---|---|
| input | FILE | --input | Input media file |
| show-format | BOOLEAN | --show-format | Include container format information |
| show-streams | BOOLEAN | --show-streams | Include audio, video, subtitle, and data stream information |
| select-streams | STRING | --select-streams | Restrict output to a stream selector such as v:0 or a |
| output-format | STRING | --output-format | ffprobe writer format such as json, xml, flat, or csv |
example
Run ffprobe
ffprobe -v error -show_format -show_streams -of json tone.wav{"streams":[{"codec_name":"pcm_s16le","sample_rate":"8000","channels":1}],"format":{"format_name":"wav"}}guidance
Choosing ffprobe
Use ffprobe to inspect media without changing it. Use ffmpeg for transcoding, clipping, extraction, or filtering.
ffmpeg
Transforms audio, video, and image sequences.
exiftool
Reads broad embedded metadata across media and document formats.
pdftotext
Extracts textual content from PDF documents rather than media metadata.
faq
ffprobe questions
related
More Utilities tools
browser-fetch
Headless Chromium render: requested URL, final URL, status, and title next to the page.
cewl
Spider a URL and return a wordlist for password crackers.
csvkit
SQL on one CSV. The table name is the file stem.
dnsgen
Wordlist and mined-word subdomain permutation.
duckdb
In-process SQL on CSV, JSON, and Parquet. No server.
edge-tts
Microsoft Edge neural speech from text or a script file. No API key.
Run ffprobe yourself
A short WAV fixture is inspected for format and stream data, confirming PCM audio and the expected sample rate.
Facts on this page come from the live Trickest tool library.