فهم Smacker (.smk): تنسيق الفيديو الكلاسيكي لألعاب الحاسوب في العصر الذهبي
إذا كنت قد لعبت ألعاب فيديو على الحاسوب الشخصي في منتصف إلى أواخر التسعينيات أو أوائل الألفينات — مثل Diablo، StarCraft، Baldur’s Gate، أو Warcraft II — فقد صادفت تنسيق الفيديو Smacker (.smk).
قبل أن يصبح فك ترميز MPEG المدعوم بالأجهزة ومعالجات متعددة النوى المخصصة معيارًا في الحواسيب الشخصية، كان تشغيل فيديو كامل الحركة (FMV) سلسًا ومزامنًا مع صوت رقمي متعدد المسارات عقبة حوسبة هائلة. كانت محركات أقراص CD-ROM القياسية تنقل البيانات بسرعة متواضعة تتراوح بين 150 إلى 300 كيلوبايت/ثانية (سرعات 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 منخفضة المستوى. سيطر على سينمائيات الألعاب في التسعينيات حتى قدمت RAD Game Tools خليفته ذو الألوان الحقيقية 24‑بت، Bink Video (.bik)، في عام 1999.
2. الميزات الأساسية لبرنامج ترميز Smacker
الإرث التقني الدائم لـ Smacker ينبع من توازنه المصمم بين التعقيد الحسابي المنخفض والوفاء البصري على الأجهزة ذات الألوان المفهرسة:
تكميم لوحة ألوان مفهرسة 8-بت
خلال منتصف التسعينيات، كانت الغالبية العظمى من شاشات الحاسوب تعمل في أوضاع VGA أو SVGA بعمق 256 لون (لوحة ألوان 8‑بت). تبنى Smacker هذا القيد. بدلاً من تخزين قيم RGB بعمق 24‑بت وإجبار نظام التشغيل على إجراء تمويه بطيء في الوقت الحقيقي، ضغط Smacker إطارات الفيديو مباشرةً مقابل لوحات ألوان ديناميكية بعمق 256 لون.
تحويل وتدوير لوحة الألوان إطارًا بإطار
دعم Smacker تحديثات لوحة الألوان السلسة بين الإطارات. إذا انتقل مشهد قص في اللعبة من إعداد نهار ساطع إلى كهف مظلم، يمكن لملف .smk أن يُدخل تعديلات محلية على لوحة الألوان أو استبدالات كاملة للوحة الألوان في إطارات رئيسية محددة، مما يتجنب التدرج اللوني وتشويه الألوان.
التكميم المتجه وتفكيك الكتل
الإطارات داخل تدفق .smk تُقسم إلى كتل بكسل بحجم $4 \times 4$. يستخدم Smacker تقنيات التكميم المتجهية مع مجموعة مضغوطة من أوضاع التشغيل لكل كتلة:
- تخطي: الاحتفاظ بالبكسلات من الإطار السابق.
- لون صلب/واحد: ملء الكتلة $4 \times 4$ بالكامل بمؤشر لوحة ألوان واحد.
- لونين / قناع بت: تعريف مدخلين في لوحة الألوان واستخدام قناع 16-بت لتعيين كل بكسل.
- بيانات كاملة: تخزين تسلسلات البكسل التفصيلية مباشرةً عندما يحدث حركة معقدة.
سمحت هذه التصنيفات على مستوى الكتلة للمشاهد ذات الخلفيات الثابتة والإجراءات المحلية (مثل رؤوس المتحدثين أو القوائم المتحركة) بالضغط إلى معدلات بيانات لا تُذكر.
دمج متعدد المسارات الصوتية الأصلي
كان Smacker من بين أولى الصيغ الموجهة للألعاب التي تدعم الصوت المتعدد القنوات والمسارات المتعددة المتكامل. يمكن للمطورين دمج الصوت الأحادي أو الستيريو المضغوط مباشرةً بجانب قطع الفيديو. دعمت هذه البنية:
- صوت PCM غير مضغوط أصلي.
- ضغط الصوت القائم على DPCM المتكيف المملوك لشركة RAD (ضغط الصوت إلى تمثيل 4‑بت مع حد أدنى من استهلاك وحدة المعالجة المركزية).
- مسارات لغة مستقلة لتوطين الألعاب الدولية دون تكرار مسار الفيديو الأساسي.
تصميم غير متماثل (فك ضغط سريع على حساب ضغط سريع)
كانت خوارزميات ضغط Smacker غير متماثلة عن قصد: استغرق الترميز وقتًا كبيرًا وتحسينًا رياضيًا، بينما كان فك الضغط يتطلب فقط الحد الأدنى من دورات وحدة المعالجة المركزية. كان بإمكان حاسوب 486 بساعة 33 MHz بسيط فك تشفير فيديو Smacker بسرعة 15 إلى 30 إطارًا في الثانية في الوقت الحقيقي مع الحفاظ على تزامن الصوت.
3. ملخص الخصائص الرئيسية
| السمة | المواصفة |
|---|---|
| المطور | RAD Game Tools (تم الاستحواذ عليها من قبل Epic Games في 2021) |
| الإصدار الأولي | 1994 |
| امتداد الملف | .smk |
| الخلف | فيديو Bink (.bik, .bk2) |
| عمق اللون | مؤشر 8-بت (256 لونًا قابلًا للاختيار لكل إطار) |
| طريقة التحويل | تكميم المتجه المكاني ($4 \times 4$ تقسيم الكتل) |
| ضغط زمني | مطابقة كتل بين الإطارات مع تتبع دورة لوحة الألوان |
| تنسيق الصوت | PCM خطي، Smacker 4-بت DPCM، قنوات متعددة المسارات |
| الاستخدام الصناعي الأساسي | مشاهد قصصية لألعاب الفيديو، سينمائيات تمهيدية، شعارات متحركة |
| دعم فك الترميز | مضمن عبر FFmpeg، Libavcodec، أدوات RAD Video |
4. كيفية فتح وتشغيل ملفات الفيديو .smk
لأن مشغلات الوسائط الحديثة لم تعد توفر دعمًا جاهزًا لفيديو ألعاب 8‑بت القديمة، فإن التطبيقات القياسية مثل Windows Media Player أو QuickTime ستفشل في فتح ملفات .smk. يمكنك تشغيلها بشكل موثوق باستخدام الأدوات التالية:
الطريقة 1: مشغل VLC (متعدد الأنظمة)
يتضمن VLC دعمًا أصليًا لفك ترميز فيديو وصوت Smacker عبر libavcodec الخاص بـ FFmpeg:
- قم بتنزيل وتشغيل 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:
- قم بتنزيل وتثبيت The RAD Video Tools من الموقع الرسمي لـ Epic Games / RAD.
- افتح الأداة وتصفح نظام الملفات لتحديد ملف
.smkالمستهدف. - انقر على زر Play لعرض المشهد السينمائي مع مقياسه الأصلي وتوقيتات لوحة الألوان الأصيلة.
5. كيفية إنشاء وتحويل فيديو .smk
هل لا يزال بإمكانك إنشاء ملفات .smk الأصلية؟
نادرًا ما يقوم المطورون الحديثون بإنشاء ملفات .smk الأصلية اليوم لأن الأجهزة الحديثة تفكّ تشفير 4K 10-bit HEVC أو AV1 بسهولة. ومع ذلك، إذا كنت تطور برامج منزلية، أو تعدل ألعابًا كلاسيكية، أو تبني مشاريع حاسوب شخصية retro:
- The RAD Video Tools يحتوي على ضاغط “Smack” القديم. يمكنك تحميل ملف
.aviغير مضغوط أو تسلسل صور وتشفيره إلى.smk. - ملاحظة: يتضمن FFmpeg مُفكك Smacker أصلي، لكنه لا يحتوي على مُشفّر Smacker أصلي بسبب الطبيعة الملكية والقديمة لهذا التنسيق.
تحويل .smk إلى MP4 حديث (H.264 / AAC)
للحفاظ على المشاهد القصيرة القديمة أو رفعها إلى المنصات الحديثة (مثل يوتيوب أو متصفحات الويب)، قم بتحويلها إلى MP4 باستخدام FFmpeg:
# 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 يضمن أن الأجهزة المحمولة الحديثة ومتصفحات الويب ستعرض الفيديو دون أخطاء تشغيل شاشة سوداء.
6. الأسئلة المتكررة (FAQ)
**Q1: ما هو السبب الرئيسي الذي جعل مطوري الألعاب يستخدمون ملفات SMK؟ سمكر مكن تشغيل الفيديو بسلاسة وتزامن على محركات CD-ROM البطيئة ووحدات المعالجة منخفضة الطاقة دون الحاجة إلى فك تشفير عتادي.
**Q2: ما الفرق بين ملف SMK وملف BIK؟
سمكر (.smk) يقتصر على 256 لونًا (8-بت)، بينما خليفته، فيديو Bink (.bik)، يدعم ألوانًا حقيقية كاملة بدقة 24-بت ودقة أعلى.
**Q3: هل يمكن لمتصفحات الويب الحديثة تشغيل ملفات .smk بشكل أصلي؟ لا، متصفحات الويب الحديثة لا تدعم ترميز Smacker وتحتاج إلى تحويل الملفات إلى MP4 أو WebM أولاً.
**Q4: هل يدعم ملف SMK عدة لغات صوتية في وقت واحد؟ نعم، يسمح حاوية Smacker بوجود مسارات صوتية مستقلة متعددة متداخلة بجانب الفيديو للمشاهد المترجمة محليًا.
**Q5: من يملك تقنية فيديو Smacker اليوم؟ تمتلك شركة Epic Games تقنية Smacker بعد استحواذها على RAD Game Tools في يناير 2021.
7. المراجع والموارد المفيدة
- البوابة الرسمية لأدوات RAD Game: نظرة عامة على أدوات RAD Game (Epic Games)
- مواصفات Smacker في ويكي الوسائط المتعددة: ويكي الوسائط المتعددة - التحليل التقني لـ Smacker
- توثيق ترميزات FFmpeg: الصيغ والفكّارات الفيديو المدعومة في FFmpeg
- مرجع FileInfo: شرح امتداد ملف SMK