swent / twitch-unjail Goto Github PK
View Code? Open in Web Editor NEWTwitch vod downloader with recovery support.
License: GNU General Public License v3.0
Twitch vod downloader with recovery support.
License: GNU General Public License v3.0
Describe the bug
Inputting vod URL in interactive mode causes program to close. Console mode results in error below.
Url used
https://www.twitch.tv/videos/1832819833
Console output
ERR
Response status code does not indicate success: 410 (Gone).
at System.Net.Http.HttpResponseMessage.EnsureSuccessStatusCode()
at TwitchUnjail.Core.Api.GetVideoInfo(String)
at TwitchUnjail.Core.VodHandler.RetrieveVodInformation(String)
at TwitchUnjail.Cli.Program.RunVodDownloadCli(String, String[])
at TwitchUnjail.Cli.Program.Main(String[])
Hello swent,
This is in response to the comment asking if I would like to try out this tool.
I have only downloaded a few twitch VoDs so far and here are my first impressions.
I really like:
Other than that, I ran into a bug where the VoD got stuck downloading at about 72%. I killed it, launched a new download using the same URL and it worked fine. Maybe the first time my network connection dropped? I don't know, just writing here to let you know this did happen, but I can't reproduce it.
A few QoL improvements I that think would be nice:
Ability to parse out extra stuff from the URL (for example, https://www.twitch.tv/videos/1203465185?filter=archives&sort=time
does not work, but removing the part after "?filter" does https://www.twitch.tv/videos/1203465185
).
It would be useful to have access to the speed limiter in interactive mode
(that's the mode I think most users would use).
Ability to list some VoD URLs in a file and download all of them one after the other.
This would be useful since I tend to download in batches when nobody is home / using the network.
Potentially ability to pause in the middle of a download. (or after finishing the current segment).
Just a thought, not sure if this is actually valuable.
Potentially the ability to self-regulate download speed using some metric? The limiter is usually good enough, but if the ISP doesn't guarantee minimum speeds (they don't in my country), it can be hard to pick a good speed limit.
Instead, we could have the tool download a segment as fast as it can, and then pause for the same amount of time it took to download that segment.
Using more concrete numbers, let's say the tool requests some metric percent_pause_between_segments, ranging from 0 to infinity, where 0 means no pause (let's suppose 50% in this example). While downloading a segment, the downloader measures the time it took for that segment, let's say t_last = 30 seconds. After finishing, the downloader pauses for percent_pause_between_segments / 100 * t_last
. In this case, that would be 0.50 * 30 seconds = 15 seconds
, before starting the next segment.
While this does leave bandwidth unused, it does make sure that other applications don't get bandwidth starved without needing the user to input a hard speed limit which won't adjust to network conditions.
Anyway, these are my thoughts after trying it out so far. I think it's pretty good already, and some of those QoL improvements would make it even more convenient to use.
Cheers.
Hello, your twitch video downloader went very fast.
I have a personal suggestion for you.
The downloader's progress seemed to be updated horizontally.
Could you please allow it to be updated vertically?
Thank you for making such a great program!
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.