6 पॉइंट द्वारा GN⁺ 2023-08-15 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • 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 टिप्पणियां

 
GN⁺ 2023-08-15
Hacker News राय
  • YouTube की वीडियो डाउनलोड सीमाओं को बायपास करने के तरीके पर लेख: HTTP Range header का उपयोग करके डाउनलोड को छोटे हिस्सों में विभाजित करना
  • HTTP Range header: हर अनुरोध पर यह निर्दिष्ट किया जा सकता है कि डाउनलोड की जाने वाली फ़ाइल का कौन-सा हिस्सा चाहिए
  • कुछ उपयोगकर्ता: range query parameter जोड़कर सीमाओं को बायपास किया जा सकता है और transfer speed को बहाल किया जा सकता है
  • YouTube द्वारा सीमा हटाने की रिपोर्ट: कुछ उपयोगकर्ताओं को अब भी throttling की समस्या हो रही है
  • YouTube के छोटे बदलाव: MP4 फ़ाइलें डाउनलोड करने वाले tools के लिए समस्याएँ पैदा कर रहे हैं
  • कुछ उपयोगकर्ताओं ने वीडियो गुणवत्ता में अंतर देखा: इससे संकेत मिलता है कि YouTube compression artifacts को smooth करने के लिए एक सूक्ष्म filter लागू कर सकता है
  • YouTube का वीडियो वितरण: खराब internet connection वाले क्षेत्रों में भी इसकी smoothness की सराहना की जाती है
  • YouTube की सीमाओं को बायपास करने के नैतिक निहितार्थों पर चर्चा: कुछ का तर्क है कि सामान्य browser speed को optimize करना उचित है, जबकि अन्य को लगता है कि YouTube के संसाधनों का अधिक उपयोग करना अनुचित है
  • लेख में उल्लिखित yt-dlp: youtube-dl का Python-आधारित fork, जिसमें parameters को transform करने के लिए एक custom JavaScript interpreter शामिल है