- YouTube की वीडियो डाउनलोड स्पीड limit को bypass करने के तरीकों पर एक लेख
- YouTube विज्ञापन views से revenue कमाता है, और unofficial clients में वीडियो देखने या डाउनलोड करने को रोकने के लिए यह limit लगाई जाती है
- स्पीड limit bypass करने का पहला चरण YouTube API से संचार करके वह वास्तविक URL ढूंढना है जिसमें वीडियो फ़ाइल शामिल होती है
- YouTube अधिकांश file URL में
n नाम का एक विशेष parameter इस्तेमाल करता है, जिसे base.js फ़ाइल में मौजूद JavaScript algorithm की मदद से transform करना पड़ता है। यह parameter इस बात की challenge की तरह काम करता है कि डाउनलोड "official" client से शुरू हुआ है या नहीं
- JavaScript algorithm obfuscated होता है और अक्सर बदलता रहता है, इसलिए इसे समझने के लिए reverse engineering करना व्यावहारिक नहीं है। समाधान यह है कि JavaScript फ़ाइल डाउनलोड की जाए, algorithm code निकाला जाए, और
n parameter देकर उसे चलाया जाए
- YouTube अब भी वीडियो के size और length के आधार पर variable download speed limiting rules लागू करता है। इस limit को bypass करने के लिए, डाउनलोड को HTTP Range header का उपयोग करके कई छोटे हिस्सों में बांटा जा सकता है
- YouTube वीडियो और audio channels को दो अलग-अलग files के रूप में वितरित करता है। अंतिम चरण इन दोनों channels को एक ही फ़ाइल में जोड़ना है, जो
ffmpeg का उपयोग करके किया जा सकता है
- वर्तमान में कई projects YouTube वीडियो डाउनलोड रोकने के लिए लगाए गए limits को bypass करने हेतु इन तकनीकों का उपयोग करते हैं। सबसे लोकप्रिय
yt-dlp है, जो Python में प्रोग्राम किया गया youtube-dl का fork है, लेकिन इसमें n parameter को transform करने के लिए अपना custom JavaScript interpreter शामिल है
- लेख इस प्रक्रिया को समझाता है और code snippets प्रदान करता है, जिससे यह शुरुआती software engineers के लिए भी सुलभ बनता है
1 टिप्पणियां
Hacker News राय