প্রকল্প সম্পর্কে

youtube-dl একটি কমান্ড-লাইন প্রোগ্রাম যা YouTube.com এবং অন্যান্য অনেক ভিডিও প্ল্যাটফর্ম থেকে ভিডিও ডাউনলোড করতে ব্যবহৃত হয়। এটি Python-এ লেখা, ক্রস-প্ল্যাটফর্ম (Linux, macOS, Windows) এ কাজ করে, এবং Python 2.6/2.7 অথবা 3.2+ প্রয়োজন。 ## ইনস্টলেশন একাধিক পদ্ধতিতে পাওয়া যায়: - সরাসরি বাइनারি ডাউনলোড: `sudo curl -L https://yt-dl.org/downloads/latest/youtube-dl -o /usr/local/bin/youtube-dl` - pip: `sudo -H pip install --upgrade youtube-dl` - macOS Homebrew: `brew install youtube-dl` - macOS MacPorts: `sudo port install youtube-dl` - Windows: .exe ফাইল ডাউনলোড করে PATH-এ রাখুন (System32-এ নয়)。 ## মূল বৈশিষ্ট্য - নির্দিষ্ট এক্সট্রাক্টর ব্যবহার করে ১০০০+ সাপোর্টেড সাইট থেকে ভিডিও ও সাবটাইটেল ডাউনলোড করে。 - রেঞ্জ সিলেকশন (`--playlist-start`, `--playlist-end`, `--playlist-items`), রিভার্স অর্ডার এবং র‍্যান্ডম অর্ডার সহ পূর্ণ প্লেলিস্ট সাপোর্ট。 - রেজোলিউশন, কন্টেইনার, কোডেক, ফাইলসাইজ, সময়কাল, ভিউ কাউন্ট এবং তারিখ দ্বারা ফরম্যাট নির্বাচন ও ফিল্টারিং。 - ফেক X-Forwarded-For হেডার, কাস্টম দেশ কোড, অথবা IP ব্লক এক্সเซপশন এর মাধ্যমে জিও-রিস্ট্রিকশন বাইপাস。 - নেটওয়ার্ক অপশন: HTTP/HTTPS/SOCKS প্রক্সি, IPv4/IPv6 ফোর্সিং, সকেট টাইমআউট, কাস্টম ইউজার এজেন্ট ও রেফারার。 - উন্নত ডাউনলোডিং scenarios-এর জন্য aria2c, curl, ffmpeg, wget, axel ইত্যাদি এক্সটার্নাল ডাউনলোডার সাপোর্ট。 - আংশিক ডাউনলোড করা ফাইল পুনরায় শুরু; পূর্ণ ফ্র্যাগমেন্ট এবং প্রতিটি ফ্র্যাগমেন্টের জন্য কনফিগারেবল রিট্রাই সাপোর্ট。 - শিরোনাম, আপলোডকারী, আপলোডের তারিখ, রেজোলিউশন, ফরম্যাট ইত্যাদি বিশাল মെটাডাটা কি-সহ আউটপুট ফাইলের নাম টেমপ্লেটিং。 - ঐচ্ছিক আউটপুট আর্টিফ্যাক্টস: থাম্বনেইল (একক অথবা সকল ফরম্যাট), `.info.json` মెটাডাটা, `.description` ফাইল, `.annotations.xml`。 ## সাধারণ ব্যবহার প্যাটার্ন বেসিক ডাউনলোড: `youtube-dl <URL>` প্লেলিস্ট আইটেম ৫ থেকে ১০ ডাউনলোড: `youtube-dl --playlist-items 5-10 <playlist_URL>` শ্রেষ্ঠ ভিডিও মাত্র ডাউনলোড: `youtube-dl -f "bestvideo[ext=mp4]+bestaudio[ext=m4a]/best[ext=mp4]" <URL>` আউটপুট টেমপ্লেট সেট করুন: `youtube-dl -o "%(title)s [%(id)s].%(ext)s" <URL>` সাবটাইটেল ডাউনলোড: কমান্ডে `--write-subs --sub-langs en` যুক্ত করুন。 কোনো ডাউনলোড ছাড়া শুধুমাত্র পরীক্ষা: `youtube-dl --skip-download <URL>` JSON মெটাডাটা ডাম্প: `youtube-dl --dump-json <URL>` রেট লিমিট: `youtube-dl --limit-rate 50K <URL>` ## কনফিগারেশন অপশনগুলো কনফিগারেশন ফাইলে রাখা যায়: - গ্লোবাল: `/etc/youtube-dl.conf` - ইউজার: `~/.config/youtube-dl/config` (Linux/macOS) অথবা `%APPDATA%/youtube-dl/config.txt` (Windows) `--config-location` ব্যবহার করে কাস্টম পথ নির্দিষ্ট করুন, অথবা `--ignore-config` দিয়ে কোনো কনফিগ ফাইল পড়তে বর্জন করুন。 ## এমবেডিং youtube-dl-কে Python লাইব্রেরি হিসেবে ব্যবহার করা যায়, যেখানে এক্সট্রাকশন এবং ডাউনলোড লজিক স্ক্রিপ্ট ও অ্যাপ্লিকেশনে এমবেড করা যায়。 ## লাইসেন্সিং পাবলিক ডোমেইনে প্রকাশিত — যেকোনোভাবে পরিবর্তন, পুনঃবিতরণ এবং ব্যবহারের জন্য মুক্ত।