In Go geschriebene Befehlszeilen-/Terminal-basierte App zum Herunterladen von Shorts und Videos mithilfe von YouTube-URLs/-IDs.
Hinweis : Wenn Sie nach einem gebrauchsfertigen Tool suchen, überprüfen Sie bitte die angehefteten Probleme für dieses Repo.
Herunterladen von YouTube-Shorts und -Videos.
Möglichkeit zur Auswahl aus verschiedenen Inhaltsqualitäten.
Derzeit hat das Projekt zwei Abhängigkeiten:
tview – Terminal-UI-Bibliothek mit umfangreichen, interaktiven Widgets – geschrieben in Golang.
FFmpeg – Das führende plattformübergreifende Multimedia-Framework. Es sollte im System installiert sein oder zumindest über die neueste statische Binärdatei im Stammverzeichnis des Projekts verfügen. Es handelt sich eher um eine externe Laufzeitabhängigkeit .
Wenn entweder YouTube Shorts/Video-ID oder URL eingefügt wird, ruft die App die Metadaten von den internen APIs von YouTube ab.
Abhängig von der Qualitätsauswahl für Video und Audio lädt die Anwendung dann die Shorts-/Videoinhalte herunter, indem sie kleine Datenanfragen an die abgerufenen Inhalts-URLs stellt.
Wenn FFmpeg vorhanden ist, werden am Ende beide separaten Video- und Audio-Stream-Dateien zu einer einzigen Ausgabedatei zusammengeführt.
Geben Sie nach der Installation von Go den folgenden Befehl im Stammverzeichnis des Projekts ein:
Unter Linux/UNIX,
go build -o go_youtube_downloader ./cmd/go_youtube_downloader.go
Unter Windows,
go build -o go_youtube_downloader.exe ./cmd/go_youtube_downloader.go
Klonen/laden Sie nach der Installation von Go dieses Projekt herunter und geben Sie den folgenden Befehl im Stammverzeichnis des Projekts ein:
go run ./cmd/go_youtube_downloader.go
Auf den Systemen muss FFmpeg installiert sein oder die neueste statische Binärdatei im Stammverzeichnis des Projekts vorhanden sein, um heruntergeladene separate Video- und Audiostreams in einer einzigen Datei zusammenzuführen.
Videos mit Altersbeschränkung können aufgrund der Signaturverschlüsselung von YouTube nicht heruntergeladen werden.
YouTube hat Bandbreitenbeschränkungen für jede eingehende Anfrage, etwa 10 MB pro Anfrage. Wenn eine Anfrage mehr Daten als diese Größenbeschränkung erhält, wird der Download durch weitere Anfragen gedrosselt oder die Verbindung wird möglicherweise beendet. Um eine bessere Leistung beim Herunterladen von Daten und beim Schreiben in die Ausgabedatei zu erzielen, werden sie aus Gründen der Konsistenz in kleinere Abschnitte unterteilt. Je nach ausgewählter Qualität und Größe beträgt die Downloadzeit mehr oder weniger.
Reverse-Engineering YouTube: Revisited – Blog, der die internen APIs von YouTube erklärt.
YouTube-Internal-Clients – Ein Python-Skript, das versteckte YouTube-API-Clients erkennt. Nur ein Forschungsprojekt.
YT-DLP – Ein YouTube-DL-Fork mit zusätzlichen Funktionen und Korrekturen
Youtubei – Erhalten Sie Youtube-Daten wie Videos, Playlists, Kanäle, Videoinformationen und Kommentare, verwandte Videos, das nächste Video und mehr!
Effizienter Datei-Download in Golang: Eine umfassende Anleitung
Beispiel für Golang-Downloaddateien
Team NewPipe
Erweiterte Befehlsausführung in Go mit os/exec