Haftungsausschluss: Ich bin einer der wichtigsten Entwickler von youtube-dl.
Was Sie als einheitliches YouTube sehen, besteht in Wirklichkeit aus vielen verschiedenen Protokollen und Variationen. Während also jedes Video gleich aussieht, gibt es erhebliche Unterschiede:
- Für einige Videos ist die API ziemlich stabil und verwendet HTTP. Diese Klasse scheint für die meisten "gewöhnlichen" Videos ausgewählt worden zu sein, die von Ihnen und mir hochgeladen wurden, und nicht für eine große Organisation. In letzter Zeit haben sie immer mehr in Richtung DASH gewechselt, obwohl das alte Format für Videos mit geringer Qualität (<1080p) erhalten bleibt.
- Musikvideos verwenden normalerweise HTTP oder DASH, erfordern jedoch einen zusätzlichen Schritt zum Dekodieren der URL, was sehr kompliziert sein kann, da Flash- oder JavaScript-Code interpretiert werden muss.
- Filme scheinen ein anderes, völlig anderes Schema zu verwenden, nämlich RTMP.
- Live-Streams verwenden, selbst wenn sie aufgezeichnet werden, normalerweise HLS, manchmal ausschließlich.
Natürlich gibt es erhebliche Überschneidungen, viele Videos sind in verschiedenen Formaten verfügbar: HTTP, HTTP mit Signatur, DASH, DASH mit Signatur, RTMP, HLS, HLS mit Signatur. Ohne eine öffentliche Erklärung von YouTube können wir nur alles erraten und implementieren - und genau dies versucht das youtube-dl-Projekt (und wahrscheinlich auch die anderen aufgeführten Projekte).