Skip to content

Latest commit

 

History

History
265 lines (170 loc) · 10.3 KB

File metadata and controls

265 lines (170 loc) · 10.3 KB
Logo

Twitch Downloader

Twitch VOD/Clip/Chat-Downloader und Chat-Renderer

Fehler melden

Diese README-Datei ist möglicherweise nicht auf dem neuesten Stand. Prüfe zur Sicherheit die englische README.

Was kann das Programm?

  • Twitch-VODs herunterladen
  • Twitch-Clips herunterladen
  • Chats für VODs und Clips herunterladen – entweder als JSON mit allen Originalinformationen, als HTML-Datei für den Browser oder als reine Textdatei
  • Den Inhalt einer zuvor erzeugten JSON-Chat-Datei aktualisieren und optional in einem anderen Format speichern
  • Eine zuvor erzeugte JSON-Chat-Datei verwenden, um den Chat mit Twitter-Twemoji- oder Google-Noto-Color-Emojis sowie BTTV-, FFZ- und 7TV-Emotes (statisch und animiert) zu rendern

Beispiel für das Chat-Rendering

example.mp4

GUI

Windows WPF

Funktionen

Die Windows-WPF-GUI implementiert alle Hauptfunktionen des Programms sowie einige Komfortfunktionen:

  • Mehrere Download-/Rendering-Aufträge zur gleichzeitigen Ausführung in die Warteschlange einreihen
  • Eine Liste von Download-Aufträgen aus einer Liste von VOD-/Clip-Links erstellen
  • Mehrere VODs/Clips eines beliebigen Streamers direkt in der App suchen und herunterladen

Mehrsprachigkeit

Die Windows-WPF-GUI ist dank Community-Übersetzungen in mehreren Sprachen verfügbar. Siehe den Abschnitt zur Lokalisierung im WPF-README für weitere Details.

Themes

Die Windows-WPF-GUI enthält sowohl helle als auch dunkle Themes und kann sich live am aktuellen Windows-Theme orientieren. Außerdem werden benutzerdefinierte Themes unterstützt! Weitere Informationen findest du im Abschnitt zu Themes des WPF-README.

Video-Demonstration

https://www.youtube.com/watch?v=0W3MhfhnYjk (ältere Version, gleicher Funktionsumfang)

Linux?

Sieh dir twitch-downloader-gui auf GitHub oder im AUR an – das ist eine Linux-GUI-Hülle für die CLI.

macOS?

Für macOS ist aktuell keine GUI verfügbar :(

CLI

Die CLI ist plattformübergreifend und implementiert die wichtigsten Funktionen des Programms. Sie läuft unter Windows, Linux und macOS*.

*Nur Intel-Macs wurden getestet

Mit der CLI lässt sich die Videobearbeitung per Skript automatisieren. Du kannst zum Beispiel den folgenden Code in eine .bat-Datei unter Windows kopieren, um einen VOD und dessen Chat herunterzuladen und anschließend den Chat zu rendern – alles mit einer einzigen Eingabe.

@echo off
set /p vodid="Enter VOD ID: "
TwitchDownloaderCLI.exe videodownload --id %vodid% --ffmpeg-path "ffmpeg.exe" -o %vodid%.mp4
TwitchDownloaderCLI.exe chatdownload --id %vodid% -o %vodid%_chat.json -E
TwitchDownloaderCLI.exe chatrender -i %vodid%_chat.json -h 1080 -w 422 --framerate 30 --update-rate 0 --font-size 18 -o %vodid%_chat.mp4

Windows – Erste Schritte

  1. Gehe zu Releases und lade die neueste Version für Windows herunter oder erstelle sie aus dem Quellcode.
  2. Extrahiere TwitchDownloaderCLI.exe.
  3. Navigiere zu dem Ordner, in dem du die ausführbare Datei extrahiert hast:
cd C:\folder\containing\TwitchDownloaderCLI
  1. Falls du FFmpeg nicht hast, kannst du es über den Chocolatey-Paketmanager installieren oder als eigenständige Datei von ffmpeg.org herunterladen oder mit TwitchDownloaderCLI verwenden:
TwitchDownloaderCLI.exe ffmpeg --download
  1. Du kannst TwitchDownloaderCLI nun verwenden, zum Beispiel:
TwitchDownloaderCLI.exe videodownload --id <vod-id-here> -o out.mp4

Weitere Beispielbefehle findest du in der CLI README.

Linux – Erste Schritte

  1. Einige Distributionen, wie Linux Alpine, haben keine Schriftarten für manche Sprachen (Arabisch, Persisch, Thai, etc.). Falls das auf dich zutrifft, installiere zusätzliche Schriftartenfamilien wie Noto oder schau auf der Wiki-Seite deiner Distribution nach Schriftarten, da sie möglicherweise einen Installationsbefehl für dieses spezifische Szenario hat, wie beispielsweise die Linux Alpine Schriftartenseite.
  2. Stelle sicher, dass beide fontconfig und libfontconfig1 installiert sind. apt-get install fontconfig libfontconfig1 auf Ubuntu.
  3. Gehe zu Releases und lade die neueste Binärdatei für Linux herunter, hole das AUR-Paket für Arch Linux oder erstelle sie aus dem Quellcode.
  4. Extrahiere TwitchDownloaderCLI.
  5. Navigiere zu dem Ordner, in dem du die Binärdatei extrahiert hast:
cd directory/containing/TwitchDownloaderCLI
  1. Gib der Binärdatei Ausführungsrechte:
sudo chmod +x TwitchDownloaderCLI
  1. a) Falls du FFmpeg nicht hast, solltest du es systemweit über den Paketmanager deiner Distribution installieren, du kannst es aber auch als eigenständige Datei von ffmpeg.org herunterladen oder mit TwitchDownloaderCLI verwenden:
