aspose.info
HU

Mi az az SMK fájl? Hogyan nyissuk meg, játsszuk le és konvertáljuk a Smacker videót

Frissítve

A Smacker (.smk) megértése: A klasszikus videóformátum az aranykorú PC játékokban

Ha a 1990-es évek közepétől késő felé vagy a 2000-es évek elején PC videojátékokat játszottál — például Diablo, StarCraft, Baldur’s Gate vagy Warcraft II — akkor találkoztál a Smacker videóformátummal (.smk).

Mielőtt a hardveresen gyorsított MPEG dekódolás és a dedikált többmagos CPU-k szabványossá lettek volna a személyi számítógépekben, a sima, szinkronizált teljes mozgású videó (FMV) többcsatornás digitális hanggal való lejátszása óriási számítástechnikai akadály volt. A szabványos CD-ROM meghajtók 150‑tól 300 KB/s (1x‑től 2x‑es sebesség) szerény adatátvitelt biztosítottak, és a tipikus 486 vagy korai Pentium processzorok nem tudták kezelni a számításigényes transzformációs kodekeket.

Ennek megoldására a RAD Game Tools kifejlesztette a Smacker‑t, egy nagy hatékonyságú videóarchitektúrát, amely kifejezetten a csak szoftveres dekódolásra van optimalizálva. A csővezetékkel előállított nyers vagy kapszulázott videófájlok a .smk fájlkiterjesztést viselik.

1. Mi az az SMK fájl?

A .smk fájl egy tulajdonosi multimédia konténer és videófolyam, amelyet a RAD Game Tools (ma az Epic Games része) hozott létre. Körülbelül 1994-ben bevezetett Smacker lehetővé tette a fejlesztők számára, hogy 256 színű teljes mozgású filmeket közvetlenül egysebességes CD-ROM-okról streameljék, anélkül, hogy képkockákat veszítenének vagy a rendszer leállna.

A modern inter-frame kodekekkel, amelyek erősen támaszkodnak a lebegőpontos aritmetikára és a Diszkrét Koszinusz Transzformációra (DCT), ellentétben, a Smacker-t úgy tervezték, hogy szinte teljesen egész számú műveleteken, keresőtáblákon és alacsony szintű x86 assembly rutinokon keresztül fusson. A Smacker uralta a 1990-es évek játékfilmeket, amíg a RAD Game Tools 1999-ben be nem mutatta 24 bites valódi színű utódját, a Bink Video (.bik)-t.

2. A Smacker kodek alapvető jellemzői

A Smacker tartós technikai öröksége a kis számítási komplexitás és a vizuális hűség közötti egyedi egyensúlyból ered az indexelt színű hardveren:

8-bites indexelt paletta kvantálás

Az 1990-es évek közepén a PC-k kijelzőinek túlnyomó többsége 256 színű VGA vagy SVGA módokban (8 bites paletta) működött. A Smacker ezt a korlátot kihasználta. Ahelyett, hogy 24 bites RGB értékeket tárolna, és a operációs rendszert lassú ditheringre kényszerítené valós időben, a Smacker a videókereteket közvetlenül dinamikus 256 színű paletták ellen tömörítette.

Képkockáról képkockára történő paletta átalakítás és ciklizálás

A Smacker zökkenőmentes palettafrissítéseket támogatott a képkockák között. Ha egy játékbeli vágóképsor egy fényes nappali beállításról egy sötét barlangba váltott, a .smk fájl lokális paletta módosításokat vagy teljes paletta cseréket tudott bevezetni a specifikus kulcsképkockákon, elkerülve a sávosodást és a szín torzulást.

Vektor Kvantálás és Blokk Dekompozíció

A .smk folyam belüli képkockákat $4 \times 4$ pixeles blokkokra bontják. A Smacker vektor kvantálási technikákat alkalmaz, kombinálva egy kompakt operációs módok halmazával blokkanként:

  • Skip: Megtartja a pixeleket az előző képkockáról.
  • Solid/Single Color: Az egész $4 \times 4$ blokkot egyetlen palettaindexszel tölti ki.
  • Two-Color / Bitmask: Két paletta bejegyzést definiál, és egy 16-bites maszkot használ az egyes pixelek leképezésére.
  • Full Data: Közvetlenül tárolja a részletes pixel sorozatokat, amikor komplex mozgás fordul elő.

Ez a blokk-szintű osztályozás lehetővé tette, hogy a statikus háttérrel és lokális akcióval (például beszélő fej vagy görgető menük) rendelkező jelenetek elhanyagolható adatsebességre tömörüljenek.

Natív Többcsatornás Hang Multiplexelés

A Smacker az első játék-központú formátumok egyike volt, amely támogatja a beépített többcsatornás, több sávos hangot. A fejlesztők tömörített mono vagy sztereó hangot tudtak összefűzni közvetlenül a videó darabok mellé. Ez az architektúra a következőket támogatta:

  • Natív tömörítetlen PCM hang.
  • A RAD saját szabadalmaztatott adaptív DPCM-alapú hangkompressziója (a hangot 4-bites ábrázolásra tömörítve minimális CPU terheléssel).
  • Független nyelvi sávok a nemzetközi játék lokalizációkhoz anélkül, hogy megkettőznék az alap videósávot.

Aszimmetrikus Tervezés (Gyors Kitömörítés a Gyors Kódolás Feletti)

A Smacker tömörítési algoritmusai szándékosan aszimmetrikusak voltak: a kódolás jelentős időt és matematikai optimalizálást igényelt, de a dekódolás csak a legkisebb CPU ciklusokat használta. Egy szerény 33 MHz-es 486 számítógép valós időben képes volt 15‑30 FPS közötti Smacker videót dekódolni, miközben megőrizte a hang szinkronizációt.

