[PR #1854] feat: Add --list-tracks option to list media file tracks #2624

Open
opened 2026-01-29 17:23:08 +00:00 by claunia · 0 comments
Owner

Original Pull Request: https://github.com/CCExtractor/ccextractor/pull/1854

State: closed
Merged: Yes


Summary

  • Adds --list-tracks (-L) option to list all tracks in media files without processing
  • Pure Rust implementation with native parsers for MKV, MP4, and MPEG-TS formats
  • Useful for exploring media files before caption extraction

Credit: This feature was inspired by the work of @RemZapCypher in PR #1669. This is a Rust reimplementation of that concept.

Example Output

MKV file:

CCExtractor Track Listing
-------------------------
File: movie.mkv
Format: Matroska (MKV/WebM)

Available tracks:
  Track 1: Type: Video, Codec: V_MPEG4/ISO/AVC, Language: und
  Track 2: Type: Audio, Codec: A_AAC, Language: eng
  Track 3: Type: Subtitle, Codec: S_TEXT/UTF8, Language: eng

Track listing completed.

MP4 file:

CCExtractor Track Listing
-------------------------
File: video.mp4
Format: MP4/MOV

Available tracks:
  Track 1: Type: Video, Codec: avc1
  Track 2: Type: Audio, Codec: mp4a
  Track 3: Type: Closed Caption, Codec: c608, Language: eng

Track listing completed.

Transport Stream:

CCExtractor Track Listing
-------------------------
File: broadcast.ts
Format: MPEG Transport Stream

Available tracks:
  Track 1: Type: Video, Codec: H.264/AVC (PID 1201)
  Track 2: Type: Audio, Codec: MPEG Audio (PID 1202)

Track listing completed.

Test plan

  • Tested with MKV files (multiple samples)
  • Tested with MP4 files
  • Tested with MPEG-TS files
  • Verified help text shows the new option

Closes #1669 (equivalent implementation in Rust)

🤖 Generated with Claude Code

**Original Pull Request:** https://github.com/CCExtractor/ccextractor/pull/1854 **State:** closed **Merged:** Yes --- ## Summary - Adds `--list-tracks` (`-L`) option to list all tracks in media files without processing - Pure Rust implementation with native parsers for MKV, MP4, and MPEG-TS formats - Useful for exploring media files before caption extraction **Credit:** This feature was inspired by the work of @RemZapCypher in PR #1669. This is a Rust reimplementation of that concept. ## Example Output **MKV file:** ``` CCExtractor Track Listing ------------------------- File: movie.mkv Format: Matroska (MKV/WebM) Available tracks: Track 1: Type: Video, Codec: V_MPEG4/ISO/AVC, Language: und Track 2: Type: Audio, Codec: A_AAC, Language: eng Track 3: Type: Subtitle, Codec: S_TEXT/UTF8, Language: eng Track listing completed. ``` **MP4 file:** ``` CCExtractor Track Listing ------------------------- File: video.mp4 Format: MP4/MOV Available tracks: Track 1: Type: Video, Codec: avc1 Track 2: Type: Audio, Codec: mp4a Track 3: Type: Closed Caption, Codec: c608, Language: eng Track listing completed. ``` **Transport Stream:** ``` CCExtractor Track Listing ------------------------- File: broadcast.ts Format: MPEG Transport Stream Available tracks: Track 1: Type: Video, Codec: H.264/AVC (PID 1201) Track 2: Type: Audio, Codec: MPEG Audio (PID 1202) Track listing completed. ``` ## Test plan - [x] Tested with MKV files (multiple samples) - [x] Tested with MP4 files - [x] Tested with MPEG-TS files - [x] Verified help text shows the new option Closes #1669 (equivalent implementation in Rust) 🤖 Generated with [Claude Code](https://claude.com/claude-code)
claunia added the pull-request label 2026-01-29 17:23:08 +00:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/ccextractor#2624