এখানে YouTube ডাউনলোড 360p-এর কাছেই থামে কেন
YouTube একটি সম্পূর্ণ MP4 — একটিমাত্র ফাইলে ছবি ও শব্দ — দেয় কেবল মাঝারি রেজোলিউশনে। এর ওপরের সবকিছু আলাদা স্ট্রিম হিসেবে রাখা হয় যা জোড়া লাগাতে হয়, আর এই টুল জোড়া লাগায় না।
YouTube পেজে এটিই সবচেয়ে সাধারণ আশ্চর্য, তাই শুরুতেই বলে রাখা ভালো: সীমা সাধারণত 360p, কখনো 240p, আর এটি বাড়িয়ে দেওয়ার মতো কোনো সেটিং নেই। ডাউনলোডার YouTube যে প্রগ্রেসিভ MP4 একটি ফাইল হিসেবে প্রকাশ করে তা-ই দেয়। YouTube-এর দিকে একটি 1080p রেন্ডিশন আছে, কিন্তু একটিমাত্র ফাইল হিসেবে নয়।
মাক্সড আর অ্যাডাপ্টিভ — দুটি আলাদা জিনিস
YouTube প্রতিটি ভিডিও দুটি আকারে রাখে। মাক্সড ফরম্যাটে ছবি ও শব্দ একসাথে একটি MP4-এ থাকে — এমন ফাইল যা আপনি সেভ করে যেকোনো জায়গায় চালাতে পারেন। অ্যাডাপ্টিভ ফরম্যাট সেগুলো ভাগ করে: একটি কেবল-ভিডিও স্ট্রিম আর আলাদা একটি কেবল-অডিও স্ট্রিম, প্রতিটি ওই রেজোলিউশনের জন্য YouTube যে বিটরেট বেছেছে তাতে এনকোড করা।
ব্রাউজারে 1080p চালানো সহজ, কারণ প্লেয়ার দুটি স্ট্রিমই এনে সঙ্গে সঙ্গে জোড়া লাগায়। 1080p-কে একটিমাত্র ফাইল হিসেবে সেভ করা ভিন্ন কাজ: ট্র্যাকগুলো জোড়া লাগাতে হয়। এই ডাউনলোডারের সঙ্গে মাক্সার নেই, তাই এটি কেবল মাক্সড ফরম্যাট তালিকা করে — আর ক্রমে YouTube সেগুলো 360p ও তার নিচে দেয়। আগে যে 720p মাক্সড ফরম্যাট ছিল, তা আর নাম-না-জানা ক্লায়েন্টকে দেওয়া হয় না।
রিজলভার কী করে
- এটি YouTube-এর প্লেয়ার এন্ডপয়েন্টে একের পর এক অফিসিয়াল ক্লায়েন্ট পরিচয় নিয়ে জিজ্ঞাসা করে, Android ক্লায়েন্ট থেকে এমবেড করা ওয়েব প্লেয়ার পর্যন্ত।
- এটি কেবল মাক্সড MP4 এন্ট্রি রাখে, ফরম্যাট আইডি অনুযায়ী ডুপ্লিকেট বাদ দিয়ে।
- প্রতিটি সারিতে YouTube-এর নিজের কোয়ালিটি লেবেল লেখে, না থাকলে ফ্রেমের উচ্চতায় গিয়ে ভরসা করে।
- প্লেয়ার রাজি না হলে একটি oEmbed যাচাই তবুও বলে দেয় ভিডিওটি আছে কি না, তাই মুছে ফেলা ভিডিওকে আটকানো ভিডিও ভেবে ভুল হয় না।
এই ক্লায়েন্ট-সিঁড়ির কারণেই একবার ব্যর্থ হওয়া ভিডিও পরেরবার কাজ করতে পারে: আলাদা ক্লায়েন্টকে আলাদা ফরম্যাট দেওয়া হয়, আর সময়ের সঙ্গে YouTube কোনগুলো পাওয়া যাবে তা বদলায়।
লিংকটি নতুন ট্যাবে খোলে কেন
ভিডিওর বাইট আসে googlevideo.com থেকে, যা কোনো CORS হেডার পাঠায় না। পেজ সেগুলো পড়তে পারে না, তাই ডাউনলোড বোতামটি বদলে লিংকে নিয়ে যায় — আপনার ব্রাউজার সোজা Google-এর CDN থেকে ফাইলটি সেভ করে। দুটি খুঁটিনাটি এই নেভিগেশনকে কাজ করায়: রিজলভার URL-এ একটি title প্যারামিটার যোগ করে, যাতে Google-এর সার্ভার content-disposition: attachment দিয়ে উত্তর দেয় এবং ফাইলটি ট্যাবে চালানোর বদলে সেভ হয়।
কিছুই ক্যাশ হয় না কেন
অন্য প্রতিটি প্ল্যাটফর্মের ফল কয়েক মিনিট বা তার বেশি ক্যাশ থাকে। YouTube-এর ফল কখনো ক্যাশ হয় না, সচেতনভাবেই: googlevideo.com লিংক যে ঠিকানা চেয়েছে তার সঙ্গে বাঁধা থাকে আর তাড়াতাড়ি মেয়াদ শেষ হয়। ক্যাশ করা লিংক দেখতে ডাউনলোড বোতামের মতো লাগত অথচ মরা লিংকের মতো ব্যর্থ হতো, তাই রিজলভার প্রতিবার নতুন করে YouTube-কে জিজ্ঞাসা করে।
যা সমর্থিত নয়
| অবস্থা | ফল |
|---|---|
| পাবলিক ভিডিও | রিজলভ হয়; YouTube যে মাক্সড MP4 ফরম্যাট দেয়। |
| প্রাইভেট, শুধু সদস্যদের জন্য, বয়সসীমাবদ্ধ | private — রিজলভার কখনো সাইন-ইন করে না। |
| মুছে ফেলা বা সরানো ভিডিও | not_found। |
| চলমান লাইভ স্ট্রিম | স্ট্রিম চলার সময় কোনো মাক্সড ফাইল থাকে না। |
| Shorts | অন্য যেকোনো ভিডিওর মতোই কাজ করে, একই রেজোলিউশন সীমায়। |
সংক্ষেপে
- কেবল মাক্সড MP4 দেওয়া হয়, যা সাধারণত 360p।
- বেশি রেজোলিউশনের জন্য আলাদা ভিডিও ও অডিও স্ট্রিম জোড়া লাগানো দরকার; এই টুল সেগুলো জোড়া লাগায় না।
- কিছুই রি-এনকোড, ওয়াটারমার্ক বা রাখা হয় না।
- লিংক কখনো ক্যাশ হয় না, কারণ সেগুলো আপনার ঠিকানার সঙ্গে বাঁধা আর মেয়াদ শেষ হয়।
- কেবল পাবলিক ভিডিও — প্রাইভেট ও বয়সসীমাবদ্ধ ভিডিও আটকানোই থাকে।
প্রশ্ন
এটি কি YouTube থেকে 1080p ডাউনলোড করতে পারে?
না। YouTube 1080p আলাদা কেবল-ভিডিও ও কেবল-অডিও স্ট্রিমে রাখে, আর এই টুল সেগুলো জোড়া লাগায় না। এটি YouTube যে মাক্সড MP4 একটি ফাইল হিসেবে প্রকাশ করে তা-ই দেয়, যা সাধারণত 360p।
ভিডিওটি পেজে ডাউনলোড না হয়ে নতুন ট্যাবে খোলে কেন?
কারণ `googlevideo.com` কোনো CORS হেডার পাঠায় না, তাই পেজটি বাইট পড়তে পারে না। লিংকে একটি title প্যারামিটার থাকে যা Google-কে `content-disposition: attachment` দিয়ে উত্তর দিতে বাধ্য করে, তাই আপনার ব্রাউজার ফাইলটি চালানোর বদলে সেভ করে।
একই লিংকে কখনো আলাদা কোয়ালিটি দেখায় কেন?
রিজলভার কয়েকটি অফিসিয়াল ক্লায়েন্ট পরিচয় দিয়ে YouTube-কে জিজ্ঞাসা করে, আর তাদের সবাইকে একই ফরম্যাট দেওয়া হয় না। একটু পরে লিংকটি আবার আনলে তালিকা বদলাতে পারে।