Announcement

Collapse
No announcement yet.

Discovery+ Quality and Subtitles

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    Discovery+ Quality and Subtitles

    Quality

    Now that Discovery+ has switched to DASH videos, can we please get a selection screen like Amazon and others?

    Downloading an almost 6GB file for an episode of 90 Day Fiance is just a waste. There is no fast moving action or anything that justifies such a high bitrate so please do allow us to choose a lower quality. They do have several qualities available:

    Click image for larger version

Name:	dash_quality.jpg
Views:	815
Size:	30.3 KB
ID:	412764

    The subtitles have never worked with Discovery+. I had to resort to downloading videos with another tool and then use yet another tool to extract the subtitles.

    This method no longer works now that they are using DASH but i figured out another way for DASH videos.

    Please pass on to the developers:

    Basically, the subtitles are DASH subtitles that have their own "empty" video track. Using the program that is behind your Youtube downloader, with the following command, it downloads 2 .mp4 files. 1 is the subtitles and the other is the actual show.

    Code:
    ThatYoutubeProgramSomeOfUsUse.exe -U -i --write-sub --add-metadata --extractor-retries 10 -o "%%(series)s.%%(season_number)sx%%(episode_number)02d.%%(title)s.%%(height)sp WEB-DL.%%(ext)s" --downloader aria2c --convert-subs=srt --embed-subs --all-subs --ignore-config --hls-prefer-native --no-geo-bypass --cookies-from-browser chrome "URL_OF_EPISODE"
    As long as the video resides on Akamai and not Google's CDN, it will download both files. They are working on a fix for the Google CDNs.

    The video that is "filename".en.mp4 is the one that has the subtitles. They are in WebVTT format and need to be extracted and converted to SRT by doing the following:
    • Use mp4split from Bento4 to split the .mp4. It will create one file called init.mp4 and several files called segment segment-1.0001.m4s, segment-1.0002.m4s, segment-1.0003.m4s, etc..
    • Use Mp4SubtitleParser on the folder containing the init.mp4 and *.m4s files to get a filename.vtt file.
    • Use FFmpeg to convert the .vtt to .srt

    In case i am not explaining well, here is the batch file i use to convert a single subtitle. %1 is used to pass the filename so nx1 is with the extension and n1 is without:

    Code:
    @ Echo off
    REM ************************************************
    REM Extract CC from DASH MP4 (MP4SubtitlesExtractor)
    REM ************************************************
    setlocal ENABLEDELAYEDEXPANSION
    md Subs
    copy "%~nx1" Subs
    cd Subs
    mp4split "%~nx1"
    cd ..
    mp4subs Subs *.m4s "%~n1"
    ffmpeg -i "%~n1.vtt" -c:s subrip "%~n1.srt"
    pause
    It would be extremely appreciated if you guys can fix a longstanding problem that will make many people (i think) happy.

    You have the solution so there is noting to figure out except incorporate the Bento4 libraries and looking at the C# source for MP4SubtitleParser.

    Thank you!

    #2
    I think StreamFab uses GPAC already instead of Bento4. Python instead of C#. I'm not a modern language programmer so I might be wrong. I usually can follow other people's coding but I can't write it myself. Back when I was coding all we had was Basic, Fortran, COBOL, and IBM 360 Assembler Language.

    Comment


      #3
      Originally posted by Cats4U View Post
      I think StreamFab uses GPAC already instead of Bento4. Python instead of C#. I'm not a modern language programmer so I might be wrong. I usually can follow other people's coding but I can't write it myself. Back when I was coding all we had was Basic, Fortran, COBOL, and IBM 360 Assembler Language.
      Good! I use both GPAC and Bento4 so i guess it just depends on my mood lol.

      All i really wanted was to provide a clear process that works so it's a lot easier for them to implement. Python vs. C# should be trivial for them since you have open-source MP4 libraries for both.

      I guess i am a tiny bit younger since i did start with Basic but never touched COBOL and Fortran .

      Went straight to Turbo Pascal until i switched to C. Nowadays, it's all JavaScript for work but i definitely want to master Python AND C#

      Comment


        #4
        Just keep in mind that despite all (I think) discovery+ regions now moved to the discoveryplus.com domain, they seem to use different DRM based on region. few examples are US using no DRM at all and the UK using widevine. Accounts are also non transferable, so its not simple to change regions with a VPN. Its interesting to see Canada has moved to multiple 1080p formats and offering that high a bitrate. That far exceeds US/UK. Would be great to see that quality in other regions!

        Comment

        Working...
        X