./TwitchDownloaderCLI ffmpeg --download
  1. b) Falls du es als eigenständige Datei heruntergeladen hast, musst du ihm auch Ausführungsrechte geben mit:
sudo chmod +x ffmpeg
  1. Du kannst TwitchDownloaderCLI nun verwenden, zum Beispiel:
./TwitchDownloaderCLI videodownload --id <vod-id-here> -o out.mp4

Weitere Beispielbefehle findest du in der CLI README.

MacOS – Erste Schritte

  1. Falls dein Gerät einen Apple Silicon M-Series-Prozessor hat, stelle sicher, dass du die arm64-Binärdatei herunterlädst. Falls du jedoch die x64-Binärdatei auf Apple Silicon verwenden möchtest, muss sie über eine Terminalsitzung ausgeführt werden, die unter Rosetta 2 läuft:
arch -x86_64 zsh
  1. Gehe zu Releases und lade die neueste Binärdatei für MacOS herunter oder erstelle sie aus dem Quellcode.
  2. Extrahiere TwitchDownloaderCLI.
  3. Navigiere zu dem Ordner, in dem du die Binärdatei extrahiert hast:
cd directory/containing/TwitchDownloaderCLI
  1. Gib der Binärdatei Ausführungsrechte im Terminal:
chmod +x TwitchDownloaderCLI
  1. a) Falls du FFmpeg nicht hast, kannst du es systemweit über den Homebrew-Paketmanager installieren oder du kannst es als eigenständige Datei von ffmpeg.org herunterladen oder mit TwitchDownloaderCLI verwenden:
./TwitchDownloaderCLI ffmpeg --download
  1. b) Falls du es als eigenständige Datei heruntergeladen hast, musst du ihm auch Ausführungsrechte geben mit:
chmod +x ffmpeg
  1. Du kannst TwitchDownloaderCLI nun verwenden, zum Beispiel:
./TwitchDownloaderCLI videodownload --id <vod-id-here> -o out.mp4

Weitere Beispielbefehle findest du in der CLI README.

Aus dem Quellcode erstellen

Anforderungen

Build-Anweisungen

  1. Clone das Repository:
git clone https://github.com/lay295/TwitchDownloader.git
  1. Navigiere zum Lösungsordner:
cd TwitchDownloader
  1. Stelle die Lösung wieder her:
dotnet restore
  • Nicht-Windows-Geräte müssen möglicherweise explizit ein Projekt angeben, das wiederhergestellt werden soll, z. B. dotnet restore TwitchDownloaderCLI
  1. a) GUI erstellen:
dotnet publish TwitchDownloaderWPF -p:PublishProfile=Windows
  1. b) CLI erstellen:
dotnet publish TwitchDownloaderCLI -p:PublishProfile=<Profile>
  • Anwendbare Profile: Windows, Linux, LinuxAlpine, LinuxArm, LinuxArm64, MacOS, MacOSArm64
  1. a) Navigiere zum GUI-Build-Ordner:
cd TwitchDownloaderWPF/bin/Release/net10.0-windows/publish/win-x64
  1. b) Navigiere zum CLI-Build-Ordner:
cd TwitchDownloaderCLI/bin/Release/net10.0/publish

Danksagungen an Dritte

Chat-Renders werden mit SkiaSharp und HarfBuzzSharp © Microsoft Corporation gerendert.

Chat-Renders werden kodiert und Video-Downloads werden mit FFmpeg © Die FFmpeg-Entwickler abgeschlossen.

Chat-Renders können Noto Color Emoji © Google und Mitwirkende verwenden.

Chat-Renders können Twemoji © Twitter und Mitwirkende verwenden.

Gebündelte FFmpeg-Binärdateien werden von gyan.dev © Gyan Doshi abgerufen.

FFmpeg-Binärdateien, die zur Laufzeit abgerufen werden, werden mit Xabe.FFmpeg.Downloader © Xabe heruntergeladen.

Chat-HTML-Exporte verwenden die Inter-Schriftart, die von der Google Fonts API © Google gehostet wird.

Eine vollständige Liste der verwendeten externen Bibliotheken findest du in THIRD-PARTY-LICENSES.txt.

Lizenz

MIT

TwitchDownloader ist in keiner Weise mit Twitch Interactive, Inc. oder seinen Tochtergesellschaften verbunden.