Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

[FEATURE] Native HLS and DASH stream parsing and extraction

Open
#2,317 1 comment 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
5/5
Estimated time
Over a week
Newbie friendliness
25/100
Issue type
Feature
Clarity
Needs clarification
Activity status
Quiet
Tech stack
c

Research direction

The issue does not identify implementation files, tests, or an entry point. Begin by locating the stream-input and subtitle-extraction paths, then define the manifest, chunk-processing, and live-stream behavior that would demonstrate completion.

Written by the indexing model from the issue text.

Description

Currently, extracting subtitles from HLS (.m3u8) or DASH (.mpd) streams requires a multi-step workaround where users must first download the entire video stream to disk using external tools, run CCExtractor on the massive local file, and then manually delete the video afterward.

Adding native support to parse HLS/DASH manifests and directly process network streams would drastically improve the user experience and efficiency in three major ways:

  1. Zero Video Download for Separate Subtitle Tracks In most modern streaming environments, subtitles are provided as an entirely separate playlist in the manifest (e.g., #EXT-X-MEDIA:TYPE=SUBTITLES pointing to a WebVTT playlist). By parsing the master manifest, CCExtractor could identify these separate tracks and only download the subtitle chunks (kilobytes of data). It would completely ignore the heavy video and audio chunks, saving gigabytes of internet bandwidth and drastically speeding up extraction.

  2. Zero Storage Overhead for Embedded Subtitles For older streams or live TV broadcasts where captions (like CEA-608/708) are multiplexed directly inside the video chunks (MPEG-TS packets), CCExtractor would still need to download the video data. However, native support would allow CCExtractor to operate entirely in memory like downloading a chunk, extracting the captions, and immediately discarding the chunk. This eliminates the need for the user to have 10GB+ of free disk space just to extract a few kilobytes of text.

  3. Real-Time Extraction for Live Streams If a broadcast is live (e.g., Twitch, live news), there is no "finished" file to download. Native HLS/DASH support would allow CCExtractor to "tune in" to the live stream, continuously poll the manifest for the latest chunks, and output the subtitles in real-time as the event happens.

Dominant language
C
Stars
901
Forks
592
Avg merge
7d 23h
Merged PRs (30d)
11

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from CCExtractor/ccextractor

All issues in CCExtractor/ccextractor

Similar issues

More C issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.