কনটেন্টে যান

Steam ট্রেলার আসলে HLS: MP4 জোড়া লাগে আপনার ব্রাউজারেই

Steam ট্রেলার ধরে ফেলার মতো কোনো ফাইল নয় — এটি ফ্র্যাগমেন্টের একটি প্লেলিস্ট। ডাউনলোডার প্লেলিস্টের কোয়ালিটিগুলো পড়ে, আর আপনার ব্রাউজার সেগুলো জোড়া লাগিয়ে একটি MP4 বানায়।

Steam আগে ট্রেলার সাধারণ MP4 ও WebM ফাইল হিসেবে প্রকাশ করত, আর সেই ফিল্ডগুলো এখনো তার স্টোর API-তে আছে। কিন্তু এখন সেগুলো সবসময় খালি। বদলে Steam যে জিনিস প্রকাশ করে তা হলো একটি HLS মাস্টার প্লেলিস্ট: ছোট একটি টেক্সট ফাইল যা ট্রেলারের রেন্ডিশন বর্ণনা করে আর কয়েক সেকেন্ডের ফ্র্যাগমেন্টের দিকে ইশারা করে।

আগে প্লেলিস্ট, পরে ফ্র্যাগমেন্ট

এখানে রিজলভারের কাজ আগেই শেষ। সে স্টোর পেজের মেটাডেটা পড়ে, ট্রেলারের মাস্টার প্লেলিস্ট URL নেয়, তা পার্স করে, আর প্রতি রেন্ডিশনে একটি করে সারি ফেরত দেয় — তার রেজোলিউশন, বিটরেট ও ফ্রেম রেট সহ। সে কখনো ভিডিও ফ্র্যাগমেন্ট আনে না, কিছু জোড়াও লাগায় না — তা করতে হলে বিনা কারণে পুরো ভিডিও একটি সার্ভার দিয়ে চালাতে হতো।

রিজলভার যা পড়েতারপর ব্রাউজার যা করে
মাস্টার প্লেলিস্ট: রেন্ডিশন, রেজোলিউশন, বিটরেট, অডিও গ্রুপআপনি যে রেন্ডিশন বেছেছেন তা বেছে নেয়
প্লেলিস্টের ভেতরের সেগমেন্ট টেমপ্লেটSteam-এর CDN থেকে ওই রেন্ডিশনের ফ্র্যাগমেন্ট এনে জোড়া লাগায়
মাস্টার যে অডিও গ্রুপের নাম বলেভিডিও আর AAC অডিও ট্র্যাক একটিমাত্র MP4-তে মিলিয়ে দেয়

জোড়া লাগানো হয় আগেই খোলা ট্যাবেই, Steam-এর নিজের CDN (video.akamai.steamstatic.com) থেকে। দুই মিনিটের ট্রেলারে ফ্র্যাগমেন্ট থাকে প্রায় নব্বইটি, তাই সাধারণ সংযোগে প্রোগ্রেস বার কয়েক সেকেন্ডেই ভরে যায়।

কোয়ালিটি তালিকা পড়া

ফ্র্যাগমেন্টগুলো বাইটে বাইটে তৈরি MP4-তে কপি হয়। ছবি ও শব্দ ঠিক সেটিই যা Steam-এর নিজের ক্লায়েন্ট ওই রেজোলিউশনে চালায় — জোড়া লাগানো কেবল কনটেইনার বদল, রি-এনকোড নয়, তাই পথে কিছুই নরম হয়ে যায় না।

কী কী ভুল হতে পারে

দুটি জিনিস, দুটোই ভিডিও নয়, নেটওয়ার্ক নিয়ে। Steam-এর স্টোর মেটাডেটা উত্তর না দিলে রিজলভার ব্যর্থতা জানানোর আগে একবার আবার চেষ্টা করে। প্লেলিস্টটি নিজেই পার্স করা না গেলে একই পুনঃপ্রচেষ্টা প্রযোজ্য — আর তাতেও ব্যর্থ হলে, শেষ না হওয়া ডাউনলোডের প্রস্তাব না দিয়ে পেজটি তা জানিয়ে দেয়।

ভিডিওহীন একটি গেম পেজ no_video ফেরত দেয়। এর মধ্যে সেই পেজগুলোও পড়ে যাদের একমাত্র মিডিয়া স্ক্রিনশট গ্যালারি, যা মুক্তি না পাওয়া গেমের ক্ষেত্রে সাধারণ ব্যাপার।

সংক্ষেপে

প্রশ্ন

ডাউনলোড করা ট্রেলার কি Steam যে ট্রেলার চালায় তার চেয়ে নিম্নমানের?

না। ফ্র্যাগমেন্টগুলো বাইটে বাইটে MP4-তে কপি হয়, তাই ছবি ও শব্দ আপনি যে রেন্ডিশন বেছেছেন তার সঙ্গে মেলে — Steam-এর নিজের ক্লায়েন্ট ওই রেজোলিউশনে যে স্ট্রিম চালায় ঠিক সেটিই।

Pinterest-এর ডাউনলোডে নেই, অথচ Steam-এর ডাউনলোডে প্রোগ্রেস বার দেখায় কেন?

কারণ Steam-এর CDN ব্রাউজারকে ফ্র্যাগমেন্ট পড়তে দেয়, তাই পেজটি সত্যিই ফাইলটি ডাউনলোড করে আর প্রোগ্রেস জানাতে পারে। Pinterest-এর CDN দেয় না, তাই সেই ডাউনলোডকে সাধারণ নেভিগেশনই হতে হয়।

একটি গেম পেজে কোনো ভিডিও দেখায় না — কেন?

ওই পেজে কোনো ট্রেলার বা গেমপ্লে ক্লিপ যুক্ত নেই। স্ক্রিনশট গ্যালারি ভিডিও নয়, আর মুক্তি না পাওয়া গেমে প্রায়ই লঞ্চের কাছে যাওয়ার আগে কোনোটিই থাকে না।

এই নিবন্ধের টুল

সব নিবন্ধ