Smacker (.smk) বোঝা: স্বর্ণযুগের PC গেমিংয়ের ক্লাসিক ভিডিও ফরম্যাট
যদি আপনি ১৯৯০-এর মাঝামাঝি থেকে শেষের দিকে অথবা ২০০০-এর শুরুর দিকে PC ভিডিও গেম খেলেন—যেমন Diablo, StarCraft, Baldur’s Gate, অথবা Warcraft II—তাহলে আপনি Smacker ভিডিও ফরম্যাট (.smk)-এর সম্মুখীন হয়েছেন।
হার্ডওয়্যার-অ্যাক্সেলারেটেড MPEG ডিকোডিং এবং নিবেদিত মাল্টি-কোর CPU গুলি স্ট্যান্ডার্ড হওয়ার আগে, সফটওয়্যার-শুধু ডিকম্প্রেশন দিয়ে মসৃণ, সিঙ্ক্রোনাইজড ফুল-মোশন ভিডিও (FMV) এবং মাল্টি-ট্র্যাক ডিজিটাল অডিও চালানো একটি বিশাল কম্পিউটিং চ্যালেঞ্জ ছিল। স্ট্যান্ডার্ড CD-ROM ড্রাইভগুলি ডেটা স্থানান্তর করত মাঝারি ১৫০ থেকে ৩০০ KB/s (১x থেকে ২x গতি) এ, এবং সাধারণ ৪৮৬ বা প্রারম্ভিক পেন্টিয়াম প্রসেসরগুলি ভারী ট্রান্সফর্ম কোডেক সামলাতে পারত না।
এটি সমাধান করতে, RAD Game Tools বিকাশ করেছে Smacker, একটি উচ্চ-দক্ষতা ভিডিও আর্কিটেকচার যা বিশেষভাবে সফটওয়্যার-শুধু ডিকম্প্রেশন জন্য অপ্টিমাইজড। এই পাইপলাইন দিয়ে উৎপাদিত র’ বা এনক্যাপসুলেটেড ভিডিও ফাইলগুলির .smk ফাইল এক্সটেনশন থাকে।
১. একটি SMK ফাইল কি?
একটি .smk ফাইল হল RAD Game Tools (এখন Epic Games-এর অংশ) দ্বারা তৈরি একটি মালিকানাধীন মাল্টিমিডিয়া কন্টেইনার এবং ভিডিও স্ট্রিম। প্রায় 1994 সালে পরিচিত, Smacker ডেভেলপারদেরকে একক-গতির CD-ROM থেকে সরাসরি 256-রঙের ফুল-মোশন সিনেমাটিক স্ট্রিম করতে অনুমতি দিয়েছিল, ফ্রেম ড্রপ না করে বা সিস্টেমকে স্থবির না করে।
আধুনিক ইন্টার-ফ্রেম কোডেকগুলোর তুলনায়, যা ভাসমান-বিন্দু গাণিতিক এবং ডিসক্রিট কোসাইন ট্রান্সফর্ম (DCT)-এর উপর ব্যাপকভাবে নির্ভর করে, Smacker প্রায় সম্পূর্ণভাবে পূর্ণসংখ্যা অপারেশন, লুকআপ টেবিল এবং নিম্ন-স্তরের x86 অ্যাসেম্বলি রুটিনের মাধ্যমে কার্যকর করার জন্য ডিজাইন করা হয়েছিল। এটি 1990-এর দশকের গেম সিনেমাটিক্সে আধিপত্য বিস্তার করেছিল, যতক্ষণ না RAD Game Tools 1999 সালে তার 24-বিট সত্য-রঙের উত্তরসূরি, Bink Video (.bik), পরিচয় করিয়ে দেয়।
২. Smacker কোডেকের মূল বৈশিষ্ট্যগুলি
Smacker-এর স্থায়ী প্রযুক্তিগত উত্তরাধিকার তার সূচিকৃত রঙের হার্ডওয়্যারে কম গণনামূলক জটিলতা এবং ভিজ্যুয়াল ফিডেলিটির মধ্যে সূক্ষ্মভাবে সমন্বিত ভারসাম্য থেকে উদ্ভূত:
৮-বিট ইনডেক্সড প্যালেট কোয়ান্টাইজেশন
মধ্য-১৯৯০-এর দশকে, অধিকাংশ PC ডিসপ্লে 256-রঙের VGA বা SVGA মোডে (8-বিট প্যালেট) কাজ করত। Smacker এই সীমাবদ্ধতাকে গ্রহণ করেছিল। 24-বিট RGB মান সংরক্ষণ করে এবং অপারেটিং সিস্টেমকে রিয়েল-টাইমে ধীর ডিথারিং করতে বাধ্য করার পরিবর্তে, Smacker সরাসরি গতিশীল 256-রঙের প্যালেটের বিরুদ্ধে ভিডিও ফ্রেম কম্প্রেস করত।
ফ্রেম-বাই-ফ্রেম প্যালেট মর্ফিং ও সাইক্লিং
Smacker ফ্রেমগুলোর মধ্যে সিমলেস প্যালেট আপডেট সমর্থন করত। যদি কোনো ইন-গেম কাটসিন উজ্জ্বল দিনের আলো থেকে অন্ধকার গুহায় পরিবর্তিত হয়, তবে .smk ফাইল নির্দিষ্ট কীফ্রেমে লোকালাইজড প্যালেট পরিবর্তন বা সম্পূর্ণ প্যালেট সুইপ প্রয়োগ করতে পারত, যা ব্যান্ডিং এবং রঙের বিকৃতি এড়িয়ে যেত।
ভেক্টর কোয়ান্টাইজেশন ও ব্লক ডিকম্পোজিশন
একটি .smk স্ট্রিমের ফ্রেমগুলোকে $4 \times 4$ পিক্সেল ব্লকে ভাগ করা হয়। Smacker ভেক্টর কোয়ান্টাইজেশন প্রযুক্তি ব্যবহার করে এবং প্রতি ব্লকের জন্য একটি সংক্ষিপ্ত অপারেশনাল মোডের সেটের সঙ্গে যুক্ত করে:
- Skip: পূর্বের ফ্রেমের পিক্সেলগুলো বজায় রাখে।
- Solid/Single Color: পুরো $4 \times 4$ ব্লকটি একটি একক প্যালেট ইনডেক্স দিয়ে পূরণ করে।
- Two-Color / Bitmask: দুটি প্যালেট এন্ট্রি নির্ধারণ করে এবং প্রতিটি পিক্সেল ম্যাপ করতে 16-বিট মাস্ক ব্যবহার করে।
- Full Data: জটিল মুভমেন্ট ঘটলে সরাসরি বিশদ পিক্সেল সিকোয়েন্স সংরক্ষণ করে।
এই ব্লক-স্তরের শ্রেণীবিভাগ স্থির ব্যাকগ্রাউন্ড এবং লোকালাইজড অ্যাকশন (যেমন কথা বলা হেডস বা স্ক্রলিং মেনু) সহ দৃশ্যগুলোকে নগণ্য ডেটা রেট পর্যন্ত কম্প্রেস করতে সক্ষম করেছিল।
নেটিভ মাল্টি-ট্র্যাক অডিও মাল্টিপ্লেক্সিং
Smacker প্রথম গেম-কেন্দ্রিক ফরম্যাটগুলোর মধ্যে একটি ছিল যা ইন্টিগ্রেটেড মাল্টি-চ্যানেল, মাল্টি-ট্র্যাক অডিও সমর্থন করত। ডেভেলপাররা কম্প্রেসড মনো বা স্টেরিও সাউন্ডকে সরাসরি ভিডিও চাঙ্কের পাশে ইন্টারলিভ করতে পারত। এই আর্কিটেকচার সমর্থন করত:
- স্থানীয় অসংকুচিত PCM অডিও।
- RAD-এর স্বত্বাধিকারী অভিযোজ্য DPCM-ভিত্তিক অডিও সংকোচন (অডিওকে ৪-বিট উপস্থাপনে কম্পিউটার সিপিইউ ওভারহেড কমিয়ে সংকুচিত করা)।
- আন্তর্জাতিক গেম লোকালাইজেশনের জন্য স্বাধীন ভাষা ট্র্যাক, মূল ভিডিও ট্র্যাক ডুপ্লিকেট না করে।
অসাম্য ডিজাইন (দ্রুত এনকোডিংয়ের উপর দ্রুত ডিকম্প্রেশন)
Smacker-এর সংকোচন অ্যালগরিদমগুলি ইচ্ছাকৃতভাবে অসমমিত ছিল: এনকোডিংয়ে উল্লেখযোগ্য সময় ও গাণিতিক অপ্টিমাইজেশন প্রয়োজন হতো, তবে ডিকোডিংয়ের জন্য কেবল ন্যূনতম সিপিইউ সাইকেল দরকার ছিল। একটি মাঝারি 33 MHz 486 কম্পিউটার রিয়েল-টাইমে 15 থেকে 30 FPS Smacker ভিডিও ডিকোড করতে পারত, একই সঙ্গে অডিও সিঙ্ক্রোনাইজেশন বজায় রাখত।
3. মূল বৈশিষ্ট্যগুলির সংক্ষিপ্তসার
| বৈশিষ্ট্য | নির্দিষ্টকরণ |
|---|---|
| ডেভেলপার | RAD গেম টুলস (2021 সালে এপিক গেমস দ্বারা অধিগৃহীত) |
| প্রাথমিক রিলিজ | 1994 |
| ফাইল এক্সটেনশন | .smk |
| উত্তরসূরি | বিঙ্ক ভিডিও (.bik, .bk2) |
| রঙের গভীরতা | ৮-বিট ইনডেক্সড (প্রতি ফ্রেমে ২৫৬টি নির্বাচনযোগ্য রঙ) |
| রূপান্তর পদ্ধতি | স্থানিক ভেক্টর কোয়ান্টাইজেশন ($4 \times 4$ ব্লক পার্টিশনিং) |
| সময়গত সংকোচন | ইন্টার-ফ্রেম ব্লক ম্যাচিং প্যালেট সাইকেল ট্র্যাকিং সহ |
| অডিও ফরম্যাট | লিনিয়ার PCM, Smacker 4-বিট DPCM, মাল্টি-ট্র্যাক চ্যানেল |
| প্রাথমিক শিল্প ব্যবহার | ভিডিও গেমের কাটসিন, ইন্ট্রো সিনেমাটিক্স, অ্যানিমেটেড লোগো |
| ডিকোডিং সাপোর্ট | FFmpeg, Libavcodec, RAD Video Tools এর মাধ্যমে বিল্ট-ইন |
৪. কীভাবে .smk ভিডিও ফাইল খুলবেন এবং চালাবেন
কারণ আধুনিক মিডিয়া প্লেয়ারগুলো আর ডিফল্টভাবে লিগেসি ৮-বিট গেম ভিডিওর সমর্থন প্রদান করে না, তাই Windows Media Player বা QuickTime এর মতো স্ট্যান্ডার্ড অ্যাপ্লিকেশনগুলো .smk ফাইল খুলতে ব্যর্থ হবে। আপনি নিম্নলিখিত টুলগুলি ব্যবহার করে সেগুলি নির্ভরযোগ্যভাবে চালাতে পারেন:
পদ্ধতি ১: VLC মিডিয়া প্লেয়ার (ক্রস-প্ল্যাটফর্ম)
VLC-তে FFmpeg এর libavcodec এর মাধ্যমে Smacker ভিডিও এবং অডিওর জন্য নেটিভ ডিকোডিং সাপোর্ট অন্তর্ভুক্ত রয়েছে:
- ডাউনলোড করুন এবং VLC Media Player চালু করুন।
.smkফাইলটি সরাসরি VLC উইন্ডোতে ড্র্যাগ এবং ড্রপ করুন।- নোট: যদি রঙগুলি অতিরিক্ত স্যাচুরেটেড বা শিফটেড দেখায়, তবে VLC-এর হার্ডওয়্যার ভিডিও এক্সেলারেশনকে সাময়িকভাবে
Tools > Preferences > Input / Codecsএ বন্ধ করা যেতে পারে যাতে সফটওয়্যার কালার ম্যাপার সরাসরি ৮-বিট প্যালেট রেন্ডার করতে পারে।
পদ্ধতি ২: FFplay (কমান্ড লাইন)
যদি আপনার কাছে FFmpeg স্যুট ইনস্টল করা থাকে, সংযুক্ত ffplay ইউটিলিটি হল .smk স্ট্রিম রেন্ডার করার সবচেয়ে দ্রুত, সর্বোচ্চ সঠিক পদ্ধতি:
ffplay cutscene.smk
পদ্ধতি ৩: দ্য RAD ভিডিও টুলস (উইন্ডোজ)
RAD Game Tools এখনও The RAD Video Tools ইউটিলিটি স্যুট প্রদান করে:
- অফিসিয়াল Epic Games / RAD ওয়েবসাইট থেকে The RAD Video Tools ডাউনলোড এবং ইনস্টল করুন।
- ইউটিলিটি চালু করুন এবং আপনার ফাইলসিস্টেমে নেভিগেট করে লক্ষ্য
.smkফাইলটি হাইলাইট করুন। - মূল, প্রামাণিক স্কেলিং এবং প্যালেট টাইমিং সহ সিনেমাটিক দেখতে Play বোতামে ক্লিক করুন।
৫. কীভাবে .smk ভিডিও তৈরি এবং রূপান্তর করবেন
আপনি কি এখনও নেটিভ .smk ফাইল তৈরি করতে পারেন?
আধুনিক ডেভেলপাররা আজকাল মূল .smk ফাইল খুব কমই তৈরি করে কারণ আধুনিক হার্ডওয়্যার সহজে 4K 10-bit HEVC বা AV1 ডিকোড করে। তবে, যদি আপনি হোমব্রু সফটওয়্যার ডেভেলপ করছেন, ক্লাসিক গেম মডিং করছেন, অথবা রেট্রো পিসি প্রকল্প তৈরি করছেন:
- The RAD Video Tools-এ লিগেসি “Smack” কম্প্রেসর রয়েছে। আপনি একটি আনকমপ্রেসড
.aviবা ইমেজ সিকোয়েন্স লোড করে তা.smkতে এনকোড করতে পারেন। - দ্রষ্টব্য: FFmpeg-এ একটি নেটিভ Smacker ডিকোডার অন্তর্ভুক্ত আছে, তবে ফরম্যাটের মালিকানাধীন, পুরোনো প্রকৃতির কারণে এতে নেটিভ Smacker এনকোডার নেই।
.smk কে আধুনিক MP4 (H.264 / AAC) তে রূপান্তর করা
ভিন্টেজ কাটসিন সংরক্ষণ করতে বা সেগুলো আধুনিক প্ল্যাটফর্মে (যেমন ইউটিউব বা ওয়েব ব্রাউজার) আপলোড করতে, FFmpeg ব্যবহার করে MP4 তে রূপান্তর করুন:
# Convert classic Smacker video to modern universally compatible MP4
ffmpeg -i intro.smk -c:v libx264 -pix_fmt yuv420p -crf 18 -c:a aac -b:a 192k intro_restored.mp4
টিপ: কারণ .smk ইনডেক্সড রঙের প্যালেট ব্যবহার করে, -pix_fmt yuv420p বাধ্যতামূলকভাবে ব্যবহার করলে আধুনিক মোবাইল ডিভাইস এবং ওয়েব ব্রাউজারগুলো ভিডিওটি কালো-স্ক্রিন প্লেব্যাক ত্রুটি ছাড়াই রেন্ডার করবে।
৬. প্রায়শই জিজ্ঞাসিত প্রশ্নাবলী (FAQ)
**Q1: গেম ডেভেলপাররা SMK ফাইল ব্যবহার করার প্রধান কারণ কী ছিল? স্ম্যাকার ধীর CD-ROM ড্রাইভ এবং কম পাওয়ারের CPU-তে মসৃণ, সিঙ্ক্রোনাইজড ভিডিও প্লেব্যাক সম্ভব করেছিল, হার্ডওয়্যার ডিকোডার প্রয়োজন ছাড়াই।
**Q2: SMK ফাইল এবং BIK ফাইলের মধ্যে পার্থক্য কী?
স্ম্যাকার (.smk) 256 রঙ (8-বিট) পর্যন্ত সীমাবদ্ধ, যেখানে এর উত্তরসূরি, Bink Video (.bik), পূর্ণ 24-বিট সত্যিকারের রঙ এবং উচ্চতর রেজোলিউশন সমর্থন করে।
**Q3: আধুনিক ওয়েব ব্রাউজারগুলো কি .smk ফাইল নেটিভভাবে চালাতে পারে? না, আধুনিক ওয়েব ব্রাউজারগুলো স্ম্যাকার কোডেক সমর্থন করে না এবং ফাইলগুলোকে প্রথমে MP4 বা WebM-এ রূপান্তর করা প্রয়োজন।
**Q4: একটি SMK ফাইল কি একসাথে একাধিক অডিও ভাষা সমর্থন করে? হ্যাঁ, Smacker কন্টেইনার একাধিক স্বাধীন অডিও ট্র্যাককে ভিডিওর পাশে আন্তঃবিন্যস্ত করে লোকালাইজড কাটসিনের জন্য অনুমতি দেয়।
**Q5: আজ Smacker ভিডিও প্রযুক্তির মালিক কে? জানুয়ারি ২০২১-এ RAD Game Tools অধিগ্রহণের পরে Epic Games Smacker-এর মালিক।
7. রেফারেন্স এবং উপযোগী সম্পদ
- RAD Game Tools অফিসিয়াল পোর্টাল: RAD Game Tools ওভারভিউ (Epic Games)
- Multimedia Wiki Smacker স্পেসিফিকেশন: Multimedia Wiki - Smacker টেকনিক্যাল বিশ্লেষণ
- FFmpeg কোডেক ডকুমেন্টেশন: FFmpeg সমর্থিত ভিডিও ফরম্যাট এবং ডিকোডার
- FileInfo রেফারেন্স: SMK ফাইল এক্সটেনশন ব্যাখ্যা করা