2 ms·
YouTube throttles the download speed of videos to the real-time playback speed. It also provides (if I recall correctly) a random token and a JS blob; if the cl
by thristian 5y ago
YouTube throttles the download speed of videos to the real-time playback speed. It also provides (if I recall correctly) a random token and a JS blob; if the client executes the JS and passes in the token, it gets another random token as output that if passed along with a request will unthrottle the downloads speed. As a result, full-speed downloads are only available to clients that can safely execute untrusted JS, which is mostly web-browsers and not command-line tools.
I believe the way yt-dlp works is that somebody manually ported the JS blob code to Python, which gets things working but leaves a lot of scope for arms-race escalation in future.
- deleted 5y ago[deleted]
- mekster 5y agoWith the current toolsets like Puppeteer or Playwright, doesn't seem like a tough matter to solve?