הבנת Smacker (.smk): פורמט הווידאו הקלאסי של תקופת הזהב בגיימינג למחשבים אישיים
אם שיחקת במשחקי וידאו למחשב האישי באמצע עד סוף שנות ה‑90 או בתחילת שנות ה‑2000—כגון 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 נמוכה. הוא שלט בסרטוני משחקים של שנות ה‑90 עד ש‑RAD Game Tools הציגו את היורש בצבע אמת של 24‑ביט, Bink Video (.bik), בשנת 1999.
2. תכונות הליבה של קודק Smacker
המורשת הטכנית המתמשכת של Smacker נובעת מהאיזון המותאם שלו בין מורכבות חישובית נמוכה לבין נאמנות ויזואלית על חומרת צבע ממופה:
כימות פלטת אינדקס 8-ביט
במהלך אמצע שנות ה‑90, הרוב המכריע של תצוגות המחשב פעלו במצב 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 היו מכוונים באופן מודע לאסימטריה: הקידוד דרש זמן משמעותי ואופטימיזציה מתמטית, אך הפענוח דרש רק מינימום מחזורי CPU. מחשב 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 DPCM 4-ביט, ערוצי ריבוי מסלול |
| שימוש תעשייתי ראשי | סצנות קאטסצין של משחקי וידאו, סרטוני פתיחה, לוגואים מונפשים |
| תמיכת פענוח | מובנה דרך FFmpeg, Libavcodec, RAD Video Tools |
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 (Windows)
RAD Game Tools ממשיכה להציע את חבילת כלי העזר The RAD Video Tools:
- הורד והתקן את The RAD Video Tools מהאתר הרשמי של Epic Games / RAD.
- הפעל את כלי העזר ונווט במערכת הקבצים שלך כדי לסמן את קובץ ה-
.smkהרצוי. - לחץ על כפתור Play כדי לצפות בסרטון עם קנה המידה והזמנים המקוריים והאותנטיים שלו.
5. איך ליצור ולהמיר וידאו .smk
האם עדיין ניתן ליצור קבצי .smk מקוריים?
מפתחים מודרניים כמעט ולא יוצרים קבצי .smk מקוריים היום מכיוון שהחומרה המודרנית מפענחת בקלות HEVC או AV1 ברזולוציית 4K 10-bit. עם זאת, אם אתה מפתח תוכנה ביתית, משנה משחקים קלאסיים, או בונה פרויקטים רטרו למחשב אישי:
- The RAD Video Tools מכילה את מכווץ “Smack” הישן. ניתן לטעון קובץ
.aviלא דחוס או רצף תמונות ולקודד אותו ל-.smk. - הערה: FFmpeg כולל decoder מקורי של Smacker, אך אינו כולל encoder מקורי של 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? Smacker אפשר ניגון וידאו חלק ומתוזמן על כונני CD-ROM איטיים ומעבדים בעלי צריכת חשמל נמוכה ללא צורך במפענחים חומרתיים.
**Q2: מה ההבדל בין קובץ SMK לקובץ BIK?
Smacker (.smk) מוגבל ל‑256 צבעים (8‑ביט), בעוד שהיורש שלו, Bink Video (.bik), תומך בצבע אמיתי של 24‑ביט וברזולוציות גבוהות יותר.
**Q3: האם דפדפנים מודרניים יכולים לנגן קבצי .smk באופן טבעי? לא, דפדפנים מודרניים אינם תומכים בקודק Smacker ודורשים שהקבצים יומרו ל‑MP4 או WebM תחילה.
**Q4: האם קובץ SMK תומך במספר שפות אודיו במקביל? כן, מכולת Smacker מאפשרת מספר ערוצי אודיו עצמאיים המשולבים לצד הווידאו לצילומי קטעים מותאמים לשפה.
**Q5: מי הבעלים של טכנולוגיית הווידאו Smacker היום? Epic Games היא הבעלים של Smacker לאחר רכישת RAD Game Tools בינואר 2021.
7. מקורות ומשאבים שימושיים
- הפורטל הרשמי של RAD Game Tools: סקירת RAD Game Tools (Epic Games)
- מפרט Smacker של Multimedia Wiki: Multimedia Wiki - ניתוח טכני של Smacker
- תיעוד קודק של FFmpeg: פורמטים וקודקים של וידאו שנתמכים ב‑FFmpeg
- הפניה ל‑FileInfo: הסבר על סיומת קובץ SMK