Smacker (.smk) izpratne: Klasiska video formāts zelta laikmeta PC spēlēm
Ja jūs spēlējāt PC videospēles 1990. gadu vidus līdz beigām vai 2000. gadu sākumā — piemēram, Diablo, StarCraft, Baldur’s Gate vai Warcraft II — jūs esat saskārušies ar Smacker video formātu (.smk).
Pirms aparatūras paātrināta MPEG dekodēšana un veltīti daudzkodolu CPU kļuva par standartu personālajos datoros, gludas, sinhronizētas pilna kustības video (FMV) atskaņošana ar daudzcelļu digitālo audio bija milzīgs skaitļošanas šķērslis. Standarta CD-ROM dzini pārsūtīja datus ar mērenu 150 līdz 300 KB/s (1x līdz 2x ātrumu), un tipiski 486 vai agrīnie Pentium procesori nevarēja apstrādāt skaitļošanas ziņā smagus transformācijas kodekus.
Lai to atrisinātu, RAD Game Tools izstrādāja Smacker, augstas efektivitātes video arhitektūru, kas ir īpaši optimizēta tikai programmatūras atspiedšanai. Neapstrādāti vai ietvertie video faili, kas izveidoti ar šo cauruļvadu, nes .smk faila paplašinājumu.
1. Kas ir SMK fails?
An .smk fails ir īpašnieka tiesībām aizsargāts multivides konteineris un video straume, ko izveidoja RAD Game Tools (tagad daļa no Epic Games). Ieviešots ap 1994. gadu, Smacker ļāva izstrādātājiem straumēt 256‑krāsu pilna kustības kinomateriālus tieši no vienas ātruma CD-ROM, nepazaudējot kadrus vai neapturot sistēmu.
Atšķirībā no mūsdienu starpkadru kodekiem, kas lielā mērā balstās uz peldošā komata aritmētiku un diskrētās kosinusa transformācijām (DCT), Smacker tika izstrādāts, lai darbotos gandrīz pilnīgi caur veselu skaitļu operācijām, meklēšanas tabulām un zema līmeņa x86 asemblera rutīnām. Tas dominēja 1990. gadu spēļu kinomateriālus, līdz RAD Game Tools 1999. gadā iepazīstināja ar tā 24‑bit patiesas krāsas pēcteci, Bink Video (.bik).
2. Smacker kodeka galvenās funkcijas
Smacker izturīgā tehniskā mantojuma pamats ir tās pielāgotais līdzsvars starp zemu skaitļošanas sarežģītību un vizuālo precizitāti indeksētās krāsu aparatūrā:
8‑bitu indeksēta paletes kvantizācija
Vidus 1990. gados lielākā daļa PC ekrānu darbojās 256‑krāsu VGA vai SVGA režīmos (8‑bit palete). Smacker pieņēma šo ierobežojumu. Tā vietā, lai saglabātu 24‑bit RGB vērtības un piespiestu operētājsistēmu veikt lēnu ditheringu reāllaikā, Smacker saspiesta video kadrus tieši pret dinamiskām 256‑krāsu paletēm.
Kadru pa kadram paletes morfēšana un ciklēšana
Smacker atbalstīja nevainojamus krāsu paletes atjauninājumus starp kadriem. Ja spēles starpkadru sekvence pārgāja no spilgtas dienas gaismas uz tumšu alas vidi, .smk fails varēja ieviest lokalizētus paletes pārveidojumus vai pilnīgu paletes maiņu konkrētos atslēgkadrī, izvairoties no joslu veidošanās un krāsu deformācijas.
Vektoru kvantizācija un bloku dekompozīcija
Kadri .smk straumē tiek sadalīti $4 \times 4$ pikseļu blokos. Smacker izmanto vektoru kvantizācijas tehnikas, apvienotas ar kompaktu operācijas režīmu kopu katram blokam:
- Izlaist: Saglabā pikseļus no iepriekšējā kadra.
- Viens krāsu tonis/Vienkrāsains: Aizpildiet visu $4 \times 4$ bloku ar vienu paletes indeksu.
- Divkrāsu / Bitmask: Definējiet divus paletes ierakstus un izmantojiet 16‑bitu masku, lai kartētu katru pikseli.
- Pilni dati: Tieši saglabājiet detalizētas pikseļu sekvences, kad notiek sarežģīta kustība.
Šī bloka līmeņa klasifikācija ļāva ainas ar statisku fonu un lokalizētu darbību (piemēram, runājošas galvas vai ritināmos izvēlnes) saspiest līdz neesamīgiem datu pārraides ātrumiem.
Iebūvēta daudzcelļu audio multipleksēšana
Smacker bija viens no pirmajiem spēļu orientētajiem formātiem, kas atbalstīja integrētu daudzkanālu, daudzcelļu audio. Izstrādātāji varēja pārklāt saspiestu mono vai stereo skaņu tieši blakus video gabaliņiem. Šī arhitektūra atbalstīja:
- Dzimtā nesaspiesta PCM audio.
- RAD īpašā adaptīvā DPCM balstītā audio saspiešana (saspiest audio līdz 4‑bitu attēlojumam ar minimālu CPU slodzi).
- Neatkarīgi valodu celiņi starptautiskām spēļu lokalizācijām, nepārkopējot pamata video celiņu.
Asimetriska dizaina (ātra atspiešana pārāka par ātru kodēšanu)
Smacker saspiešanas algoritmi bija apzināti asimetriski: kodēšanai vajadzēja ievērojamu laiku un matemātisku optimizāciju, bet atspiešanai bija vajadzīgi tikai minimāli CPU cikli. Pieticīgs 33 MHz 486 dators varēja reāllaikā atkodēt 15‑30 FPS Smacker video, saglabājot audio sinhronizāciju.
3. Galveno raksturlielumu kopsavilkums
| Atribūts | Specifikācija |
|---|---|
| Izstrādātājs | RAD Game Tools (iegādāts Epic Games 2021. gadā) |
| Sākotnējā izlaide | 1994 |
| Faila paplašinājums | .smk |
| Pēctecis | Bink Video (.bik, .bk2) |
| Krāsu dziļums | 8-bit indeksēts (256 izvēlamas krāsas katram kadram) |
| Transformācijas metode | Telpiskā vektoru kvantizācija ($4 \times 4$ bloku sadalīšana) |
| Laika kompresija | Starpkadru bloku saskaņošana ar krāsu paletes cikla izsekošanu |
| Audio formāts | Lineārs PCM, Smacker 4-bit DPCM, daudzceļu kanāli |
| Primārais nozares lietojums | Videospēļu izgriezti, ievada kinomateriāli, animēti logotipi |
| Dekodēšanas atbalsts | Iebūvēts caur FFmpeg, Libavcodec, RAD Video Tools |
4. Kā atvērt un atskaņot .smk video failus
Tā kā mūsdienu mediju atskaņotāji vairs nepiedāvā noklusējuma atbalstu vecākām 8‑bitu spēļu video, standarta lietotnes, piemēram, Windows Media Player vai QuickTime, nespēs atvērt .smk failus. Jūs varat tos uzticami atskaņot, izmantojot šādus rīkus:
1. metode: VLC Media Player (daudzplatformu)
VLC ietver iebūvētu dekodēšanas atbalstu Smacker video un audio, izmantojot FFmpeg libavcodec:
- Lejupielādējiet un palaidiet VLC Media Player.
- Velciet un nometiet
.smkfailu tieši VLC logā. - Piezīme: Ja krāsas izskatās pārāk piesātinātas vai nobīdītas, VLC aparatūras video paātrinājumu var īslaicīgi izslēgt
Tools > Preferences > Input / Codecs, lai programmatūras krāsu kartētājs tieši attēlotu 8‑bitu paleti.
2. metode: FFplay (komandrinda)
Ja jums ir instalēta FFmpeg komplekta, iekļautais ffplay rīks ir ātrākais, visprecīzākais veids, kā atveidot .smk straumes:
ffplay cutscene.smk
3. metode: RAD Video Tools (Windows)
RAD Game Tools turpina piedāvāt The RAD Video Tools rīku komplektu:
- Lejupielādējiet un instalējiet The RAD Video Tools no oficiālās Epic Games / RAD mājaslapas.
- Palaidiet rīku un pārlūkojiet failu sistēmu, lai izceltu mērķa
.smkfailu. - Noklikšķiniet uz Play pogas, lai skatītu kinomākslu ar tās oriģinālo, autentisko mērogošanu un krāsu paletes laika sinhronizāciju.
5. Kā izveidot un konvertēt .smk video
Vai joprojām var izveidot vietējos .smk failus?
Mūsdienu izstrādātāji mūsdienās reti veido oriģinālus .smk failus, jo mūsdienu aparatūra viegli atkodē 4K 10‑bit HEVC vai AV1. Tomēr, ja jūs izstrādājat mājas programmatūru, modificējat klasiskās spēles vai veidojat retro PC projektus:
- The RAD Video Tools satur mantoto “Smack” kompresoru. Jūs varat ielādēt nekompresētu
.avivai attēlu sekvenci un kodēt to uz.smk. - Piezīme: FFmpeg ietver iebūvētu Smacker dekoderi, bet tas nesatur iebūvētu Smacker enkoderi, jo formāts ir īpašnieka, novecojis.
Konvertēšana no .smk uz modernu MP4 (H.264 / AAC)
Lai saglabātu vintage griezienus vai augšupielādētu tos uz mūsdienīgām platformām (piemēram, YouTube vai tīmekļa pārlūkprogrammām), konvertējiet tos uz MP4, izmantojot 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
Padoms: Tā kā .smk izmanto indeksētas krāsu paletes, piespiežot -pix_fmt yuv420p, tiek garantēts, ka mūsdienīgas mobilās ierīces un tīmekļa pārlūkprogrammas attēlos video bez melna ekrāna atskaņošanas kļūdām.
6. Biežāk uzdotie jautājumi (BUJ)
**Q1: Kāds bija galvenais iemesls, kādēļ spēļu izstrādātāji izmantoja SMK failus? Smacker ļāva gludu, sinhronizētu video atskaņošanu uz lēniem CD-ROM dziniem un zemas jaudas CPU, neprasot aparatūras dekoderus.
**Q2: Kāda ir atšķirība starp SMK failu un BIK failu?
Smacker (.smk) ir ierobežots līdz 256 krāsām (8‑bit), kamēr tā pēctecis, Bink Video (.bik), atbalsta pilnu 24‑bit īsto krāsu un augstākas izšķirtspējas.
**Q3: Vai mūsdienīgas tīmekļa pārlūkprogrammas var atskaņot .smk failus tieši? Nē, mūsdienīgas tīmekļa pārlūkprogrammas neatbalsta Smacker kodeku, un failus vispirms jākonvertē uz MP4 vai WebM.
**Q4: Vai SMK fails atbalsta vairākas audio valodas vienlaicīgi? Jā, Smacker konteiners ļauj vairākas neatkarīgas audio celiņus, kas ir savstarpēji pārklāti blakus video, lai nodrošinātu lokalizētas griezuma ainas.
**Q5: Kas šodien ir Smacker video tehnoloģijas īpašnieks? Epic Games ir Smacker īpašnieks pēc tam, kad 2021. gada janvārī uzņēmums iegādājās RAD Game Tools.
7. Atsauces un noderīgi resursi
- RAD Game Tools oficiālais portāls: RAD Game Tools pārskats (Epic Games)
- Multimedia Wiki Smacker specifikācija: Multimedia Wiki - Smacker tehniskā analīze
- FFmpeg kodeku dokumentācija: FFmpeg atbalstītie video formāti un dekodētāji
- FileInfo atsauce: SMK faila paplašinājuma skaidrojums