Emby Emby Emby Learn
  • Emby Home
  • Video
  • Audio
  • Media Files
    • Subtitles and captions
    • Photos and images
    • Metadata and discovery
    • Libraries and media collections
    • Playback and streaming
    • Media hardware acceleration
    • Displays and AV connections
    • Live TV and recording
  1. Emby Learn
  2. Media files and containers
  3. Media inspection
  4. Media stream inspection with ffprobe
Search Results for

    Show / Hide Table of Contents

    Media Stream Inspection with ffprobe

    ffprobe inspects containers, streams, chapters, and packet timing without converting the media.

    ffprobe is FFmpeg's inspection tool. Its value is that the question controls what is reported: whole-source information, individual streams, programmes, chapters, encoded packets, or decoded frames.

    With ffprobe installed, start with a structured description:

    ffprobe -v error -show_format -show_streams -show_chapters -of json "Movie.mkv"
    

    The format section concerns the source as a whole. Each stream section concerns one component. Chapters describe named positions. The report is written as JSON without creating a converted movie.

    Field Interpretation
    format_name Detected reader/format family; related formats may share a name
    index, codec_type, codec_name Which component the following properties describe
    time_base Seconds represented by one integer timestamp tick
    tags and disposition Descriptive fields and selection roles
    duration and bit_rate Values for the section's scope, potentially calculated or estimated

    Move from a summary to a timing question

    Suppose video stutters around ten minutes. This command requests a short packet examination near that source position:

    ffprobe -v error -select_streams v:0 -read_intervals "600%+5" -show_packets -show_entries packet=pts_time,dts_time,duration_time,flags,pos,size -of json "Movie.mkv"
    

    v:0 selects the first video component, not every stream. The interval requests a seek near 600 seconds followed by about five seconds of reading. Seeking may begin at a nearby usable point, and the relative interval is measured from the actual found position. Treat the returned timestamps as the evidence of the range actually read.

    The packet fields connect decode and presentation time with byte position, size, and flags. In reordered video, PTS can move backwards in decode order while DTS advances. That is a meaningful pattern rather than an automatic corruption diagnosis.

    A programme question uses another view

    For a television transport recording, add -show_programs to the summary request. Programme entries show how streams are grouped. A global stream index and a programme number answer different identity questions; they should not be confused when several services occupy one file.

    Packets and frames ask different things of the tool

    -show_packets reports encoded packet information obtained by the reader. -show_frames asks for information about decoded frames and can involve decoder work. A successful packet report does not establish that all picture data decodes, while decoding a selected interval still does not test the rest of a long recording.

    For Emby investigation, use the exact source and record which tracks the session selected. The useful progression is a summary to identify the source, then a narrower packet or frame question that corresponds to the observed failure. Missing optional JSON fields mean no value was emitted; they should not silently become zero in a comparison or script.

    See Also

    • Media Probing
    • Media Stream Inspection with MediaInfo
    • Packet Timestamps
    • MPEG-TS Program Tables: PAT and PMT

    References

    • ffprobe documentation
    On this Page
    2026 © EMBY LLC. Please see our terms of use and privacy policy.
    Back to Top