Files
ccextractor/docs
Carlos Fernandez 91d3512bcc fix(rust): Support BCP 47 language tags in --mkvlang option
The --mkvlang option previously only supported single ISO 639-2 codes
due to using a Language enum with a fixed list of variants. Extended
codes (like "fre-ca") and multiple codes (like "eng,chi") would panic.

This change introduces MkvLangFilter, a proper type for language
filtering that:

- Validates language codes per BCP 47 specification
- Supports ISO 639-2 (3-letter codes like "eng")
- Supports BCP 47 tags (like "en-US", "zh-Hans-CN")
- Supports comma-separated multiple codes
- Provides clean error messages for invalid input
- Includes comprehensive unit tests

The C code continues to receive the raw string for strstr() matching,
maintaining backward compatibility.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-18 13:23:39 -08:00
..
2023-05-29 18:34:15 +00:00
2014-04-12 12:41:27 +02:00
2014-04-12 12:41:27 +02:00
2024-08-10 12:55:21 +02:00
2018-01-09 10:24:06 -08:00
2016-12-02 13:33:36 +05:30
2024-08-10 12:55:21 +02:00

CCExtractor

check AUTHORS.TXT for history and developers

License

GPL 2.0.

Description

Since the original port, the whole code has been rewritten (more than once, one might add) and support for most subtitle formats around the world has been added (teletext, DVB, CEA-708, ISDB...)

Basic Usage

(please run ccextractor with no parameters for the complete manual - this is for your convenience, really).

ccextractor reads a video stream looking for closed captions (subtitles). It can do two things:

  • Save the data to a "raw", unprocessed file which you can later use as input for other tools, such as McPoodle's excellent suite.
  • Generate a subtitles file (.srt,.smi, or .txt) which you can directly use with your favourite player.

Running ccextractor without parameters shows the help screen. Usage is trivial - you just need to pass the input file and (optionally) some details about the input and output files.

Example:

ccextractor input_video.ts

This command extracts subtitles from the input video file and generates a subtitle output file (such as .srt) in the same directory.

Languages

Usually English captions are transmitted in line 21 field 1 data, using channel 1, so the default values are correct so you don't need to do anything and you don't need to understand what it all means.

If you want the Spanish captions, you may need to play a bit with the parameters. From what I've been, Spanish captions are usually sent in field 2, and sometimes in channel 2.

So try adding these parameter combinations to your other parameters.

-2 -cc2 -2 -cc2

If there are Spanish subtitles, one of them should work.

McPoodle's page

http://www.theneitherworld.com/mcpoodle/SCC_TOOLS/DOCS/SCC_TOOLS.HTML

Essential CC related information and free (with source) tools.

Encoding

This version, in both its Linux and Windows builds generates by default Unicode files. You can use -latin1 and -utf8 if you prefer these encodings (usually it just depends on what your specific player likes).

Future work

  • Please check www.ccextractor.org for news and future work.