Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/leandromoreira/video-containers-debugging-tools
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.
https://github.com/leandromoreira/video-containers-debugging-tools
command-line debugging drm fmp4 hls-live-streaming mp4 mpeg-dash mpeg-ts smooth-streaming ts video-streaming
Last synced: 10 days ago
JSON representation
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.
- Host: GitHub
- URL: https://github.com/leandromoreira/video-containers-debugging-tools
- Owner: leandromoreira
- License: bsd-3-clause
- Created: 2020-05-31T12:47:09.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2024-02-04T02:17:50.000Z (10 months ago)
- Last Synced: 2024-11-09T21:44:48.107Z (about 1 month ago)
- Topics: command-line, debugging, drm, fmp4, hls-live-streaming, mp4, mpeg-dash, mpeg-ts, smooth-streaming, ts, video-streaming
- Size: 7.81 KB
- Stars: 45
- Watchers: 6
- Forks: 7
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-video - leandromoreira/video-containers-debugging-tools - 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. - leandromoreira/video-containers-debugging-tools (Learning)
README
# 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](https://ffmpeg.org/ffprobe.html) - A generic tool for media streaming debug
* [Mediainfo](https://mediaarea.net/en/MediaInfo) - A generic tool for media streaming info
* [TSDuck](https://tsduck.io/#cmdlist) - A tool more specific for TS (MPEG-2 Part 1)
* [Bento4](https://www.bento4.com/) - A tool more specific for MP4 (MPEG-4 Part 14)## Overview of the streams
```bash
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.extensionmediainfo file.extension
tsdump file.ts
tsanalyze file.ts
tstables file.ts
# .. tsXXXXmp4info file.mp4
mp4dump # this is useful for fragmented mp4
# mp4XXXXX
```## Specific info from the streams
```bash
# -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```bash
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
```bash
mediainfo --Details=1 file.extension
```
## Video/Audio/ClosedCaptions/Container/Codec ffmpeg samples
https://samples.ffmpeg.org/