crunchy-labs / crunchy-cli

👇 Command-line downloader for Crunchyroll
MIT License
608 stars 61 forks source link

Audi video aut of sync bug #295

Open Brainfighter opened 9 months ago

Brainfighter commented 9 months ago

Describe the bug If I download the series with just English the audio matches the video. If I use the archive function it does download two video tracks with English having its own video. But yet it is still out of sync.

To Reproduce The English voice and video does not match: crunchy-cli --user-agent "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0)" archive -a de-DE -a en-US -a ja-JP -s en-US -s de-DE --skip-existing --yes -t 32 -o "/mnt/loader/{series_name}/{series_name} - S{season_number}E{episode_number}.mkv" https://www.crunchyroll.com/series/GRVN8MNQY/classroom-of-the-elite

The English voice and video does match: crunchy-cli --user-agent "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0)" download -a en-US --skip-existing --yes -o "/mnt/loader/{series_name}/{series_name} - S{season_number}E{episode_number}.mkv" https://www.crunchyroll.com/series/GRVN8MNQY/classroom-of-the-elite

Expected behavior The archive function does download a second video for the English voice but it is not synced for some reason. Maybe it is grabbing the wrong video track.

Client (please complete the following information):

Serneum commented 7 months ago

I am also running into this with Yu Yu Hakusho, and probably some others that I just have not checked. What I noticed was that the Japanese audio track accounted for the big Funimation logo timing at the beginning of the episode and the English audio track did not. The English audio track started right at the intro to the show

Looking into it for Yu Yu Hakusho directly on Crunchyroll, the videos themselves are different, with the English track not having the Funimation logo, so this is not something that crunchy-cli would be able to fix I'd assume

EDIT: Noticed the original post mentioned a second video being downloaded, so I went back and noticed my downloads doing the same. Playing around with the downloaded files in VLC, I can select the 2nd video track and English audio track and things are fine, so I don't think this is an actual bug. Sadly, my Plex and Jellyfin servers don't seem to support multiple tracks so they always want to play the Japanese video track, but that's not an issue with this CLI

khanv1ct commented 6 months ago

Oops, I started a discussion for this very issue. I have a feeling I already know the answer and it's that this is expected behavior. In my case I discovered the problem with My Hero Academia. I noticed that the English audio version has a unique video track that shows a Toho Animation intro at the beginning. So if you download it all and bundle it into a mkv, during playback you have to be selecting the correct audio stream for the correct video stream. The problem is not all media players (like Plex) can do this. I really don't want to have to create separate English and Japanese files. I'm not even sure how I'd go about doing that with this tool.

Frooastside commented 5 months ago

How out of sync? only around 0.5 seconds or more like 10 seconds?

TokyoBre commented 4 months ago

ig more then 10 seconds (the time the intro takes)

found that in other animes aswell, for example in "The Testament of Sister New Devil" Ig they did that for that one cause its way too ecchi and they just deleted those parts and put some more conversations instead of growning in the japanese video track... ig its because in japan its not allowed to show that ecchi stuff too much...

so its just not possible to match the "eng and japanese audio languages" with "any other audio language" * on one video for those that got other parts in the video itself...

--> but for the intro, you can just extract the audio to any editing software, might even be video editing, and match it with the video you want by just cutting off the right amount at the beginning of the audiofile... --> Then put the video.mkv into an mkv editor and put the extracted cut audio into it aswell, disable the default audio of the video and let the cut audio file get copied instead of the original audio with the intro...

*or any other combination, maybe its different some times and you cant even match english with japanese --> but most of the times they just made one video and did slight changes to signs or something irrelevant (just an idea)

Hope my english is good enough so you understand everything Otherwise, just @ me

Frooastside commented 4 months ago

there is actually an algorithm in crunchy-cli to help you with that, you can use it with --merge sync (probably doesnt work for The Testament of Sister New Devil but for ones that only have the intro as difference)

from the readme:

sync - detect if videos differ in length: if so, it tries to find the offset of matching audio parts and removes the offset from the beginning, otherwise it behaves like audio. Subtitles will always match the primary audio and video.