सामग्री पर जाएँ

yt-dlp अपडेट कैसे करें — हर install तरीका, nightly, और यह क्यों ज़रूरी है

लेखक Tunelio टीमप्रकाशित

YouTube जब player बदलता है तो yt-dlp टूटता है, और YouTube इसे हर कुछ हफ़्तों में बदलता है। yt-dlp को ताज़ा रखना किसी भी flag से ज़्यादा “403”, “bot check” और “unable to extract” errors ठीक करता है। command इस पर निर्भर है कि आपने कैसे install किया: binary के लिए yt-dlp -U, pip के लिए pip install -U yt-dlp, Homebrew पर brew upgrade yt-dlp, Windows पर winget upgrade yt-dlp। विवरण, channel और automation नीचे।

पहले: पता करें yt-dlp कैसे install हुआ था

yt-dlp --version          # जैसे 2026.08.12 — तारीख़, semver नहीं
which yt-dlp              # /usr/local/bin → binary, ~/.local/bin या venv → pip, /opt/homebrew → brew
pip show yt-dlp 2>/dev/null | head -2

version एक तारीख़ है। एक महीने से पुरानी हो तो कुछ और debug करने से पहले अपडेट करें। ग़लत तरीके से अपडेट (जैसे distro package के ऊपर pip) दो copies छोड़ देता है और पुरानी ही चलती रहती है — “अपडेट किया पर फिर भी fail” की सबसे आम वजह।

install तरीके के हिसाब से अपडेट

official binary (Linux, macOS, Windows exe)

yt-dlp -U                      # नवीनतम stable release पर self-update
yt-dlp --update-to nightly     # nightly channel पर जाएँ (stable पीछे हो तो सुझाया)
yt-dlp --update-to stable      # वापस
yt-dlp --update-to master      # हर commit से बना, सबसे ताज़ा

self-updater executable को उसी जगह बदलता है; Linux/macOS पर file आपके लिए writable होनी चाहिए (sudo सिर्फ़ तब जब root से install किया हो)। जब YouTube ने अभी कुछ बदला हो और fix merge हो चुका पर stable release में न आया हो, maintainer nightly channel सुझाते हैं।

pip / pipx

python3 -m pip install -U "yt-dlp[default]"       # stable + सुझाए extras (curl_cffi आदि)
python3 -m pip install -U --pre "yt-dlp[default]" # nightly pre-release
pipx upgrade yt-dlp                               # pipx से install किया हो तो

pip install के लिए yt-dlp -U काम नहीं करता (वह ख़ुद बताता है)। वही interpreter इस्तेमाल करें जो yt-dlp चलाता है — python3 -m pip किसी दूसरे Python को अपडेट होने से बचाता है। [default] extra curl_cffi जैसी optional dependencies लाता है।

Homebrew (macOS/Linux)

brew update && brew upgrade yt-dlp

Windows: winget, scoop, choco

winget upgrade yt-dlp
scoop update yt-dlp
choco upgrade yt-dlp

Linux distro package (apt, dnf, pacman)

Debian/Ubuntu और ज़्यादातर distro repository yt-dlp को upstream से महीनों पीछे देते हैं, जो YouTube के लिए “टूटा हुआ” है। या तो package हटाकर official binary या pip version लगाएँ, या नियमित fail स्वीकार करें। Arch का package upstream के क़रीब रहता है; Ubuntu का नहीं।

sudo apt remove yt-dlp
sudo curl -L https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp -o /usr/local/bin/yt-dlp
sudo chmod a+rx /usr/local/bin/yt-dlp

Docker

# बिना cache rebuild करें ताकि pip layer नवीनतम version फिर से resolve करे
docker build --no-cache -t yt-dlp-image .
# या Dockerfile में स्पष्ट pin करें:  pip install "yt-dlp[default]==2026.9.1"

container build के समय version freeze कर देते हैं, इसलिए “अपडेट” का मतलब rebuild है। image में ffmpeg और JavaScript runtime (Deno) जोड़ें; आज पूरे YouTube support के लिए दोनों ज़रूरी हैं।

