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:
-
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.
-
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.
-
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.
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:
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=SUBTITLESpointing 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.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.
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.