crunchy-labs/crunchy-cli

Video is always hardsubbed with CC (closed caption) subtitles

Closed this issue · 3 comments

Describe the bug

When downloading or archiving any episode that has CC subtitle, it is always hardsubbed in video stream

To Reproduce

$ crunchy-cli --lang en-US download --audio en-US --output "eng S{season_number}E{episode_number}.mp4" https://www.crunchyroll.com/watch/GK9U31P9J/dog--chainsaw
:: √ Logging in
:: √ Parsed url 1
:: √ Loaded series information for url 1                                   
:: Chainsaw Man Season 1 (Chainsaw Man (English Dub))
::      1. DOG & CHAINSAW » S01E01
:: Downloading DOG & CHAINSAW to 'eng S01E01.mp4'
::      Episode: S01E01
::      Audio: en-US
::      Subtitles:
::      Resolution: 1920x1080
::      FPS: 23.97
:: Downloading en-US audio  23.83 MiB  16.92 MiB/s [##################] 100%
:: Downloading video #1      1.41 GiB 108.58 MiB/s [##################] 100%
:: Generating output file   [#########################################] 100%

Video at timestamp 24:09.77 - 0:24:13.08:

image

Same timestamp from Crunchyroll:

image

FFmpeg info of the file to make sure there are no forced subtitles in container:

ffmpeg version 7.0-full_build-www.gyan.dev Copyright (c) 2000-2024 the FFmpeg developers
  built with gcc 13.2.0 (Rev5, Built by MSYS2 project)
  configuration: --enable-gpl --enable-version3 --enable-static --disable-w32threads --disable-autodetect --enable-fontconfig --enable-iconv --enable-gnutls --enable-libxml2 --enable-gmp --enable-bzlib --enable-lzma --enable-libsnappy --enable-zlib --enable-librist --enable-libsrt --enable-libssh --enable-libzmq --enable-avisynth --enable-libbluray --enable-libcaca --enable-sdl2 --enable-libaribb24 --enable-libaribcaption --enable-libdav1d --enable-libdavs2 --enable-libuavs3d --enable-libxevd --enable-libzvbi --enable-librav1e --enable-libsvtav1 --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs2 --enable-libxeve --enable-libxvid --enable-libaom --enable-libjxl --enable-libopenjpeg --enable-libvpx --enable-mediafoundation --enable-libass --enable-frei0r --enable-libfreetype --enable-libfribidi --enable-libharfbuzz --enable-liblensfun --enable-libvidstab --enable-libvmaf --enable-libzimg --enable-amf --enable-cuda-llvm --enable-cuvid --enable-dxva2 --enable-d3d11va --enable-d3d12va --enable-ffnvcodec --enable-libvpl --enable-nvdec --enable-nvenc --enable-vaapi --enable-libshaderc --enable-vulkan --enable-libplacebo --enable-opencl --enable-libcdio --enable-libgme --enable-libmodplug --enable-libopenmpt --enable-libopencore-amrwb --enable-libmp3lame --enable-libshine --enable-libtheora --enable-libtwolame --enable-libvo-amrwbenc --enable-libcodec2 --enable-libilbc --enable-libgsm --enable-libopencore-amrnb --enable-libopus --enable-libspeex --enable-libvorbis --enable-ladspa --enable-libbs2b --enable-libflite --enable-libmysofa --enable-librubberband --enable-libsoxr --enable-chromaprint
  libavutil      59.  8.100 / 59.  8.100
  libavcodec     61.  3.100 / 61.  3.100
  libavformat    61.  1.100 / 61.  1.100
  libavdevice    61.  1.100 / 61.  1.100
  libavfilter    10.  1.100 / 10.  1.100
  libswscale      8.  1.100 /  8.  1.100
  libswresample   5.  1.100 /  5.  1.100
  libpostproc    58.  1.100 / 58.  1.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'eng S01E01.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf61.1.100
  Duration: 00:25:25.09, start: 0.000000, bitrate: 8081 kb/s
  Stream #0:0[0x1](und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(progressive), 1920x1080 [SAR 1:1 DAR 16:9], 7947 kb/s, 23.98 fps, 23.98 tbr, 90k tbn (default)
      Metadata:
        handler_name    : VideoHandler
        vendor_id       : [0][0][0][0]
  Stream #0:1[0x2]: Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 128 kb/s (default)
      Metadata:
        handler_name    : SoundHandler
        vendor_id       : [0][0][0][0]

Just to make sure that the issue is not isolated to en-US locale, download de-DE version the same episode and get German hardsub now.

image

Expected behavior

Clean video stream without hardsub.

Client (please complete the following information):

  • OS: Windows 10, Windows 11, Fedora 40
  • Version: crunchy-cli 3.6.1

Additional context

Same result with archive instead of download option and mkv instead if mp4 container

Upon further investigating reverting this commit fixed the issue for me

Upon further investigating reverting this commit fixed the issue for me

how can i revert the commits

Got fixed in v3.6.2. Ty for picking out the commit @codedeviant, the logic in there was more or less invalid since v3.3.2