3. Fő jellemzők összefoglalása

AttribútumSpecifikáció
FejlesztőRAD Game Tools (2021-ben az Epic Games felvásárolta)
Kezdeti kiadás1994
Fájlkiterjesztés.smk
UtódBink videó (.bik, .bk2)
Színmélység8 bites indexelt (256 választható szín képkockánként)
Átalakítási módszerTérbeli vektor kvantálás ($4 \times 4$ blokk felosztás)
Időbeli tömörítésKépkockák közötti blokk egyeztetés paletta ciklus nyomon követéssel
HangformátumLineáris PCM, Smacker 4-bit DPCM, többpályás csatornák
Elsődleges iparági felhasználásVideójáték vágóképei, bevezető filmek, animált logók
Dekódolási támogatásBeépített a FFmpeg, Libavcodec, RAD Video Tools segítségével

4. Hogyan nyissuk meg és játsszuk le a .smk videofájlokat

Mivel a modern médialejátszók már nem tartalmazzák alapértelmezett módon a régi 8 bites játékvideók támogatását, a szokásos alkalmazások, mint a Windows Media Player vagy a QuickTime nem tudják megnyitni a .smk fájlokat. Ezeket megbízhatóan lejátszhatja a következő eszközökkel:

1. módszer: VLC Media Player (Keresztplatformos)

A VLC natív dekódolási támogatást nyújt a Smacker videóhoz és hanghoz az FFmpeg libavcodec-jén keresztül:

  1. Töltse le és indítsa el a VLC Media Player-t.
  2. Húzza és ejtse be a .smk fájlt közvetlenül a VLC ablakba.
  3. Megjegyzés: Ha a színek túl telítettek vagy eltolódnak, a VLC hardveres videógyorsítása ideiglenesen kikapcsolható a Tools > Preferences > Input / Codecs menüpontban, hogy a szoftveres színleképező közvetlenül a 8 bites palettát jelenítse meg.

2. módszer: FFplay (Parancssor)

Ha telepítve van az FFmpeg csomag, a csomagolt ffplay segédprogram a leggyorsabb és legpontosabb módja a .smk streamek megjelenítésének:

ffplay cutscene.smk

3. módszer: A RAD Video Tools (Windows)

A RAD Game Tools továbbra is kínálja a The RAD Video Tools segédprogramcsomagot:

  1. Töltse le és telepítse a The RAD Video Tools-t a hivatalos Epic Games / RAD weboldalról.
  2. Indítsa el a segédprogramot, és navigáljon a fájlrendszerben a cél .smk fájl kijelöléséhez.
  3. Kattintson a Play gombra a film megtekintéséhez az eredeti, hiteles méretezéssel és paletta időzítésekkel.

5. Hogyan hozzunk létre és konvertáljunk .smk videót

Még létrehozhatsz natív .smk fájlokat?

A modern fejlesztők ma már ritkán hoznak létre eredeti .smk fájlokat, mivel a korszerű hardver könnyedén dekódolja a 4K 10-bites HEVC vagy AV1 formátumot. Azonban, ha saját szoftvert fejleszt, klasszikus játékokat módosít, vagy retro PC projekteket épít:

  • The RAD Video Tools tartalmazza a régi “Smack” kompresszort. Betölthet egy tömörítetlen .avi vagy képsorozatot, és kódolhatja .smk formátumba.
  • Megjegyzés: Az FFmpeg tartalmaz egy natív Smacker dekódert, de nem tartalmaz natív Smacker enkódert, mivel a formátum szabadalmi, elavult jellegű.

.smk konvertálása modern MP4-re (H.264 / AAC)

A régi vágóképek megőrzéséhez vagy modern platformokra (például YouTube-ra vagy webböngészőkre) való feltöltéshez konvertálja őket MP4 formátumba az FFmpeg használatával:

# 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

Tipp: Mivel a .smk indexelt színpalettákat használ, a -pix_fmt yuv420p kényszerítése garantálja, hogy a modern mobil eszközök és webböngészők a videót fekete képernyős lejátszási hibák nélkül jelenítik meg.

6. Gyakran Ismételt Kérdések (GYIK)

**Q1: Mi volt a fő ok, amiért a játékfejlesztők SMK fájlokat használtak? A Smacker lehetővé tette a sima, szinkronizált videolejátszást lassú CD-ROM meghajtókon és alacsony teljesítményű CPU-ken anélkül, hogy hardveres dekóderekre lenne szükség.

**Q2: Mi a különbség egy SMK fájl és egy BIK fájl között? A Smacker (.smk) 256 színre (8-bit) korlátozódik, míg utódja, a Bink Video (.bik) teljes 24-bit valódi színt és magasabb felbontásokat támogat.

**Q3: Tudnak a modern webböngészők natívan .smk fájlokat lejátszani? Nem, a modern webböngészők nem támogatják a Smacker kodeket, és a fájlokat először MP4 vagy WebM formátumba kell konvertálni.

**Q4: Támogat egy SMK fájl egyszerre több audio nyelvet? Igen, a Smacker konténer lehetővé teszi több független audio sáv egyidejű elhelyezését a videó mellett a lokalizált vágóképekhez.

**Q5: Ki birtokolja ma a Smacker videótechnológiát? Az Epic Games birtokolja a Smacker-t a RAD Game Tools 2021 januári felvásárlása után.

7. Hivatkozások és hasznos források