Made a tool to recover Twitch VODs

I made a tool to recover Twitch VODs (only recent ones): https://replit.com/@TheCrackTBFF/VODRecover?v=1
This project is based on the incredible work of https://github.com/TwitchRecover/TwitchRecover
Unfortunately, the Github project does not look to be maintained and the code no longer functions properly. Due to that I wanted to make some adjustments and get a functioning application.

NOTE: It is very unlikely that this program will work from repl.it, (for now) you will need to copy the code found from the ‘Code’ tab on repl.it and save it to a file named Main.java. You can then run the code from your Terminal with java Main.java

3 Likes

Bro you’re actually a goat

2 Likes

I doubt most people here have a copy of a jdk installed, much less a jre. That is a situation they can remedy, of course.

1 Like

I cant believe it actually worked ur actually mad

2 Likes

Yep, I should’ve mentioned that! If you want to run the program on your own machine, you’ll need some JDK above v8, the one @gilly linked works great!

Update: You can now get all possible (links may still return broken m3u8 files) links from an entire channel

1 Like

Mind explaining all this?

(Assuming you have tool on your machine and have a Java runtime installed, such as OpenJDK- you can see if you have one by typing in Java -version in a terminal window) Next run the program, you can do this by typing in java Main.java In the directory where the ‘Main.java’ file is located. Next you will be presented with the choice to recover an entire channel or a single VOD. If you choose to recovery an entire channel, all you need to do is type in the streamer name, for example: keemstar. If you want to recover a specific VOD, open the website twitchtracker.com, search for a streamer, click on the ‘streams’ section, and copy and paste the VOD you want. The URL you will paste in the program should look a little like: https://twitchtracker.com/keemstar/streams/40582428717 The program will print out a link pointing to a .m3u8, you can’t play this directly and you’ll need a tool that can handle playlists, such as VLC or MPV

1 Like

I have now moved this project over the to the Rust codebase, due to simplicity, performance, and portability reasons.

You can access the code here: https://replit.com/@TheCrackTBFF/vodrecover#main.rs (although it will not compile from replit)

Here are precompiled binaries I have made, so you can easily use it on your computer

GNU/Linux: https://drive.google.com/file/d/1NNA0ct5edgjiak8Cv4y0Nr12u9rtlwNT/view?usp=sharing
Windows: https://drive.google.com/file/d/1GGeBxCaf1G8OABdkdLV0E339Wo4GsbTe/view?usp=sharing
MacOS (coming someday idk)

Ps: can someone check if the linux binary works on macos? I don’t have a mac so I don’t really think I can compile for it

How to run:
anything that isn’t windows: cd into your downloads folder (or wherever you downloaded the binary, I don’t think it will work since syscalls are different but it’s worth a shot)

chmod +x TwitchRecover
./TwitchRecover

Windows: Double click on it?

windows instructions

  1. download to some folder
  2. open folder with file explorer
  3. press alt d (moves cursor to the address bar)
  4. type cmd
  5. press enter
  6. type TwitchRecover.exe (or the name of the file, if you changed it)
  7. press enter
  8. enter c or v and the desired twitchtracker url
1 Like

I’m still so confused and lost on how to do this but I’m trying lol :joy:

Maybe a Screencap video going through the process with mouse cues would help?

I’m assuming most people will be on windows and those on linux probably already know what they’re doing (no offense to my windows homies :slight_smile:) I can make a video doing @gilly’s instructions

1 Like

The easiest way to use it is to just double click on it, like TC said. The instructions I provided ensure that, if there’s some problem, say a link that the tool doesn’t recognize, the window will stay open with the error message, rather than closing.

1 Like

here ya go: demo - YouTube

The end with mpv didn’t work, since I forgot to do audio passthrough in my VM, but as long as you followed the steps, it should work as intended for you

1 Like

Update: I’ve handed this project over to my friend who helped out on some elements of this project- the only the thing that should be changing is the Github repo links (which I will update).

1 Like

ALmost all the time when i try to use it it crashed right after i hit enter after pasting the link in the prompt. DOes anybody has idea why it does that?