Smacker (.smk) Anlayışı: Qızıl Dövr PC Oyunlarının Klassik Video Formatı
Əgər siz 1990-cı illərin ortasından sonuna və ya 2000-ci illərin əvvəllərinə qədər PC video oyunları oynayıb—məsələn Diablo, StarCraft, Baldur’s Gate və ya Warcraft II—Smacker video formatı (.smk) ilə qarşılaşmısınız.
Avadanlıq sürətli MPEG dekodinqi və xüsusi çox nüvəli CPU-ların şəxsi kompüterlərdə standart hala gəlməsindən əvvəl, çoxkanallı rəqəmsal səs ilə hamar, sinxronlaşdırılmış tam hərəkətli video (FMV) oynamaq böyük bir hesablama çətinliyi idi. Standart CD-ROM sürücüləri məlumatı təxminən 150‑300 KB/s (1x‑2x sürət) sürətlə köçürürdü və tipik 486 və ya erkən Pentium prosessorları hesablama baxımından ağır transform kodeklərini idarə edə bilmirdi.
Bunu həll etmək üçün RAD Game Tools Smacker-i inkişaf etdirdi, yalnız proqram təminatı ilə dekompressiya üçün xüsusi olaraq optimallaşdırılmış yüksək səmərəli video memarlığı. Bu boru kəməri ilə yaradılan xam və ya kapsullanmış video fayllar .smk fayl uzantısını daşıyır.
1. SMK Faylı Nədir?
An .smk faylı RAD Game Tools (indi Epic Games‑in bir hissəsidir) tərəfindən yaradılmış özəl multimedia konteyneri və video axınıdır. 1994‑cü illərdə təqdim olunan Smacker, tərtibatçılara tək sürətli CD‑ROM‑lardan çərçivələri itirmədən və sistemi dayandırmadan 256 rəngli tam hərəkətli kinomaterialları birbaşa axınlamağa imkan verirdi.
Müasir inter‑frame kodeklərin çoxlu floating‑point riyaziyyatı və Diskret Kosinus Transformasiyalarına (DCT) güvənməsindən fərqli olaraq, Smacker demək olar ki, tamamilə tam ədədlə əməliyyatlar, axtarış cədvəlləri və aşağı səviyyəli x86 assembly rutinləri vasitəsilə işləmək üçün hazırlanmışdır. 1990‑cı illərin oyun kinomateriallarını 1999‑cu ildə RAD Game Tools‑un 24‑bit həqiqi rəngli varisi, Bink Video (.bik), təqdim etməsinə qədər hökm sürmüşdür.
2. Smacker Kodekinin Əsas Xüsusiyyətləri
Smacker‑in davamlı texniki irsi, indeksli rəngli avadanlıqda aşağı hesablama mürəkkəbliyi ilə vizual dəqiqliyin özəl balansından qaynaqlanır:
8-Bit İndeksli Palitra Kvantizasiyası
1990‑cı illərin ortalarında, PC ekranlarının böyük əksəriyyəti 256 rəngli VGA və ya SVGA rejimlərində (8‑bit palitra) işləyirdi. Smacker bu məhdudiyyəti qəbul etdi. 24‑bit RGB dəyərlərini saxlayıb əməliyyat sistemini yavaş dithering etməyə məcbur etmək əvəzinə, Smacker video çərçivələrini birbaşa dinamik 256 rəngli palitralara qarşı sıxışdırırdı.
Kadr‑kadr Palitra Morfinqi və Dövrü
Smacker çərçivələr arasında problemsiz palitra yeniləmələrini dəstəkləyirdi. Əgər oyundakı kəsik səhnə parlaq gündüz mühitindən qaranlıq mağaraya keçsə, .smk faylı müəyyən açar çərçivələrdə lokal palitra dəyişiklikləri və ya tam palitra dəyişmələri tətbiq edə bilər, bandlama və rəng dəyişikliyinin qarşısını alardı.
Vektor Kvantlaşdırması və Blok Ayrılması
.smk axını içindəki çərçivələr $4 \times 4$ piksel bloklarına bölünür. Smacker vektor kvantlaşdırma texnikalarını blok başına sıx əməliyyat rejimləri dəsti ilə birləşdirir:
- Keç: Əvvəlki çərçivədən pikselləri saxlayır.
- Bərk/Tək Rəng: Bütün $4 \times 4$ bloku tək palitra indeksi ilə doldur.
- İki-Rəng / Bitmask: İki palitra girişi təyin edin və hər pikseli xəritələmək üçün 16-bit maskadan istifadə edin.
- Tam Məlumat: Kompleks hərəkət baş verdikdə detallı piksel ardıcıllıqlarını birbaşa saxlayın.
Bu blok səviyyəli təsnifat statik fonlu və lokal hərəkətli səhnələrə (məsələn, danışan başlar və ya sürüşən menyular) məhdud məlumat sürətlərinə sıxışdırmağa imkan verdi.
Yerli Çox-İzləməli Audio Çoxlayıcı
Smacker inteqrasiya olunmuş çoxkanallı, çoxtreklə audio dəstəyi verən ilk oyun yönümlü formatlardan biri idi. Tərtibatçılar sıxışdırılmış mono və ya stereo səsi video hissələrinin yanına birbaşa qarışdıra bilirdilər. Bu arxitektura dəstəkləyirdi:
- Yerli sıxılmamış PCM səsi.
- RAD-ın özəl adaptiv DPCM-əsaslı səs sıxılması (səsi minimal CPU yükü ilə 4-bit təmsilçiliyə qədər sıxır).
- Baza video treki təkrarlamadan beynəlxalq oyun lokalizasiyaları üçün müstəqil dil trekləri.
Asimmetrik Dizayn (Sürətli Kodlamadan Üstün Sürətli Açma)
Smacker‑in sıxılma alqoritmləri qəsdən asimmetrik idi: kodlaşdırma çox vaxt və riyazi optimallaşdırma tələb edirdi, lakin dekompressiya yalnız minimal CPU dövrləri ilə kifayət edirdi. Sadə 33 MHz 486 kompüter real vaxtda 15‑30 FPS Smacker videosunu audio sinxronizasiyasını qoruyaraq dekodlaya bilərdi.
3. Əsas Xüsusiyyətlərin Xülasəsi
| Xüsusiyyət | Spesifikasiya |
|---|---|
| İnkişaf etdirici | RAD Game Tools (2021-ci ildə Epic Games tərəfindən alındı) |
| İlkin Buraxılış | 1994 |
| Fayl Uzantısı | .smk |
| Varis | Bink Video (.bik, .bk2) |
| Rəng Dərinliyi | 8-bit indeksli (kadr başına 256 seçilə bilən rəng) |
| Transformasiya Metodu | Məkan vektor kvantizasiyası ($$4 \times 4$$ blok bölməsi) |
| Zamanlı Sıxışdırma | Kadrlararası blok uyğunlaşdırması, palitra dövrü izləməsi ilə |
| Audio Formatı | Xətti PCM, Smacker 4-bit DPCM, çoxkanallı kanallar |
| Əsas Sənaye İstifadəsi | Video oyun kəsik səhnələri, giriş kinomatikləri, animasiyalı loqotiplər |
| Dekodlaşdırma Dəstəyi | FFmpeg, Libavcodec, RAD Video Tools vasitəsilə daxili |
4. .smk Video Fayllarını Açmaq və Oynatmaq Üsulu
Müasir media pleyerlər köhnə 8-bit oyun videoları üçün qutu-daxili dəstəyi artıq təmin etmədikləri üçün, Windows Media Player və ya QuickTime kimi standart tətbiqlər .smk fayllarını açmaqda uğursuz olacaq. Aşağıdakı alətlərdən istifadə edərək onları etibarlı şəkildə oynada bilərsiniz:
Metod 1: VLC Media Player (Çapraz Platforma)
VLC, FFmpeg-in libavcodec vasitəsilə Smacker video və səs üçün yerli dekodlaşdırma dəstəyi təmin edir:
- VLC Media Player-i yükləyin və işə salın.
.smkfaylını birbaşa VLC pəncərəsinə sürükləyib buraxın.- Qeyd: Rənglər həddindən artıq doyurucu və ya dəyişmiş görünürsə, VLC-nin hardware video sürətləndirilməsi
Tools > Preferences > Input / Codecsbölməsində müvəqqəti olaraq söndürülə bilər ki, proqram təminatı rəng xəritələyicisi 8-bit palitranı birbaşa render etsin.
Metod 2: FFplay (Əmr Sətiri)
Əgər FFmpeg paketini quraşdırmısınızsa, paketə daxil olan ffplay aləti .smk axınlarını renderləmək üçün ən sürətli və ən dəqiq yoldur:
ffplay cutscene.smk
Metod 3: RAD Video Tools (Windows)
RAD Game Tools hələ də The RAD Video Tools alət paketini təklif edir:
- Rəsmi Epic Games / RAD veb saytından The RAD Video Tools proqramını yükləyin və quraşdırın.
- Aləti işə salın və fayl sisteminizdə hədəf
.smkfaylını seçmək üçün naviqasiya edin. - Ssenarini onun orijinal, həqiqi ölçüləndirilməsi və palitra zamanlamaları ilə görmək üçün Play düyməsini klikləyin.
5. .smk Video Yaratmaq və Çevirmək
Hələ də yerli .smk faylları yarada bilərsiniz?
Müasir inkişafçılar bu gün orijinal .smk faylları nadir hallarda yaradırlar, çünki müasir avadanlıq 4K 10-bit HEVC və ya AV1-i asanlıqla dekod edir. Lakin, əgər ev proqramları hazırlayırsınızsa, klassik oyunları modlaşdırırsınızsa və ya retro PC layihələri qurursunuzsa:
- The RAD Video Tools köhnə “Smack” sıxıcıyı ehtiva edir. Sıxılmamış
.avivə ya şəkil ardıcıllığını yükləyib onu.smkformatına kodlaya bilərsiniz. - Qeyd: FFmpeg yerli Smacker decoder-i (kod çözücüsü) ehtiva edir, lakin formatın patentli və köhnəlmiş təbiəti səbəbindən yerli Smacker encoder-i (kodlayıcısı) daxil deyil.
.smk-ni müasir MP4-ə (H.264 / AAC) çevirmək
Köhnə kəsik səhnələri qorumaq və ya onları müasir platformalara (məsələn, YouTube və ya veb brauzerlərə) yükləmək üçün FFmpeg istifadə edərək MP4 formatına çevirin:
# 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
İpucu: .smk indeksli rəng palitralarından istifadə etdiyi üçün -pix_fmt yuv420p məcburiyyəti, müasir mobil cihazların və veb brauzerlərin videonu qara ekranlı oynatma səhvləri olmadan göstərməsini təmin edir.
6. Tez-tez Soruşulan Suallar (FAQ)
**Q1: Oyun tərtibatçıları SMK fayllarını istifadə etmələrinin əsas səbəbi nə idi? Smacker, yavaş CD-ROM sürücülərində və az güclü CPU-larda hardware dekoderlərə ehtiyac olmadan hamar, sinxronlaşdırılmış video oynatmanı mümkün etdi.
**Q2: SMK faylı ilə BIK faylı arasındakı fərq nədir?
Smacker (.smk) 256 rənglə (8-bit) məhdudlaşır, onun varisi Bink Video (.bik) isə tam 24-bit həqiqi rəng və daha yüksək həlləri dəstəkləyir.
**Q3: Müasir veb brauzerlər .smk fayllarını yerli olaraq oynada bilirlərmi? Xeyr, müasir veb brauzerlər Smacker kodekinə dəstək vermirlər və faylların əvvəlcə MP4 və ya WebM formatına çevrilməsini tələb edirlər.
**Q4: SMK faylı eyni anda bir neçə audio dili dəstəkləyir? Bəli, Smacker konteyneri videonun yanında yerləşdirilmiş bir neçə müstəqil audio treki ilə lokalizasiya olunmuş kəsik səhnələr üçün imkan verir.
**Q5: Bu gün Smacker video texnologiyasının sahibi kimdir? Epic Games, yanvar 2021-ci ildə RAD Game Tools-un alınmasından sonra Smacker-ə sahibdir.
7. İstinadlar və Faydalı Resurslar
- RAD Game Tools Rəsmi Portalı: RAD Game Tools İcmalı (Epic Games)
- Multimedia Wiki Smacker Spesifikasiyası: Multimedia Wiki - Smacker Texniki Analizi
- FFmpeg Kodek Sənədləşməsi: FFmpeg Dəstəklənən Video Formatları və Dekoderlər
- FileInfo Referansı: SMK Fayl Uzantısı İzahı