TwitchClipper is a .NET 5.0 cross platform compatible application, made to download https://twitch.tv clips. Downloading is done via youtube-dl, which will automatically be downloaded and saved in the project's folder.
Head over to the Wiki to find some documentation on various topics.
- Custom save path expressions
- Allows you to save a clip in the exact location you want AND in your own language
- Save ALL clips (no limit)
- Many clip downloaders out there, can only download about 1000 clips before being throttled by Twitch. TwitchClipper has bypassed that limitation!
- Skip download if a file with the same name exists
Head over to the Wiki to find the installation steps (IT'S REALLY EASY): https://github.com/mortenmoulder/TwitchClipper/wiki/Installation
appsettings.json
contains all the things you need to change, in order to start using TwitchClipper.
There's a section called TwitchConfiguration
you need to modify:
"TwitchConfiguration": {
"ClientID": "CLIENT_ID_GOES_HERE",
"ClientSecret": "CLIENT_SECRET_GOES_HERE",
"DownloadThreads": 5
}
- Go to https://dev.twitch.tv/console and create your app
- Go to your app and find the Client ID and generate a new secret
- Replace
CLIENT_ID_GOES_HERE
andCLIENT_SECRET_GOES_HERE
with your newly copied values
DownloadThreads
spawns x amount of youtube-dl instances. The higher the number, the faster your download will be. I do not recommend going over 10, as you might get throttled by Twitch.
Optionally you can also modify the Download
section, if you want to customize where your clips are saved:
"Download": {
"SavePathExpression": "/{broadcaster_name}/{yyyy}-{MM}-{dd}/{id}.mp4",
"Locale": "en-US"
}
This is my first published .NET app. I'm a web developer, so please bear 🐻 with me.
- If you ever need to get the new version of this, you simply need to do
git pull
followed by the longdotnet publish .....
command. - Edit appsettings.json BEFORE you run the
dotnet build/publish
commands. The file will automatically get copied to thepublish
folder - When the authentication token has been generated, it will be stored in the new appsettings.json file in the publish folder (which will be overwritten next time you build)
Custom input on how you want the folder structure to be. Currently it's USERNAME\YEAR\MONTH\DAY\CLIP_TITLE (aka "slug")- Clean up some of the messy "if linux or osx then"-code
- Make the -u argument optional, and introduce some kind of flag you can set, that downloads from a list of users in appsettings.json
- Error handling (pff works on my machine)
- DOCKER CONTAINER
someone please see if it works on osx pleaseTHANK YOU @mauranCheck if file exists before overwriting it (waste of time)- Somehow allow the user to determine how many videos they want (filtering, basically). Not everyone wants every video
Refactor to Helix API instead of Kraken, which apparently was newer- Make releases!