VideoHelp Forum


Try StreamFab Downloader and download from Netflix, Amazon, Youtube! Or Try DVDFab and copy Blu-rays! or rip iTunes movies!


Try StreamFab Downloader and download streaming video from Youtube, Netflix, Amazon! Download free trial.


+ Reply to Thread
Results 1 to 5 of 5
Thread
  1. Hi, I have been trying to grab the subtitles from a free-to-stream series on Bravo TV, Top Chef Last Chance Kitchen so I can machine translate them to another language.

    An example from Episode 1 of the latest season: https://www.bravotv.com/last-chance-kitchen/season-20/videos/when-titans-fall

    There are subtitles visible on the stream, and I have tried several options to grab the subtitles, such as Stream Detector (on Firefox) and youtube-dlp and ffmpeg. None of them have been able to rip the subtitles though. I suspect the subtitles might be fetched from a script, but that is where my Google-fu fails me. When I inspect the site during a stream, there is a file that is fetched (polyfills.webvtt.js), leading to my suspicion.

    Anyone has any tips to successfully getting the subtitle files from this stream? Would greatly appreciate it!

    In case it's relevant: Windows 11, Firefox 113.0.1, latest youtube-dlp and ffmpeg (2023-05-18-git-01d9a84ef5 git essentials from https://www.gyan.dev/ffmpeg/builds/)
    Quote Quote  
  2. There's an EIA-608 stream muxed into the video. Download the video with yt-dlp and then run CCExtractor on it:

    Code:
    "C:\Program Files (x86)\CCExtractor\ccextractorwinfull.exe" -autoprogram -trim --norollup "index_1-[index_1].mp4"
    CCExtractor 0.93, Carlos Fernandez Sanz, Volker Quetschke.
    Teletext portions taken from Petr Kutalek's telxcc
    --------------------------------------------------------------------------
    Input: index_1-[index_1].mp4
    [Extract: 1] [Stream mode: Autodetect]
    [Program : Auto ] [Hauppage mode: No] [Use MythTV code: Auto]
    [Timing mode: Auto] [Debug: No] [Buffer input: Yes]
    [Use pic_order_cnt_lsb for H.264: No] [Print CC decoder traces: No]
    [Target format: .srt] [Encoding: UTF-8] [Delay: 0] [Trim lines: Yes]
    [Add font color data: Yes] [Add font typesetting: Yes]
    [Convert case: No][Filter profanity: No] [Video-edit join: No]
    [Extraction start time: not set (from start)]
    [Extraction end time: not set (to end)]
    [Live stream: No] [Clock frequency: 90000]
    [Teletext page: Autodetect]
    [Start credits text: None]
    [Quantisation-mode: CCExtractor's internal function]
    
    -----------------------------------------------------------------
    Opening file: index_1-[index_1].mp4
    Detected MP4 box with name: ftyp
    Detected MP4 box with name: moov
    File seems to be a MP4
    Analyzing data with GPAC (MP4 library)
    Opening 'index_1-[index_1].mp4': ok
    Track 1, type=vide subtype=avc1
    Track 2, type=soun subtype=MPEG
    MP4: found 2 tracks: 1 avc and 0 cc
    Processing track 1, type=vide subtype=avc1
    Changed fps using NAL to: 23.976000
    Processing track 2, type=soun subtype=MPEG
    
    Closing media: ok
    Found 1 AVC track(s). Found no dedicated CC track(s).
    
    
    Total frames time:        00:13:10:874  (18962 frames at 23.98fps)
    
    Min PTS:                                00:00:00:083
    Max PTS:                                00:13:11:081
    Length:                          00:13:10:998
    Done, processing time = 1 seconds
    Issues? Open a ticket here
    https://github.com/CCExtractor/ccextractor/issues
    I've attached the extracted subtitles for convenience's sake.

    Note: the latest released version of CCExtractor, 0.94, is useless (in my and others' experiences). 0.93 from the GitHub Releases page works well.
    Supposedly, ffmpeg can extract the subtitles of the same, but I'm not familiar with the syntax or how good its support is. mpv shows the EIA subtitles directly too - I guess thanks to ffmpeg.
    Image Attached Files
    Quote Quote  
  3. Massive thank you, AbortRetryFail!

    CCExtractor 9.3 did the trick. Turns out the generated files from ffmpeg and yt-dlp both had the embedded subtitles, they were just not showing up when playing in MPC-HC. I also tried downloading using VDH's HLS as M2TS option, and the generated M2TS had the subtitles embedded too.

    I had not even heard of EIA-608 stream until today. How does one find out whether the subtitles are encoded in an EIA-608 stream?! (I am clearly a newbie to all this )
    Quote Quote  
  4. Originally Posted by trixx View Post
    I had not even heard of EIA-608 stream until today.
    I had a site that I absolutely couldn't find the subs for. The company providing the streaming infrastructure has a page with their open source projects and one of them happened to be an EIA decoder implemented in JavaScript. The penny dropped. That site is harder than most, so many months later after managing to get a key with a standard L3, I was able to confirm my suspicions. After that, I make it something to check for. (CBC Gem also delivers subtitles like that.)

    How does one find out whether the subtitles are encoded in an EIA-608 stream?! (I am clearly a newbie to all this )
    If downloaded (and decrypted if need be), running MediaInfo will tell you:

    Code:
    Text
    ID                                       : 1-CC1
    Format                                   : EIA-608
    Muxing mode                              : SCTE 128 / DTVCC Transport
    Muxing mode, more info                   : Muxed in Video #1
    Duration                                 : 13 min 10 s
    Start time (commands)                    : 5124095 h
    Start time                               : 5124095 h
    Bit rate mode                            : Constant
    Stream size                              : 0.00 Byte (0%)
    Count of frames before first event       : 19
    Type of the first event                  : PopOn
    but at that point you could also just try running CCExtractor or playing in mpv or similar.

    Online? I have no idea. You can check for the presence of the usual subtitle delivery methods (straight-up request for a TTML or WebVTT file, subtitle DASH stream defined in the MPD and something else I'm missing?) and assume EIA is a possibility in the absence of them. EIA subtitles won't directly show up in your browser's requests like that. In my basic understanding, EIA subtitles are signals attached to the video feed (look at the image in the Wikipedia page) and on top of that, the video might be encrypted, so you'll never see a nice text representation in the requests.

    And if you're not dealing with a site that sticks to defined standards, like a site streaming content they are not licensed for, they might roll out their own bespoke obfuscation/encryption to stop other sites from stealing their translations or whatever...
    Quote Quote  
  5. Fantastic stuff, thank you for the in-depth explanation!
    Quote Quote  



Similar Threads

Visit our sponsor! Try DVDFab and backup Blu-rays!