What is FFprobe?

FFprobe is an FFmpeg utility that inspects media files and streams without performing a transcode. It reports containers, codecs, dimensions, timing, tags, and other technical metadata.

File + supplied context
Structured media record
Metadata is read, normalized, and used to drive decisions about the media it describes. This diagram shows metadata broadly, not specifically FFprobe.

How FFprobe works

FFprobe opens a resource through FFmpeg's demuxing and probing layers, identifies streams, and exposes selected container, packet, frame, and tag fields. It can serialize structured output for automation without creating a replacement media file. Probing is cheaper than a full transcode, but some properties are estimates or require reading deeper into the stream. It commonly forms an ingest gate before validation, routing, or construction of an encoding recipe.

Key facts

  1. Structured JSON combined with show_entries is safer for automation than parsing the default human-readable report, whose labels and formatting are not an interchange contract.
  2. Container duration and nominal frame rate may be missing, estimated, or misleading. Packet and frame timestamps are needed when a pipeline must detect variable cadence or timestamp gaps.
  3. A truncated file can expose plausible headers and stream declarations even though later packets are unreadable. Successful probing therefore does not constitute a complete decode validation.

When FFprobe matters

Pipelines run FFprobe before processing to validate inputs and choose compatible settings. Incorrect or missing metadata can require decoding tests rather than relying only on probe output.

Common use cases for metadata

These examples cover metadata broadly, not specifically FFprobe.

  • Filtering files by dimensions, duration, codec, MIME type, language, or detected content.
  • Building catalogs with searchable descriptions, rights, locations, and relationships.
  • Driving output paths, transformation parameters, moderation, and retention rules.

Working with metadata

This guidance covers metadata broadly, not just FFprobe.

A metadata reader parses known structures and can derive additional properties from the encoded content. The workflow then validates and normalizes fields before using them for search, routing, naming, filtering, or access decisions.

Metadata can be embedded in a file, stored beside it, or derived during analysis. Track its source and normalization rules, and decide which fields are authoritative, searchable, privacy-sensitive, or safe to copy into derivatives.

What you gain

  • Structured metadata makes media searchable, filterable, and automatable.
  • Technical properties let workflows choose valid transformations before processing.
  • Provenance and rights fields support governance throughout an asset’s lifecycle.

What it costs

  • Copying all metadata preserves context but can leak private or obsolete information.
  • Derived labels scale classification but carry confidence limits and model bias.
  • Rigid schemas improve consistency while making novel or vendor-specific fields harder to retain.

Before production

  1. Distinguish supplied metadata from values detected or derived during processing.
  2. Normalize units, time zones, encodings, and controlled vocabularies at ingestion.
  3. Remove sensitive fields before exposing files or metadata to another audience.

Turn media knowledge into a working pipeline

Connect uploads, processing, AI, storage, and delivery through one declarative API — with the encoding stack, scaling, and format churn handled for you.

Try Transloadit for free