Smacker (.smk) को समझना: स्वर्ण युग के पीसी गेमिंग का क्लासिक वीडियो फ़ॉर्मेट
यदि आपने 1990 के मध्य से देर तक या 2000 के शुरुआती वर्षों में PC वीडियो गेम खेले—जैसे Diablo, StarCraft, Baldur’s Gate, या Warcraft II—तो आप Smacker वीडियो फ़ॉर्मेट (.smk) से परिचित हुए होंगे।
हार्डवेयर-त्वरित MPEG डिकोडिंग और समर्पित मल्टी-कोर CPU के व्यक्तिगत कंप्यूटरों में मानक बनने से पहले, मल्टी-ट्रैक डिजिटल ऑडियो के साथ सुगम, समकालिक फुल-मोशन वीडियो (FMV) चलाना एक बड़ी कंप्यूटिंग चुनौती थी। मानक CD-ROM ड्राइव्स डेटा को लगभग 150 से 300 KB/s (1x से 2x गति) पर स्थानांतरित करती थीं, और सामान्य 486 या शुरुआती Pentium प्रोसेसर भारी ट्रांसफ़ॉर्म कोडेक्स को संभाल नहीं सकते थे।
इसे हल करने के लिए, RAD Game Tools ने Smacker विकसित किया, एक उच्च-क्षमता वाला वीडियो आर्किटेक्चर जो विशेष रूप से केवल-सॉफ़्टवेयर डिकम्प्रेशन के लिए अनुकूलित है। इस पाइपलाइन से निर्मित कच्चे या संलग्नित वीडियो फ़ाइलों में .smk फ़ाइल एक्सटेंशन होता है।
1. SMK फ़ाइल क्या है?
एक .smk फ़ाइल एक स्वामित्व वाली मल्टीमीडिया कंटेनर और वीडियो स्ट्रीम है जिसे RAD Game Tools (अब Epic Games का हिस्सा) ने बनाया है। लगभग 1994 में पेश किया गया, Smacker ने डेवलपर्स को 256‑रंग की फुल‑मोशन सिनेमैटिक्स को सीधे सिंगल‑स्पीड CD-ROM से स्ट्रीम करने की अनुमति दी, बिना फ्रेम ड्रॉप किए या सिस्टम को रोकें।
आधुनिक इंटर‑फ़्रेम कोडेक्स जो फ्लोटिंग‑पॉइंट अंकगणित और डिस्क्रीट कोसाइन ट्रांसफ़ॉर्म (DCT) पर बहुत अधिक निर्भर होते हैं, उनके विपरीत Smacker को लगभग पूरी तरह से पूर्णांक ऑपरेशन्स, लुकअप टेबल्स और लो‑लेवल x86 असेंबली रूटीन के माध्यम से चलाने के लिए डिज़ाइन किया गया था। यह 1990 के दशक के गेम सिनेमैटिक्स पर हावी रहा जब तक RAD Game Tools ने 1999 में अपने 24‑बिट ट्रू‑कलर उत्तराधिकारी, Bink Video (.bik), को पेश नहीं किया।
2. Smacker कोडेक की मुख्य विशेषताएँ
Smacker की स्थायी तकनीकी विरासत उसके अनुकूलित संतुलन से उत्पन्न होती है, जो इंडेक्स्ड कलर हार्डवेयर पर कम गणनात्मक जटिलता और दृश्य गुणवत्ता के बीच होता है:
8-बिट इंडेक्स्ड पैलेट क्वांटाइज़ेशन
1990 के मध्य में, अधिकांश 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-आधारित ऑडियो संपीड़न (ऑडियो को न्यूनतम CPU ओवरहेड के साथ 4-बिट प्रतिनिधित्व तक संकुचित करना)।
- अंतर्राष्ट्रीय गेम स्थानीयकरण के लिए स्वतंत्र भाषा ट्रैक, मूल वीडियो ट्रैक को दोहराए बिना।
असममित डिज़ाइन (तेज़ डिकम्प्रेशन तेज एन्कोडिंग से अधिक)
Smacker के संपीड़न एल्गोरिदम जानबूझकर असममित थे: एन्कोडिंग में काफी समय और गणितीय अनुकूलन लगते थे, लेकिन डिकम्प्रेशन के लिए केवल न्यूनतम CPU चक्रों की आवश्यकता होती थी। एक साधारण 33 MHz 486 कंप्यूटर वास्तविक समय में 15‑से‑30 FPS Smacker वीडियो को डिकोड कर सकता था जबकि ऑडियो सिंक्रनाइज़ेशन बनाए रखता था।
3. मुख्य विशेषताओं का सारांश
| विशेषता | विशिष्टता |
|---|---|
| डेवलपर | RAD गेम टूल्स (2021 में एपीक गेम्स द्वारा अधिग्रहित) |
| प्रारंभिक रिलीज़ | 1994 |
| फ़ाइल एक्सटेंशन | .smk |
| उत्तराधिकारी | Bink वीडियो (.bik, .bk2) |
| रंग गहराई | 8-बिट इंडेक्स्ड (प्रति फ्रेम 256 चयन योग्य रंग) |
| ट्रांसफ़ॉर्म विधि | स्पैशियल वेक्टर क्वांटाइज़ेशन ($$4 \times 4$$ ब्लॉक विभाजन) |
| टेम्पोरल संपीड़न | इंटर-फ़्रेम ब्लॉक मिलान, पैलेट साइकिल ट्रैकिंग के साथ |
| ऑडियो फ़ॉर्मेट | लीनियर PCM, Smacker 4-bit DPCM, मल्टी-ट्रैक चैनल |
| प्राथमिक उद्योग उपयोग | वीडियो गेम कटसीन्स, इंट्रो सिनेमैटिक्स, एनीमेटेड लोगो |
| डिकोडिंग समर्थन | FFmpeg, Libavcodec, RAD Video Tools के माध्यम से अंतर्निहित |
4. .smk वीडियो फ़ाइलें कैसे खोलें और चलाएँ
क्योंकि आधुनिक मीडिया प्लेयर अब लेगेसी 8-बिट गेम वीडियो के लिए बॉक्स से बाहर समर्थन नहीं देते, Windows Media Player या QuickTime जैसे मानक अनुप्रयोग .smk फ़ाइलें खोलने में विफल रहेंगे। आप निम्नलिखित टूल्स का उपयोग करके इन्हें विश्वसनीय रूप से चला सकते हैं:
विधि 1: VLC मीडिया प्लेयर (क्रॉस-प्लेटफ़ॉर्म)
VLC में FFmpeg के libavcodec के माध्यम से Smacker वीडियो और ऑडियो के लिए मूल डिकोडिंग समर्थन शामिल है:
- डाउनलोड करें और VLC Media Player लॉन्च करें।
.smkफ़ाइल को सीधे VLC विंडो में ड्रैग और ड्रॉप करें।- नोट: यदि रंग अत्यधिक संतृप्त या शिफ्टेड दिखें, तो VLC की हार्डवेयर वीडियो एक्सेलेरेशन को
Tools > Preferences > Input / Codecsमें अस्थायी रूप से बंद किया जा सकता है ताकि सॉफ़्टवेयर कलर मैपर 8-बिट पैलेट को सीधे रेंडर कर सके।
विधि 2: FFplay (कमांड लाइन)
यदि आपके पास FFmpeg सूट स्थापित है, तो बंडल किया गया ffplay यूटिलिटी .smk स्ट्रीम को रेंडर करने का सबसे तेज़, सबसे सटीक तरीका है:
ffplay cutscene.smk
विधि 3: द RAD वीडियो टूल्स (विंडोज़)
RAD Game Tools लगातार The RAD Video Tools यूटिलिटी सूट प्रदान करता रहता है:
- आधिकारिक Epic Games / RAD वेबसाइट से The RAD Video Tools डाउनलोड करें और स्थापित करें।
- यूटिलिटी लॉन्च करें और अपने फ़ाइल सिस्टम में नेविगेट करके लक्ष्य
.smkफ़ाइल को हाइलाइट करें। - सिनेमैटिक को उसके मूल, प्रामाणिक स्केलिंग और पैलेट टाइमिंग्स के साथ देखने के लिए Play बटन पर क्लिक करें।
5. .smk वीडियो कैसे बनाएं और परिवर्तित करें
क्या आप अभी भी मूल .smk फ़ाइलें बना सकते हैं?
आधुनिक डेवलपर्स आज मूल .smk फ़ाइलें बहुत कम बनाते हैं क्योंकि आधुनिक हार्डवेयर आसानी से 4K 10-बिट HEVC या AV1 को डिकोड करता है। हालांकि, यदि आप होमब्रू सॉफ़्टवेयर विकसित कर रहे हैं, क्लासिक गेम्स को मॉड कर रहे हैं, या रेट्रो पीसी प्रोजेक्ट बना रहे हैं:
- The RAD Video Tools में लेगेसी “Smack” कंप्रेसर शामिल है। आप एक अनकम्प्रेस्ड
.aviया इमेज सीक्वेंस लोड करके उसे.smkमें एन्कोड कर सकते हैं। - Note: FFmpeg में एक नेटिव Smacker decoder शामिल है, लेकिन फ़ॉर्मेट की स्वामित्व, पुरानी प्रकृति के कारण इसमें नेटिव Smacker encoder नहीं है।
.smk को आधुनिक MP4 (H.264 / AAC) में बदलना
विंटेज कटसीन्स को संरक्षित करने या उन्हें आधुनिक प्लेटफ़ॉर्म (जैसे YouTube या वेब ब्राउज़र) पर अपलोड करने के लिए, 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
Tip: क्योंकि .smk इंडेक्स्ड कलर पैलेट्स का उपयोग करता है, -pix_fmt yuv420p को फोर्स करने से यह सुनिश्चित होता है कि आधुनिक मोबाइल डिवाइस और वेब ब्राउज़र वीडियो को ब्लैक-स्क्रीन प्लेबैक त्रुटियों के बिना रेंडर करेंगे।
6. अक्सर पूछे जाने वाले प्रश्न (FAQ)
**Q1: गेम डेवलपर्स ने SMK फ़ाइलों का उपयोग करने का मुख्य कारण क्या था? Smacker ने धीमे CD-ROM ड्राइव्स और कम पावर CPU पर हार्डवेयर डिकोडर की आवश्यकता के बिना स्मूद, सिंक्रनाइज़्ड वीडियो प्लेबैक को सक्षम किया।
**Q2: SMK फ़ाइल और BIK फ़ाइल में क्या अंतर है?
Smacker (.smk) 256 रंगों (8-बिट) तक सीमित है, जबकि इसका उत्तराधिकारी Bink Video (.bik) पूर्ण 24-बिट ट्रू कलर और उच्च रेज़ोल्यूशन का समर्थन करता है।
**Q3: क्या आधुनिक वेब ब्राउज़र .smk फ़ाइलों को मूल रूप से चला सकते हैं? नहीं, आधुनिक वेब ब्राउज़र Smacker कोडेक का समर्थन नहीं करते और फ़ाइलों को पहले MP4 या WebM में बदलना आवश्यक है।
**Q4: क्या एक SMK फ़ाइल एक साथ कई ऑडियो भाषाओं का समर्थन करती है? हाँ, Smacker कंटेनर कई स्वतंत्र ऑडियो ट्रैक्स को वीडियो के बगल में इंटरलीव्ड करके स्थानीयकृत कटसीन्स के लिए अनुमति देता है।
**Q5: आज Smacker वीडियो तकनीक का मालिक कौन है? जनवरी 2021 में 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 फ़ाइल एक्सटेंशन समझाया गया