Skip to content

A set of command lines to debug video streaming files like mp4 (MPEG-4 Part 14), ts (MPEG-2 Part 1), fmp4 in Dash, HLS, or MSS, with or without DRM.

License

Notifications You must be signed in to change notification settings

leandromoreira/video-containers-debugging-tools

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 

Repository files navigation

Introduction

A set of command lines examples to help debugging video streaming files like mp4, ts ,fmp4 in Dash, HLS, or MSS, with or without DRM.

The tools

  • FFprobe - A generic tool for media streaming debug
  • Mediainfo - A generic tool for media streaming info
  • TSDuck - A tool more specific for TS (MPEG-2 Part 1)
  • Bento4 - A tool more specific for MP4 (MPEG-4 Part 14)

Overview of the streams

ffprobe -i file.extension

# trace will output like a parser, it's useful for learning also check container structure such as fragmented mp4, mpegts programs...
ffprobe -v trace file.extension

mediainfo file.extension

tsdump file.ts
tsanalyze file.ts
tstables file.ts
# .. tsXXXX

mp4info file.mp4
mp4dump  # this is useful for fragmented mp4
# mp4XXXXX

Specific info from the streams

# -select_streams v is filtering only video streams
ffprobe -loglevel panic -select_streams v -show_entries "stream=start_pts,start_time,avg_frame_rate,r_frame_rate,codec_time_base" file.extension

# logging/printing HDR metada information from FFmpeg
# source: https://www.reddit.com/r/ffmpeg/comments/qidrc8/comment/i9lrj9u/?utm_source=reddit&utm_medium=web2x&context=3
ffprobe -loglevel quiet -read_intervals "%+#2" -select_streams v:0 -show_entries side_data "input.mkv" | egrep -m 1 -A 10 'Mastering display metadata' | grep -v 'Mastering display metadata' >/tmp/variables.txt
ffprobe -loglevel quiet -read_intervals "%+#2" -select_streams v:0 -show_entries side_data "input.mkv" | egrep -m 1 -A 2 'Content light level metadata' | grep -v 'Content light level metadata' >>/tmp/variables.txt
cat /tmp/variables.txt

Specific info from some frames

ffprobe -loglevel panic -select_streams v -show_entries "frame=pkt_pts,pkt_pts_time,pkt_duration,best_effort_timestamp,best_effort_timestamp_time" -read_intervals %+#5

Codec/Container parsing-like info from the stream

mediainfo --Details=1 file.extension

Video/Audio/ClosedCaptions/Container/Codec ffmpeg samples

https://samples.ffmpeg.org/

About

A set of command lines to debug video streaming files like mp4 (MPEG-4 Part 14), ts (MPEG-2 Part 1), fmp4 in Dash, HLS, or MSS, with or without DRM.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy