6 points par GN⁺ 2023-08-15 | 1 commentaires | Partager sur WhatsApp
  • Article sur une méthode pour contourner la limitation de la vitesse de téléchargement des vidéos sur YouTube
  • YouTube génère des revenus à partir des vues publicitaires et met en place des mesures de restriction pour empêcher le visionnage ou le téléchargement des vidéos via des clients non officiels
  • La première étape du contournement consiste à communiquer avec l'API YouTube afin de trouver l'URL réelle contenant le fichier vidéo
  • YouTube utilise un paramètre spécifique appelé n dans la plupart des URL de fichiers, qui doit être transformé à l'aide d'un algorithme JavaScript situé dans le fichier base.js. Ce paramètre sert de défi pour vérifier si le téléchargement a été initié depuis un client « officiel »
  • Comme l'algorithme JavaScript est obfusqué et change fréquemment, tenter de le comprendre par rétro-ingénierie est peu réaliste. La solution consiste à télécharger le fichier JavaScript, à extraire le code de l'algorithme, puis à l'exécuter en lui passant le paramètre n
  • YouTube applique toujours des règles variables de limitation de vitesse de téléchargement basées sur la taille et la durée de la vidéo. Pour contourner cette limitation, le téléchargement peut être découpé en plusieurs petites parties à l'aide de l'en-tête HTTP Range
  • YouTube distribue les canaux vidéo et audio dans deux fichiers séparés. La dernière étape consiste à fusionner ces deux flux en un seul fichier, ce qui peut être fait avec ffmpeg
  • De nombreux projets utilisent actuellement ces techniques pour contourner les restrictions mises en place afin d'empêcher le téléchargement de vidéos YouTube. Le plus populaire est yt-dlp (un fork de youtube-dl) programmé en Python, mais il inclut son propre interpréteur JavaScript personnalisé pour transformer le paramètre n
  • L'article explique le processus et fournit des extraits de code, ce qui le rend accessible aux ingénieurs logiciel débutants

1 commentaires

 
GN⁺ 2023-08-15
Discussion Hacker News
  • Article sur une méthode pour contourner la limitation du téléchargement de vidéos sur YouTube : utiliser l’en-tête HTTP Range pour découper le téléchargement en petites portions
  • En-tête HTTP Range : permet de préciser quelle partie du fichier on souhaite télécharger à chaque requête
  • Certains utilisateurs : l’ajout de paramètres de requête de plage permettrait de contourner la limitation et de rétablir le débit de transfert
  • Signalements d’une levée de la limitation sur YouTube : certains utilisateurs rencontrent toujours des problèmes de limitation
  • Petits changements de YouTube : ils causent des problèmes aux outils qui doivent télécharger des fichiers MP4 depuis la plateforme
  • Certains utilisateurs ont relevé des différences de qualité vidéo : cela suggère que YouTube pourrait appliquer un filtre subtil pour lisser les artefacts de compression
  • Distribution vidéo de YouTube : saluée pour sa fluidité même dans les régions où la connexion Internet est mauvaise
  • Débat sur les implications éthiques du contournement de la limitation de YouTube : certains estiment qu’il est légitime d’optimiser la vitesse d’un navigateur classique, tandis que d’autres jugent injuste de consommer davantage de ressources de YouTube
  • yt-dlp mentionné dans l’article : fork de youtube-dl basé sur Python, incluant un interpréteur JavaScript personnalisé pour transformer les paramètres