Instagram রিলস: MP4 কোথা থেকে আসে
রিল, ফিড ভিডিও আর IGTV ক্লিপ — সবই একইভাবে দেওয়া হয়: Instagram প্রতি পোস্টে কয়েকটি MP4 রেন্ডিশন রাখে আর ডাউনলোডার কেবল সেই পোস্টে সত্যিই যা আছে তা তালিকা করে।
Instagram-এর লিংকে থাকে একটি শর্টকোড — পোস্ট URL-এর Db3xk2LtQp1 অংশটি। ওই কোডটি পোস্টের সংখ্যাসূচক মিডিয়া আইডির base64-ধাঁচের এনকোডিং, আর রিজলভার Instagram-কে কিছু জিজ্ঞাসা করার আগেই তা নিজের কাছেই ডিকোড করে নেয়। এজন্যই প্রোফাইল লিংক কাজ করে না: রিজলভ করার মতো পোস্ট নেই, কেবল তাদের ভরা একটি পেজ আছে।
অ্যাকাউন্ট ছাড়া একটি পাবলিক পোস্ট পড়া
রিজলভার Instagram-এর নিজের মোবাইল মিডিয়া এন্ডপয়েন্ট (i.instagram.com/api/v1/media/<id>/info/) কল করে, Instagram-এর ওয়েব ক্লায়েন্ট যে অ্যাপ আইডি ব্যবহার করে সেটি ও একটি মোবাইল ইউজার এজেন্ট দিয়ে। লগইন পেজে রিডাইরেক্ট — পোস্ট পাবলিক নয় বোঝার আদর্শ চিহ্ন — private হিসেবে ধরা হয় আর রিজলভার ওখানেই থামে।
ওই এন্ডপয়েন্ট রাজি না হলে দুটি বিকল্প আছে: পোস্টের পাবলিক এমবেড পেজ, যেখানে এখনো ভিডিওর মার্কআপ থাকে, আর একটি অস্তিত্ব-যাচাই যা মুছে ফেলা পোস্টকে প্রাইভেট পোস্ট থেকে আলাদা করতে পারে। ক্রমটাই গুরুত্বপূর্ণ। মুছে ফেলা পোস্ট not_found উত্তর দেয়; প্রাইভেট পোস্ট private দেয়; কোনোটিকেই অনন্তকাল আবার চেষ্টা করা হয় না।
কোয়ালিটি তালিকা ছোট বাহুর নাম নেয় কেন
Instagram একটি খাড়া রিল রাখে 1080×1920-এর মতো মাপে। ওই ফাইলকে “1080p” লেবেল দেওয়া কারিগরিভাবে সত্য, কিন্তু বাস্তবে বিভ্রান্তিকর, কারণ 1080 হলো পোর্ট্রেট ভিডিওর প্রস্থ, উচ্চতা নয়। রিজলভার প্রতিটি লেবেলের জন্য ফ্রেমের ছোট বাহুটি ব্যবহার করে, তাই একটি 1080×1920 রিল আর একটি 1920×1080 ল্যান্ডস্কেপ ভিডিও — দুটোই 1080p হিসেবে পড়া হয়।
- সর্বোচ্চ চারটি রেন্ডিশন তালিকাভুক্ত হয়, প্রতিটি আলাদা পিক্সেল-মাপে।
- ডুপ্লিকেট ও প্রায়-ডুপ্লিকেট বাদ পড়ে, তাই তালিকায় একই ফ্রেম দুবার দেখায় না।
- তালিকা সবচেয়ে লম্বা আগে সাজানো, তাই ওপরের সারিটিই ওই পোস্টের জন্য Instagram-এর প্রকাশ করা সেরা।
- ফাইলের সাইজ আসে একটি HEAD রিকোয়েস্ট থেকে, আর Instagram উত্তর না দিলে সেটি খালি রাখা হয়।
এটি পেজেই ডাউনলোড হয় কেন
Instagram-এর মিডিয়া CDN access-control-allow-origin: * পাঠায়, Pinterest বা YouTube-এর মতো নয়। তাই ব্রাউজার ফাইলটি পড়তে পারে, আর এজন্যই পেজটি প্রোগ্রেসসহ আসল ডাউনলোড দেখাতে পারে। রিজলভার প্রতিটি লিংকে &dl=1 যোগ করে, তাই URL কপি করে নতুন ট্যাবে খুললেও Instagram-এর CDN সেটি চালানোর চেষ্টা না করে অ্যাটাচমেন্ট হিসেবে দেয়।
সীমাগুলো, সোজা কথায়
| অবস্থা | ফল |
|---|---|
| পাবলিক রিল, ভিডিও বা IGTV পোস্ট | রিজলভ হয়, সর্বোচ্চ চারটি কোয়ালিটি। |
| প্রাইভেট অ্যাকাউন্ট বা লগইনের আড়ালের পোস্ট | private — Instagram নাম-না-জানা পাঠককে লগইনে পাঠায়। |
| শুধু ছবির পোস্ট বা ভিডিওহীন ক্যারোসেল | no_video। |
| মুছে ফেলা পোস্ট | not_found। |
| Stories, হাইলাইট, প্রোফাইল পেজ | সমর্থিত নয়: পড়ার মতো কোনো পাবলিক পোস্ট নেই। |
রিকোয়েস্টের সংখ্যা নিয়ে Instagram এখানকার সবচেয়ে কৃপণ প্ল্যাটফর্মও: এর রিজলভার প্রতি ঠিকানায় মিনিটে বারোটি লুকআপ অনুমোদন করে, যেখানে অন্যরা ত্রিশ বা চল্লিশ দেয়। এটি সচেতনভাবে রাখা রক্ষণশীল সীমা — Instagram-এর এন্ডপয়েন্টে বারবার আঘাত করাই তাদের উত্তর দেওয়া বন্ধ করানোর দ্রুততম উপায়।
সংক্ষেপে
- শর্টকোড নিজের কাছেই ডিকোড হয়; রিজলভার শুরু করে পোস্ট আইডি থেকে।
- কেবল পাবলিক পোস্ট রিজলভ হয় — Instagram-এর লগইন রিডাইরেক্টকে প্রাইভেট ধরা হয়।
- কোয়ালিটি লেবেল ফ্রেমের ছোট বাহুর নাম নেয়, আর সর্বোচ্চ চারটি মাপ তালিকাভুক্ত হয়।
- ফাইলটি পেজেই ডাউনলোড হয়, সোজা Instagram-এর CDN থেকে।
- কিছুই সংরক্ষণ, রি-এনকোড বা রি-হোস্ট করা হয় না।
প্রশ্ন
একটি রিল 4K-এ ডাউনলোড করা যায় না কেন?
কারণ Instagram কেবল ওই পোস্টের জন্য সে যে রেন্ডিশন এনকোড করেছে তা-ই রাখে। তালিকা Instagram-এর প্রকাশ করা সবচেয়ে বড়গুলো দেখায়, যা বেশিরভাগ রিলের ক্ষেত্রে অ্যাপটি নিজেই যে ফাইল চালায় সেটিই।
রিল ডাউনলোড করতে Instagram অ্যাকাউন্ট লাগে?
না। পাবলিক পোস্ট Instagram-এর নিজের পাবলিক এন্ডপয়েন্ট দিয়ে সাইন-ইন ছাড়াই পড়া হয়। অন্যদিকে প্রাইভেট পোস্ট আদৌ পড়া যায় না — Instagram নাম-না-জানা পাঠককে লগইন পেজে পাঠায়।
খাড়া রিলে “1080p” লেবেলের মানে কী?
এটি ফ্রেমের ছোট বাহুর নাম নেয়। একটি 1080×1920 রিল আর একটি 1920×1080 ল্যান্ডস্কেপ ভিডিও — দুটোকেই 1080p লেবেল দেওয়া হয়, তাই লেবেলটি সব অভিমুখে তুলনাযোগ্য থাকে।