Join GitHub today
GitHub is home to over 50 million developers working together to host and review code, manage projects, and build software together.
Sign upGitHub is where the world builds software
Millions of developers and companies build, ship, and maintain their software on GitHub — the largest and most advanced development platform in the world.
Twitch VOD downloads don't retry on errors and can't be resumed #4966
Comments
|
At the moment, these HLS downloads are run by ffmpeg alone. youtube-dl just extracts the metadata and invokes ffmpeg. I've added an option However, at the moment, that won't help you, because the native HLS downloader is quite experimental and doesn't support resuming either. I'm working on that though, although it may take a while. |
|
I wouldn't say that --hls-prefer-native won't help. Actually, it very much helps me over the ffmpeg/avconv default. I was having the download fail very often, and retrying would cause the entire download to restart. But by using --hls-prefer-native, it's downloading fragments and if it fails, rerunning will pickup these fragments and quickly get to the point where the download failed. Huge improvement and it's almost essentially resume. |
|
In the latest version hls native is used by default for vods. |
|
Hi sorry for bringing this up, but is the hlsprefer-native do support resuming or retrying yet as in the latest version? Unable to open resource:https://xxxxx and when using hls-prefer native after it done muxing it seem it always leave some segmented file behind does leaving some segmented file and the fixing malformated aac means the hls prefer native downloader have also some segment download error or not? since there is no similar error message as when using ffmpeg (i already turn on the verbose) also is there any way to retrying the failed segment if using the default ffmpeg? |
I'm trying to download a long Twitch VOD (over 9 hours). I have ffmpeg in my path (not that it would even work without that). youtube-dl will start downloading the VOD just fine, but can run into an issue like this:
(Here's a full -v log)
Now, this is clearly just a temporary download hiccup, and a retry should sort it out just fine, but at this point the download will just stop and youtube-dl will write the final file. No download retry attempts are made (-R does nothing) and you can't resume the download either (neither by default nor with -c - youtube-dl just says the target file already exists), which means that I'll have to try download the whole thing again (and another error like that will mean I'll need to try again and again and again until I'd get a download with no errors for the entire >9h duration, which seems like an almost impossible task).
Considering all this, wouldn't it make more sense for youtube-dl to download all the playlist parts first and only then invoke ffmpeg to mux it all together? I'd expect it to be actually possible for youtube-dl to retry chunk downloads properly that way and resume a halted download later on as well. Sure, it might take a bit longer to download and then mux instead of muxing on the fly, but I'd say being able to reliably download long things to begin with clearly trumps that downside.