JavaScript runtime और ffmpeg न भूलें

2025 से yt-dlp को YouTube के signature challenge हल करने के लिए बाहरी JS runtime चाहिए — Deno (या Node/Bun) न हो तो सिर्फ़ yt-dlp अपडेट करना काफ़ी नहीं। 1080p+ के लिए video और audio merge करने और audio convert करने के लिए ffmpeg चाहिए। दोनों yt-dlp -v से जाँचें: debug header मिले runtime और ffmpeg दिखाता है।

इसे automate करें

# cron: हर रात 04:00 पर अपडेट (binary install)
0 4 * * * /usr/local/bin/yt-dlp -U >/var/log/yt-dlp-update.log 2>&1

# script में: अपडेट, फिर चलाएँ
yt-dlp -U >/dev/null 2>&1 || true
yt-dlp "$URL"

बिना निगरानी चलने वाली किसी भी चीज़ के लिए रात का अपडेट सुबह 3 बजे के outage से सस्ता है। हर failure के साथ version log करें ताकि YouTube के बदलाव और अपने कोड के bug में फ़र्क़ कर सकें।

पुराने build क्यों टूटते हैं

YouTube के player JavaScript signature और “n” parameter बनाता है जो हर media URL में होना चाहिए। player बदलते ही पुराना yt-dlp इन्हें ग़लत निकालता है और download 403 Forbidden से fail होते हैं, कुछ KB/s पर throttle होते हैं या format पूरी तरह खो देते हैं। bot-check heuristics और भरोसेमंद player client की सूची भी बदलती रहती है। इनमें से कुछ भी आपकी तरफ़ से अपडेट के अलावा ठीक नहीं हो सकता — इसीलिए maintainer किसी bug report को देखने से पहले मौजूदा version माँगते हैं।

अपडेट से भी ठीक न हुआ तो

  • yt-dlp -vU चलाएँ और पहली लाइनें पढ़ें: version, runtime, ffmpeg, और गायब components की कोई “WARNING”।
  • पक्का करें कि अपडेट की गई copy ही PATH में है (which yt-dlp)।
  • फिर 403 गाइड और bot-check गाइड देखें — version के बाद आम संदिग्ध IP reputation, गायब PO token और cookies हैं।

अपडेट करते-करते थक गए?

yt-dlp किसी product के अंदर चले तो YouTube का हर बदलाव emergency update बन जाता है। hosted API उन बदलावों को सर्वर-साइड सोख लेता है और एक stable contract रखता है: URL के साथ GET /create download link लौटाता है। Tunelio हमारी अपनी सेवा है, इसे ध्यान में रखें; नए account को 100 free credits।

स्रोत

  • yt-dlp README — Installation, “Update” section, --update-to channels।
  • yt-dlp wiki — Installation FAQ (distro package, pip बनाम binary)।
  • yt-dlp releases — download verify करने के लिए SHA2-256SUMS।

सामान्य सवाल

yt-dlp -U क्यों कहता है कि अपडेट नहीं हो सकता?

आपने pip, package manager या distro package से install किया है। उसी tool से करें: pip install -U yt-dlp, brew upgrade yt-dlp, winget upgrade yt-dlp, या binary दोबारा install करें।

क्या nightly इस्तेमाल करूँ?

हाँ, जब YouTube ने अभी कुछ तोड़ा हो और fix merge हो चुका पर release न हुआ हो — maintainer इसी के लिए nightly सुझाते हैं। --update-to nightly या pip install -U --pre yt-dlp से बदलें।

मौजूदा version कैसे जाँचूँ?

yt-dlp --version 2026.08.12 जैसी तारीख़ दिखाता है। लगभग एक महीने से पुरानी हो तो troubleshooting से पहले अपडेट करें।

क्या ffmpeg या Deno भी अपडेट करने होंगे?

कम ही, पर दोनों मौजूद होने चाहिए। yt-dlp -v बताता है कि कौन-से version मिले; गायब होने पर format खोते हैं और 403 आते हैं।

संबंधित गाइड