فرض کنید نیمهشب، در حال تماشای یک ویدیوی آموزشی نادر در یوتیوب هستید که نمیخواهید از دست برود. اینترنت شما ضعیف است و بارها قطع میشود. دکمهٔ دانلودی هم در صفحه وجود ندارد. در همان لحظه، حس درماندگی را تجربه میکنید و با خود میگویید: کاش راهی بود که بتوانستم همین حالا، بدون تبلیغات و با بهترین کیفیت، ویدیو را برای همیشه ذخیره کنم.
در همین نقطه است که نام yt-dlp وارد صحنه میشود. این ابزارِ خط فرمان (command-line tool) ساخته شده تا با چند دستور ساده، هر ویدیو یا فایل صوتی دلخواه را از دهها سایت مختلف از جمله YouTube، Vimeo، SoundCloud، TikTok و بسیاری دیگر برای شما دانلود کند. کاربران حرفهای و برنامهنویسان سالهاست از آن برای ساخت آرشیو آموزشی، ذخیره پادکستها، یا حتی استخراج صوت از سخنرانیها استفاده میکنند.
اما جذابیت yt-dlp در این است که نیازی به دانش برنامهنویسی ندارد. کافی است منطق سادهٔ دستورها را بشناسید تا بتوانید با قدرتی در حد نرمافزارهای گرانقیمت، لینکهای آنلاین را به فایلهای تمیز و قابل پخش تبدیل کنید.
در این راهنما، قرار است یاد بگیرید چطور آن را نصب کنید، تنظیمات اولیه را بسازید و با چند دستور کلیدی، هر ویدیو یا پادکست را در قالب و کیفیت دلخواه ذخیره کنید. این متن به زبان ساده نوشته شده اما دقت فنی خود را حفظ کرده است تا حتی یک کاربر مبتدی بتواند احساس کند «کنترل اینترنت» را در دست گرفته است.
۱. آشنایی مفهومی با yt-dlp و تفاوتش با ابزارهای مشابه
yt-dlp نسخهٔ بهینهشدهای از ابزار قدیمیتر youtube-dl است. هر دو کار مشابهی انجام میدهند، اما yt-dlp جامعهٔ کاربری فعالتری دارد و از سایتهای بیشتری پشتیبانی میکند. این ابزار نه فقط برای یوتیوب بلکه برای صدها پلتفرم دیگر طراحی شده و با الگوریتمهای استخراج پیشرفته (extractors) میتواند لینک واقعی فایل را از پشت کدهای پیچیده وب بیرون بکشد.
کارکرد اصلی آن بر پایهٔ «فرمول دستور خط فرمان» است. به این صورت که ابتدا نام برنامه، سپس دستور (command) مورد نظر، و در پایان آدرس (URL) وارد میشود. مثلا وقتی در خط فرمان ویندوز یا ترمینال مک تایپ کنید:
yt-dlp https://youtube.com/…
ابزار بهصورت خودکار ویدیو را شناسایی میکند، اطلاعات متادیتا (metadata) آن را میخواند و بسته به تنظیمات شما، بهترین کیفیت موجود را دانلود میکند.
مزیت بزرگ این ابزار نسبت به سایتهای آنلاین یا نرمافزارهای گرافیکی در این است که دقیق، سریع و بدون تبلیغ است. میتوانید آن را طوری پیکربندی کنید که همیشه در کیفیت دلخواه، مثلا 1080p یا فقط صوت mp3 ذخیره کند.
۲. نصب yt-dlp در ویندوز، مک و لینوکس
برای شروع، باید بدانید yt-dlp یک برنامهٔ سبک است که نیاز به نصب پیچیده ندارد. در ویندوز میتوانید از فایل اجرایی (Executable) آماده استفاده کنید. کافی است به صفحهٔ رسمی پروژه بروید، نسخهٔ ویندوزی را دانلود کنید و فایل را در پوشهای مثل «C:yt-dlp» قرار دهید. سپس مسیر آن را در تنظیمات PATH اضافه کنید تا بتوانید از هرجای ویندوز با تایپ yt-dlp به آن دسترسی داشته باشید.
در مک و لینوکس راحتتر است. اگر بستهٔ مدیریت پایتون (Python package manager) روی سیستم دارید، میتوانید در ترمینال بنویسید:
pip install -U yt-dlp
با این کار، برنامه نصب و آمادهٔ اجرا میشود.
نکتهٔ مهم برای مبتدیها این است که ترمینال (Terminal) را دشمن خود ندانند. بر خلاف ظاهر خشک آن، فقط یک رابط متنی ساده است. کافی است خط دستور را بنویسید و دکمهٔ Enter را بزنید تا همه چیز انجام شود.
اگر پس از نصب دستور را تایپ کردید و پیغام خطا گرفتید، ممکن است سیستم شما Python را نشناسد یا پوشهٔ نصب در PATH ثبت نشده باشد. در این صورت بهتر است مسیر دقیق فایل اجرایی را وارد کنید یا از نسخهٔ مستقل (Standalone) استفاده کنید که بدون پایتون هم اجرا میشود.
۳. اولین دانلود با yt-dlp؛ از تماشا تا کنترل کامل
برای اولین تجربه، یک ویدیوی کوتاه در یوتیوب انتخاب کنید و آدرس آن را کپی کنید. سپس در ترمینال بنویسید:
yt-dlp https://www.youtube.com/watch?v=ExampleID
در چند ثانیه برنامه ویدیو را شناسایی میکند و شروع به دانلود مینماید. فایل خروجی بهصورت پیشفرض در همان پوشهای ذخیره میشود که در آن دستور را اجرا کردهاید. اگر بخواهید محل ذخیره را تعیین کنید، از دستور زیر استفاده کنید:
yt-dlp -o “C:Videos%(title)s.%(ext)s” [لینک ویدیو]
در اینجا «فرمول خروجی» با متغیرهای title و ext مشخص میکند که نام فایل همان عنوان ویدیو و پسوند فایل مطابق نوع آن باشد.
میتوانید با افزودن دستور -f best همیشه بهترین کیفیت را دریافت کنید. اگر فقط به صوت نیاز دارید، دستور -x –audio-format mp3 باعث میشود ویدیو استخراج شده و به صوت تبدیل شود. این ویژگی برای پادکستها و سخنرانیها بسیار کاربردی است.
تا اینجا فقط با سه خط ساده، از کاربر عادی به کسی تبدیل شدهاید که کنترل دادههای رسانهای را در دست دارد. در بخش بعد، خواهیم دید چطور این ابزار را حرفهایتر کنیم، از فهرستهای پخش (Playlist) یا کانال کامل دانلود بگیریم، و تنظیمات خودکار بسازیم.
۴. دربارهٔ صفحات وب کامل:
نه، yt-dlp برای ذخیرهٔ صفحات وب طراحی نشده است. تمرکز آن روی استخراج محتوای صوتی و تصویری است. یعنی اگر لینکی بدهی که درونش ویدیو یا صدا جاسازی شده، آن را شناسایی و دانلود میکند، اما خودِ صفحهٔ HTML و عکسها و متنها را ذخیره نمیکند.
برای ذخیرهٔ کامل صفحات وب همراه متن، عکس و ویدیو، ابزارهای دیگری مثل SingleFile (افزونهٔ مرورگر)، wget یا HTTrack مناسباند. آنها کل ساختار صفحه را بهصورت آفلاین ذخیره میکنند. اما yt-dlp دقیقتر است و فقط بخشهای «چندرسانهای» را استخراج میکند، نه کل وبسایت.
۵. دانلود زیرنویسها و تبدیل آنها به فایل مستقل یا چسبیده
یکی از جذابترین تواناییهای yt-dlp، ذخیرهٔ زیرنویسهای ویدیو (Subtitles) است. بسیاری از کاربران حتی نمیدانند که یوتیوب برای بخش زیادی از ویدیوها، زیرنویس خودکار تولید میکند. این ابزار میتواند آن زیرنویسها را بهصورت فایل جداگانه (مثلاً با پسوند srt یا vtt) دانلود کند تا بعداً بتوانی در پخشکنندهای مثل VLC آن را روی ویدیو بگذاری.
برای این کار کافی است هنگام اجرای دستور، گزینهٔ –write-subs را اضافه کنی. اگر فقط به زبان خاصی نیاز داری، از پارامتر –sub-lang استفاده کن و مثلاً بنویس –sub-lang en برای زیرنویس انگلیسی یا –sub-lang fa اگر زیرنویس فارسی موجود باشد.
اما اگر میخواهی زیرنویس به خود ویدیو چسبیده باشد تا هنگام تماشا نیاز به فایل جداگانه نداشته باشی، از –embed-subs استفاده کن. در این حالت yt-dlp بعد از دانلود، با کمک ابزار داخلی خودش زیرنویس را به فایل ویدیو تزریق میکند. این کار مخصوصاً برای پخش در تلویزیون یا دستگاههای بدون پشتیبانی از فایل زیرنویس مفید است.
در مواردی که فقط میخواهی زیرنویس را بدون خود ویدیو بگیری (برای مثال برای ترجمه یا تمرین زبان)، گزینهٔ –skip-download را بنویس. نتیجه یک فایل متنی از گفتار کامل ویدیوست، که میتواند ابزار آموزشی فوقالعادهای باشد.
۶. استخراج صوت از ویدیو و تبدیل آن به فرمت mp3
خیلی وقتها لازم نیست خود ویدیو را داشته باشی. مثلاً پادکست، سخنرانی، یا کلاس آموزشیای است که فقط صدای گوینده مهم است. در این حالت yt-dlp میتواند ویدیو را بگیرد و خودش فقط صدای آن را نگه دارد.
دستور -x به معنی «extract audio» یعنی استخراج صوت است. وقتی همراه با –audio-format mp3 استفاده شود، ویدیو دانلود میشود، سپس صوت از آن جدا و به فرمت mp3 تبدیل میگردد. اگر فرمت دلخواه دیگری میخواهی، میتوانی آن را به ogg یا m4a تغییر دهی.
مثلاً این دستور:
yt-dlp -x –audio-format mp3 [آدرس ویدیو]
باعث میشود تنها فایل صوتی آن ویدیو ذخیره شود.
اگر میخواهی اسم فایل دقیقتر باشد، از الگوی خروجی (output template) استفاده کن:
-o “%(title)s_%(id)s.%(ext)s”
این کار باعث میشود فایلها با عنوان و شناسهٔ یکتا نامگذاری شوند، تا بعداً اشتباه نگرفتی کدام نسخه مربوط به کدام ویدیو بوده است.
نکتهٔ جالب این است که yt-dlp میتواند از بیشتر پلتفرمهای صوتی مانند SoundCloud یا Mixcloud نیز به همین روش صدا را بگیرد. فقط باید لینک مستقیم هر ترک یا پادکست را به آن بدهی.
۷. دانلود فهرست پخش (Playlist) یا کل کانال
گاهی به جای یک ویدیو، میخواهی مجموعهای از آنها را ذخیره کنی، مثلاً یک دوره آموزشی دهقسمتی یا آرشیو پادکست یک کانال. در این حالت yt-dlp هوشمندانه تشخیص میدهد که لینک به فهرست پخش مربوط است و خودش ویدیوهای درون آن را یکییکی دانلود میکند.
برای این کار کافی است لینک فهرست پخش را وارد کنی. بهصورت پیشفرض همهٔ آیتمها دانلود میشوند، اما میتوانی محدوده مشخص کنی. مثلاً –playlist-items 1-5 یعنی فقط ویدیوهای اول تا پنجم را بگیر.
اگر کانال بزرگی است و نمیخواهی صدها فایل یکجا ذخیره شود، از –dateafter و –datebefore استفاده کن تا فقط ویدیوهای بازهٔ زمانی خاصی را بگیرد. بهعنوان نمونه، میتوانی بنویسی –dateafter 20250101 تا فقط ویدیوهای بعد از ژانویهٔ ۲۰۲۵ را بگیرد.
برای نظم بیشتر بهتر است مسیر خروجی را طوری تعریف کنی که هر ویدیو در پوشهٔ مخصوص خودش قرار گیرد. دستور -o “%(uploader)s/%(playlist)s/%(title)s.%(ext)s” ساختاری پوشهای ایجاد میکند و کانالها را مرتب نگه میدارد.
۹. گرفتن تصویر بندانگشتی و اطلاعات جانبی ویدیو
یکی از ویژگیهای کمتر شناختهشدهٔ yt-dlp، قابلیت ذخیرهٔ تصویر بندانگشتی (thumbnail) و اطلاعات متنی هر ویدیو است. با افزودن گزینهٔ –write-thumbnail، تصویر پیشنمایش ویدیو ذخیره میشود و میتوانی آن را بهعنوان کاور در آرشیو شخصیات نگه داری.
اگر بخواهی اطلاعات فنی یا توضیحات را نیز نگه داری، از –write-info-json استفاده کن تا فایل متاداده شامل عنوان، توضیح، زمان انتشار و لینک منبع در قالب JSON ذخیره شود. این فایل در آینده برای جستوجوی دقیق یا ساخت آرشیوهای بزرگ بسیار مفید است.
حتی میتوانی yt-dlp را با یک فایل تنظیمات (Configuration file) طوری تنظیم کنی که همیشه این گزینهها بهصورت پیشفرض فعال باشند تا لازم نباشد هر بار بنویسیشان. این فایل معمولاً با نام .config/yt-dlp/config در سیستم ذخیره میشود و شامل مجموعهای از گزینههای دلخواه توست.
۱۰. ترکیب yt-dlp با ابزارهای دیگر برای ذخیرهٔ کامل صفحات وب
همانطور که در بخش قبل گفتیم، yt-dlp فقط محتوای چندرسانهای را ذخیره میکند. اگر هدف تو نگهداری کل یک مقاله یا صفحهٔ وب به همراه متن و عکس و ویدیو باشد، باید آن را با ابزارهایی مثل wget یا HTTrack ترکیب کنی.
در عمل، میتوانی ابتدا با wget یا افزونهای مثل SingleFile کل صفحه را ذخیره کنی تا متن و عکسها را داشته باشی، سپس با yt-dlp همان ویدیوهای درون صفحه را بگیری و در همان پوشه بگذاری. نتیجه این است که صفحهٔ ذخیرهشدهٔ تو حتی بدون اینترنت دقیقاً مثل نسخهٔ اصلی باز میشود.
گیگها معمولاً برای پروژههای پژوهشی یا مستندسازی از این روش استفاده میکنند: wget برای ساختار صفحه و yt-dlp برای محتوای چندرسانهای. به این ترتیب همهچیز آفلاین، مرتب و امن باقی میماند.
۱۱. نکتههای عملی برای حرفهای شدن در yt-dlp
اول، همیشه قبل از دانلود انبوه، یک یا دو مورد آزمایشی بگیر تا مطمئن شوی قالب نامگذاری و مسیر درست است. دوم، از گزینهٔ –update برای بهروزرسانی برنامه استفاده کن تا الگوریتمها و پشتیبانی سایتها تازه بمانند. سوم، اگر اتصال اینترنت تو ناپایدار است، از –fragment-retries infinite استفاده کن تا در صورت قطع ارتباط، دانلود ادامه یابد.
چهارم، برای سرعت بیشتر میتوانی تعداد ارتباطات همزمان را زیاد کنی با دستور –concurrent-fragments 5، ولی مراقب باش که پهنای باندت پاسخگو باشد. پنجم، اگر میخواهی فقط کیفیت خاصی را بگیری، از الگوی -f “bestvideo[height<=720]+bestaudio/best” استفاده کن تا ویدیوهایی با رزولوشن بالاتر از ۷۲۰p نگیرد.
در نهایت، همهچیز به سلیقهٔ تو بستگی دارد. بعضی کاربران فقط صدا را نگه میدارند، بعضی دیگر کل کانال را آرشیو میکنند. قدرت yt-dlp در همین انعطاف است: به تو اجازه میدهد اینترنت را دقیقاً همانطور که میخواهی برای خودت ذخیره کنی.
۱۲.تعیین مسیر دقیق ذخیره فایلها (Download Path)
پیشفرض yt-dlp این است که ویدیو را در همان پوشهای ذخیره میکند که دستور در آن اجرا میشود.
اما میتوانی مسیر دلخواهت را دقیق مشخص کنی. این کار با گزینهٔ -o (output template) انجام میشود.
مثال ساده برای ویندوز:
arduino
Copy code
yt-dlp -o “C:Videos%(title)s.%(ext)s” [آدرس ویدیو]
در این حالت، yt-dlp فایل را در پوشهٔ C:Videos ذخیره میکند.
%(title)s یعنی از عنوان ویدیو بهعنوان نام فایل استفاده کند
و %(ext)s یعنی پسوند فایل را بر اساس نوع خروجی (mp4، mp3 و…) انتخاب کند.
مثال پیشرفته با پوشهبندی خودکار:
arduino
Copy code
yt-dlp -o “C:Archive%(uploader)s%(playlist_title)s%(title)s.%(ext)s” [آدرس پلیلیست]
در این حالت برنامه خودش:
پوشهای با نام آپلودکننده (Uploader) میسازد،
درون آن پوشهای با نام پلیلیست میسازد،
و هر ویدیو را با عنوان خودش در آن ذخیره میکند.
نتیجه چیزی شبیه این خواهد بود:
makefile
Copy code
C:ArchiveTEDBest Talks of 2025The Future of AI.mp4
در مک یا لینوکس:
فرمول کاملاً مشابه است، فقط مسیرها با اسلش معمولی / نوشته میشوند:
mathematica
Copy code
yt-dlp -o “~/Videos/%(uploader)s/%(title)s.%(ext)s” [URL]
نکتهٔ کاربردی برای حرفهایها:
اگر همیشه میخواهی فایلها در مسیر ثابتی بروند، دیگر لازم نیست هر بار مسیر را بنویسی.
کافی است یک فایل پیکربندی (config file) بسازی:
مسیر فایل پیکربندی در ویندوز:
C:Users<YourName>AppDataRoamingyt-dlpconfig.txt
و درون آن بنویس:
diff
Copy code
-o C:Videos%(title)s.%(ext)s
-f best
–write-subs
–embed-subs
هر بار که yt-dlp را اجرا میکنی، همین تنظیمات بهصورت خودکار اعمال میشوند.
خلاصه
yt-dlp یک ابزار متنباز و قدرتمند برای دانلود ویدیو و صوت از پلتفرمهای مختلف است که با چند دستور ساده قابل استفاده است. این برنامه میتواند زیرنویس، تصاویر بندانگشتی و متادادهها را نیز ذخیره کند. قابلیت استخراج صوت و تبدیل به mp3، آن را به ابزاری ایدهآل برای پادکستها و آموزشها تبدیل کرده است. امکان دانلود فهرست پخش یا کل کانال، نظم پوشهای و ساخت فایل تنظیمات شخصی، کاربر را از تکرار تنظیمات رها میکند. در کنار آن، ترکیب با ابزارهایی مثل wget یا HTTrack امکان آرشیو کامل صفحات وب را فراهم میآورد. برای هر کاربر تازهکار، یادگیری yt-dlp به معنی تسلط بر بخش بزرگی از محتوای آنلاین است. در نهایت، این ابزار یادآور این واقعیت است که اگر دادهها را در دست خودت نگه داری، اینترنت کمتر ناپایدار و فراموشکار خواهد بود.
| دستور (Command) | کارکرد (Function) | توضیح ساده (Description) |
|---|---|---|
| yt-dlp [URL] | دانلود سادهٔ ویدیو | با وارد کردن لینک، ویدیو بهصورت پیشفرض دانلود میشود. |
| -f best | بهترین کیفیت | انتخاب خودکار بالاترین رزولوشن موجود. |
| -x –audio-format mp3 | استخراج صوت | تبدیل ویدیو به فایل صوتی با فرمت mp3. |
| –write-subs | دانلود زیرنویس | ذخیرهٔ زیرنویس اصلی ویدیو در قالب srt یا vtt. |
| –embed-subs | زیرنویس چسبیده | زیرنویس درون ویدیو جاسازی میشود. |
| –write-thumbnail | دانلود تصویر بندانگشتی | ذخیرهٔ عکس پیشنمایش ویدیو. |
| –write-info-json | ذخیرهٔ اطلاعات ویدیو | ذخیرهٔ توضیحات و متادادهها در یک فایل JSON. |
| –playlist-items 1-5 | انتخاب ویدیوهای خاص از پلیلیست | مثلاً فقط ویدیوهای اول تا پنجم را دانلود کن. |
| -o “%(title)s.%(ext)s” | نامگذاری خروجی | نام فایل بر اساس عنوان ویدیو و نوع فایل ذخیره میشود. |
| –update | بهروزرسانی yt-dlp | آخرین نسخهٔ ابزار را نصب میکند. |
| دستور (Command) | کارکرد (Function) | توضیح کاربردی (Description) |
|---|---|---|
| –limit-rate 500K | محدود کردن سرعت دانلود | سرعت دانلود را به ۵۰۰ کیلوبایت بر ثانیه محدود میکند تا پهنای باند کنترل شود. |
| –download-sections “*00:00:00-00:02:00” | دانلود بخش خاص از ویدیو | فقط دو دقیقهٔ اول ویدیو را ذخیره میکند. مناسب برای نمونهبرداری یا تست کیفیت. |
| –skip-download | فقط استخراج اطلاعات | فایل را دانلود نمیکند، فقط دادههای فنی و توضیحات را ذخیره میکند. |
| –get-title | نمایش فقط عنوان | بدون دانلود، فقط عنوان ویدیو را در خروجی ترمینال نمایش میدهد. |
| –get-url | نمایش لینک واقعی فایل | آدرس مستقیم فایل ویدیویی را نشان میدهد که میتوان آن را با برنامههای دیگر باز کرد. |
| –write-comments | ذخیرهٔ نظرات ویدیو | اگر سایت پشتیبانی کند، بخش کامنتها را بهصورت فایل JSON ذخیره میکند. |
| –max-downloads 10 | محدودیت تعداد فایلها | اگر فهرست پخش بزرگ است، فقط ۱۰ ویدیو اول را میگیرد. |
| –sleep-interval 5 | وقفه بین دانلودها | بین هر دانلود پنج ثانیه صبر میکند تا از فشار به سرور جلوگیری شود. |
| –merge-output-format mp4 | تلفیق ویدیو و صوت | اگر فایلها جداگانه دانلود شوند، در پایان آنها را به یک فایل mp4 تبدیل میکند. |
| –concurrent-fragments 5 | دانلود موازی بخشها | برای افزایش سرعت، پنج بخش از فایل را همزمان دانلود میکند. |
| –dateafter 20250101 | فیلتر تاریخی | فقط ویدیوهایی را میگیرد که بعد از اول ژانویهٔ ۲۰۲۵ منتشر شدهاند. |
| –ignore-errors | ادامه با وجود خطا | اگر یک ویدیو خراب بود، دانلود بقیه متوقف نمیشود. |
| –embed-thumbnail | افزودن تصویر بندانگشتی به فایل | تصویر کاور ویدیو را داخل فایل صوتی یا تصویری ذخیره میکند. |
| –no-mtime | نادیده گرفتن زمان سیستم | زمان ویرایش فایل را مطابق زمان انتشار ویدیو تنظیم نمیکند. |
پرسشهای رایج (FAQ)
۱. آیا yt-dlp رایگان است؟
بله، کاملاً رایگان و متنباز است و روی ویندوز، مک و لینوکس اجرا میشود.
۲. آیا میتوان با yt-dlp زیرنویس ویدیوها را گرفت؟
بله، با گزینههای –write-subs یا –write-auto-subs زیرنویس را دانلود میکند و با –embed-subs آن را داخل ویدیو قرار میدهد.
۳. آیا yt-dlp صفحات وب را هم ذخیره میکند؟
خیر، فقط صوت و ویدیو را میگیرد. برای ذخیرهٔ کل صفحات باید از ابزارهایی مثل wget یا HTTrack استفاده شود.
۴. آیا میتوان با yt-dlp از کانال کامل یوتیوب دانلود کرد؟
بله، کافی است لینک کانال یا فهرست پخش را بدهی تا همهٔ ویدیوها بهصورت خودکار بارگیری شوند.
۵. بهترین روش برای استخراج صوت چیست؟
استفاده از گزینهٔ -x –audio-format mp3 که ویدیو را گرفته و فقط صدای آن را ذخیره میکند.
۶. آیا نیاز به دانش برنامهنویسی دارد؟
خیر، فقط باید چند دستور ساده را بلد باشی. هرچقدر هم مبتدی باشی، با تمرین کوتاه میتوانی حرفهای شوی.
این نوشته را هم بخوانید:
چگونه صفحات وب، ویدپوهای یوتیوب یا پادکستهایی که پسندیدهایم را برای خود ذخیره کنیم و گمشان نکنیم؟
source