-
-
Notifications
You must be signed in to change notification settings - Fork 7.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Native HLS downloader results in truncated audio stream #998
Comments
Try using |
'--fixup never' results in an almost complete download. ffprobe when using '--downloader ffmpeg': |
The timestamps in the file provided by server needs to be corrected (hence the wrong duration without fixup). ffmpeg does it correctly when using it as a downloader. But when asked to do it on an already downloaded file, it totally breaks the file at the point where the timestamp correction is needed. This issue does not exist in I do not know enough about the internal workings of ffmpeg to know what caused this to break or whether there is any workarounds. But it could be possibly related to ytdl-org/youtube-dl#28042 (see #871 (comment)) but the patch for that issue doesn't fix this. So I am not sure |
Actually, 'fixup never' leaves a .mp4 container with the 00:51:52.70 duration as previously shown. |
Let me try downloading it. I'll get back to you |
You are correct that video players are unable to play the audio after the 4min mark. However, performing fixup with ffmpeg3.0.1 gave me the corrected file with a full 52:09 duration. So this is the exact same issue as #618 |
Have you tried comparing the outputs of I suspect the whole brokenness might as well be a bug in the native downloader. (Compare #637.) |
Good news is that native hls downloader worked when using latest static build of ffmpeg I downloaded from https://johnvansickle.com/ffmpeg/ As 'latest' is the only ffmpeg supported by the ffmpeg community I vote for closing this issue. |
It is used as a final step - look at the last three lines of the verbose log |
Yeah, I already deleted my comment because I realized that. |
Great, I can confirm that the latest builds do in fact fix this. My ffmpeg build was just a few weeks old, so it is probably a recent fix. I'm not interested enough to go though the ffmpeg commits and figure out which one fixed it, but if anyone knows, let me know (just out of curiosity) @fstirlitz You could argue that it is the native downloader's fault - in the sense that the native downloader doesn't have the capability to fix the timestamps. But we know this is a potential issue when downloading hls streams. This is why we pass it to ffmpeg for fixup |
The root cause of this issue is: https://trac.ffmpeg.org/ticket/9433 250a938 also implements a workaround for the issue which should work even without the above mentioned patch |
Just wanted to point out that 250a938 doesn't fix it for all sites (still get issues with Funimation) but using the custom ffmpeg builds does. |
…p#1109) Fixes: yt-dlp#618, yt-dlp#998, yt-dlp#1039 Authored by: shirt-dev
this is NOT fixed, I just encountered this problem while downloading a long stream from youtube |
@Zerogoki00 If you're talking about a livestream, it would be an unrelated issue since the native HLS downloader is not used for livestreams. Either way, you should open a new issue with a verbose log |
Checklist
Verbose log
Description
The resulting file duration is 04:12 minutes - should be 52 minutes.
Running with --downloader=ffmpeg fixes the problem
git bisect points to this being broken from the start
Bisecting: 0 revisions left to test after this (roughly 0 steps)
[177877c] [extractor] Always prefer native hls downloader by default
The text was updated successfully, but these errors were encountered: