6 Punkte von GN⁺ 2023-08-15 | 1 Kommentare | Auf WhatsApp teilen
  • Ein Artikel über Methoden zur Umgehung der Beschränkung der Download-Geschwindigkeit von YouTube-Videos
  • YouTube erzielt Einnahmen über Werbeaufrufe und setzt Beschränkungen ein, um das Ansehen oder Herunterladen von Videos über inoffizielle Clients zu verhindern
  • Der erste Schritt zur Umgehung der Drosselung der Geschwindigkeit besteht darin, mit der YouTube-API zu kommunizieren, um die tatsächliche URL zu finden, die die Videodatei enthält
  • YouTube verwendet bei den meisten Datei-URLs einen bestimmten Parameter namens n, der mithilfe eines JavaScript-Algorithmus aus der Datei base.js umgewandelt werden muss. Dieser Parameter dient als Challenge, um zu prüfen, ob der Download von einem „offiziellen“ Client gestartet wurde
  • Der JavaScript-Algorithmus ist obfuskiert und ändert sich häufig, daher ist der Versuch, ihn per Reverse Engineering zu verstehen, unpraktisch. Die Lösung besteht darin, die JavaScript-Datei herunterzuladen, den Algorithmus-Code zu extrahieren und ihn mit dem Parameter n auszuführen
  • YouTube wendet weiterhin variable Regeln zur Begrenzung der Download-Geschwindigkeit an, die auf Größe und Länge des Videos basieren. Um diese Begrenzung zu umgehen, kann der Download mit dem HTTP-Range-Header in mehrere kleine Teile aufgeteilt werden
  • YouTube verteilt Video- und Audiokanal in zwei getrennten Dateien. Der letzte Schritt besteht darin, diese beiden Kanäle zu einer Datei zusammenzuführen, was mit ffmpeg möglich ist
  • Derzeit verwenden viele Projekte diese Techniken, um die von YouTube gesetzten Beschränkungen zur Verhinderung von Video-Downloads zu umgehen. Am beliebtesten ist yt-dlp, programmiert in Python (ein Fork von youtube-dl), das jedoch einen eigenen benutzerdefinierten JavaScript-Interpreter zur Umwandlung des Parameters n enthält
  • Der Artikel erklärt den Prozess und liefert Code-Snippets, sodass er auch für Software Engineers mit wenig Erfahrung zugänglich ist

1 Kommentare

 
GN⁺ 2023-08-15
Hacker-News-Kommentare
  • Artikel darüber, wie sich die Beschränkungen für YouTube-Video-Downloads umgehen lassen: Der Download wird mithilfe des HTTP-Range-Headers in kleine Teile aufgeteilt
  • HTTP-Range-Header: Damit kann bei jeder Anfrage angegeben werden, welcher Teil der Datei heruntergeladen werden soll
  • Einige Nutzer: Durch das Hinzufügen eines Range-Query-Parameters lassen sich die Beschränkungen umgehen und die Übertragungsgeschwindigkeit wiederherstellen
  • Berichte über aufgehobene YouTube-Beschränkungen: Einige Nutzer haben weiterhin Probleme mit der Drosselung
  • Kleine Änderungen bei YouTube: Sie verursachen Probleme für Tools, die MP4-Dateien von der Plattform herunterladen müssen
  • Einige Nutzer stellten Unterschiede bei der Videoqualität fest: Das deutet darauf hin, dass YouTube möglicherweise einen subtilen Filter anwendet, der Kompressionsartefakte glättet
  • YouTubes Videoauslieferung: Wird selbst in Regionen mit schlechter Internetverbindung für ihre Flüssigkeit gelobt
  • Diskussion über die ethischen Implikationen der Umgehung von YouTubes Beschränkungen: Einige halten es für legitim, die Geschwindigkeit normaler Browser zu optimieren, andere empfinden es als unfair, mehr von YouTubes Ressourcen zu verbrauchen
  • Das im Artikel erwähnte yt-dlp: Ein Python-basierter Fork von youtube-dl, der einen benutzerdefinierten JavaScript-Interpreter zur Umwandlung von Parametern enthält