Meztelen lányok ruhában!

Szerzők

Naptár

május 2024
Hét Ked Sze Csü Pén Szo Vas
<<  < Archív
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31

Demótól az mp4-ig

2008.04.17. 04:00 | PunkZoli | 1 komment

Íme egy kis mankó az általam ismert legjobb képminőség eléréséhez, amit a source motoros játékokból elő lehet hívni. Kis kedvcsinálónak, a nemrégiben kiadott UK3 is ezzel a teknikával készült.
Ez az olvasmány kezdőknek és haladóknak egyaránt készült, külön figyelmet fordítva az abszolút kezdőkre, alapos, de remélem könnyen érthető.
Természetesen más módszerek is léteznek a demótól a filmig, mégis fontosnak tartottam, hogy az ffdshow-val és a sony vegas-al is közelebbi kapcsolatba kerüljünk. Bármi kérdésetek merül fel a tutoriallal kapcsolatban, vagy szerintetek kimaradt belőle, ne habozzatok kommentet írni!

 

Tisztogassuk le gépünkről az összes korábbi kodeket, majd tegyük fel a K-Lite kodek pakkot lots of stuffs módban! (amennyiben más kodekek is tanyáznak a gépen, előforduló anomáliák miatt sikertelen lehet majd próbálkozásunk). Majd az Avisynth-et is, amennyiben a K-lite-ban nincs benne.
(update!: újabb klite-oknál előfordul, hogy nem lesz a listában az ffdshow! ezért a klcodec431f verziót keressétek és használjátok, amíg nem javítják!)


*AZ ALAPOK

Mindenek előtt látogassunk el a *.*\Steam\steamapps\NEVED\counter-strike source\cstrike mappához, és biggyesszünk egy tetszőleges betűt, mondjuk egy J-t és (cstrikeJ) indítsuk el a játékot. Elkezd updatelni, létrehozza újra a cstrike mappát, ami mentes lesz az összes eddigi beállításainktól (grafikai butítástól, amit az fps-configok állítottak el) és az újonnan létrejött "tiszta" cstrike mappába egyből el is kezdhetünk szemetelni. Másoljuk be a demo.cfg-t a cfg mappába, a scripts és resource mappákat értelem szerűen ugyancsak a moviezásra használt cstrike-ba.
Ezzel a lépéssel eltüntettük a hud felesleges részeit, egyedül a deathnotice és a célkereszt lesz látható a képernyőn.
Alternatív megoldás lehet az INpact CSShud tweaker, amivel szintén a radar, az élet, és a kijelző további részei tüntethetőek el.

demo.cfg

res&scripts


Fontos, hogy mikor újra játszanánk írjuk át a filmezésre használt cstrike mappát stílszerűen mondjuk cstrikeM re, majd a cstrikeJ (azaz a Játékra használt) mappát eredeti állapotára írjuk vissza: cstrike.
Ez azért fontos, mert így megspóroljunk jópár lépést, megkíméljük magunkat a be és ki másolgatástól, így két cstrike-unk lesz, amit tetszőlegesen váltogathatunk, és váltogassunk is, ha játszani illetve mozizni szeretnénk!


*FELBONTÁS

1280*720, azaz a 16:9 es wide screen felbontás az ajánlott. Ennél nagyobb felbontás felesleges, kisebbet meg egyenesen botrány használni :), és kapcsoljuk be az ablakban futtatást(run in window), hogy az ffdshow majd érvényesülni tudjon a felugró ablakkal.
Korábbi tapasztalataim alapján néhány tft monitor digitális csatlakozásakor nem választható a kívánt felbontás, ez esetben a videokártya vezérlő programnál(nvidia control panel) keressük ki a manage custom resolution opciót, és manuálisan adjuk meg az 1280*720 as szorzót, ami ezután választható lesz játékon belül is. Set launch optionsben is megadhatjuk a következő értékekkel: -console -window -w 1280 -h 720
Minden esetre figyeljetek oda, bármilyen programmal is nyúltok majd a képekhez, amit a játékból csinál, de a felbontást mindig ezt erőltessétek, elkerülendő az oldal vagy fenti fekete sávozódást!



*A GRAFIKA BEÁLLÍTÁSA

A grafikát célszerű a játékon belül maximumra állítani, természetesen nem probléma, ha megeszi a gépünket, mert az fps szám itt nem mérvadó, a konfig minden esetben fix 90, vagy 900 fps el dolgozik másodpercenként(lásd később). Használhatunk továbbá külső programokat is kártyánk rejtett képességeinek előhívására, ehez nyújt segítséget például az nHancer nevű program , mellyel a régebbi VGA-kon is elérhetőek olyan nyalánkságok mint a 16szoros anizotrópikus szűrés vagy az antialiasing, avagy az élsimítás durvább fajtái. Ezeket mindenképpen kapcsoljuk be, lássunk el szépen a távolba, és ne legyen recés a kép.


*AZ FFDSHOW szerepe

Az ffdshow beállítása roppant egyszerű, viszont két módszer létezik a képek kiszedéséhez. Az apró külömbségekre nagyon oda kell figyelni! Keressük meg a K-lite codek packot a start menüben, azon belül a configuration-t, és kattintsunk a VFW interface re.

Ha ez megvan, lépésről-lépésre kövessük a képeket, lehetőleg minden beállítás után mentsünk(apply):

ffdshow90_1


az input alatt, az outputon szedjük ki a pipát a store frames to AVI boxból (újabb verzióknál ugyanis auto bepiszkolja)

katt az inputon a configure-ra, a következő ablakhoz:

ffdshow90_2


A grab résznél külön figyeljünk oda, hogy ahova menti majd a képeket, ez esetben a BMPs mappa a meghajtónk olyan particióján legyen, ahol van elegendő hely, extrém esetben akár egy folyamat több giga is lehet.
Ha készen állunk, lépjünk be a játékba, a SHIFT+F2 kombinációval töltsük be a demónkat, majd a korábban kiválasztott tick előtt hívjuk meg a demo.cfg -nket a console-ból(exec demo).
Space re felnyílik egy kisebb legördülő menü, ott válasszuk ki az ffdshow-t és az ok lenyomása után elkezd bitmapokat készíteni a megadott helyre.
A folyamatot dupla space el tudjuk leállítani.
Ez volt a 90 frame-es teknika.

Amennyiben nem vagyunk kíváncsiak egyelőre a 900 frame es megoldásra, hagyjuk ki a következő pontot, és ugorjunk a total commanderhez.


**CSINÁLJUNK BLUR-t!

Haladóknak és ráérősöknek ajánlott, mivel ez radikálisan megnöveli majd az idejét a jelenetek demóbol való kiszedésének!
Kalandozzunk el egy kicsit a filmezés világába, hogy értsük mit is fogunk csinálni!

Nem kell különösebben magyarázni, hogy egy elmosódott képkocka kevesebb információt tartalmaz mint egy tűéles, vagyis kevesebb helyet foglal. A motionblur-ban pedig az a jó, hogy csak a mozgásban levő részletek mosódnak el, így nem lesz zavaró a kevésbé részletes kép.
A megvalósításnál a hagyományos, celluloidra rögzítő kamerát vettem alapul. Ha a hollywoodi filmeknek megfelel, akkor egy csmovie-nak is.
A kamera két tulajdonságát kell modellezni, hogy hasonló motionblur-t kapjunk. Az exponálást és a szalagtovábbítást. A kamera 1/24 másodpercenként készít egy új képkockát. Alap beállításnál 1/48 másodperc jut az exponálásra, és szintén 1/48 másodperc a szalagtovábbításra.
Ez 30fps-es videóra levetítve: 1/60 másodperc történéseit kellene 1 képkockára rögzíteni (exponálás), az utána következő 1/60 másodperc pedig mehet a kukába (szalagtovábbítás).
Motionblur-t a legegyszerűbben néhány (sok) képkocka átlagolásával kapunk. Minél kisebb a képkockák között eltelt idő annál több fér bele az 1/60 másodpercbe, azaz annál szebb lesz a végeredmény. Például nézzük meg, mikor 5 képkockát használunk. Szóval az 1/60 másodperbe, hogy 5 képkocka beleférjen, 1/300 másodpercenként kell egy képkocka (1/60/5), vagyis egy 300 fps-es videó. Ebből úgy kapjuk meg a 30 fps-t, hogy öt képkockát átlagolunk, ez lesz a motionblur-ös képkocka, aztán a következő ötöt pedig kidobjuk. Ezt addig ismételgetjük ameddig tart a jelenet.

A jó képminőséghez, elég sok képkocka kell, ahhoz pedig nagy tárkapacitás. Hogy ne teljen be a vinyó pár másodperces jelenettől, olyan megoldásra van szükség, ami on the fly(a művelet közben) végzi a számításokat, és csak a végeredmény kerül a lemezre. Szerencse, hogy a source nem csak tga-t képes menteni, hanem avi-t is. Ha codec-nek az ffdsow-t választjuk, akkor a lehetőségek tárháza nyílik meg előttünk, mivel képes avisynt scriptet futtatni.
Az avisynth-nek olyan funkciója nincs, ami túlmintavételezett anyagból motionblur-os videót generál, de most nem irkálnék itt semmit, ha nem lenne megoldható. A szűrő a TemporalSoften() névre hallgat, amit zajszűrésre használnak. Úgy működik, hogy átlagolja azokat a pixeleket az időben, amit a megadott paraméterek alapján alkalmasnak talál. És most mondanám, hogy miért pont 900 az a fránya fps. Ez a szűrő maximum 15 képkockával tud számolni, vagyis 1/60/15 = 1/900. Aztán a source 1000 fps felett használhatatlan hangot ment, a legfontosabb pedig a sebesség (lassúság).
A szkript 3 sorból áll. Az első sor a 24 bites képet konvertálja 32 bitessé, mert ezt kívánja a szűrő. A harmadik sor pedig a 32 bites képet konvertálja 24 bitessé, mert a 24 bites bmp ezt kívánja. A második sor a TemporalSoften(7, 255, 255) utasításból áll. Az első paraméter a képkockák számát takarja, a másik kettő pedig az érzékenységet. Mivel most nem zajt szűrünk, ezért ezek koppra vannak állítva. A hetes szám nem konkrét képkockaszámot jelent, hanem sugarat (temporal radius). Ezekkel a paraméterekkel a szűrő kimenetén az aktuális képkocka, az előtte levő 7, és az utána következő 7 képkocka átlaga fog megjelenni.
Itt még mindig 900 fps-es a video, de már csak annyi dolgunk van, hogy minden 30-adik képkockát lementjük.

És, hogy miként fest ez a gyakorlatban?

ffdshow900_1
ffdshow900_2
ffdshow900_3


Amint a képeken látszik, apróbb változtatások léptek fel a 90 frames kiszedéshez képest, de fontos, hogy a demo.cfg ben a host_framerate 90-et 900-ra írjuk át, amennyiben ezt a megoldást választottuk.



*TOTAL COMMANDER

Az előző lépésben kaptunk jópár képet aminek egyen elnevezése van ugyan, de így ebben a formában a vegas nem fogja megenni. Ezért kell a tc-ben a csoportos átnevezéssel (Multi-Rename Tool/CTRL+M) kezelésbe vennünk őket. Keressük meg a korábban megadott BMPs mappánkat és az ott sorakozó képeket jelöljük ki növekvő sorrendben jobbklikkel, majd nyomjuk le a ctrl+m kombinációt, vagy válasszuk ki a menüben.
Az új elnevezés számláló(counter) legyen és minimum 5 számjegy hosszúságú (digits), jelenet hosszúságától függően elegendőnek kell lennie az 5-6 értéknek.

total commander

*VEGAS

Nagyon sokan ennél a résznél véreznek el, viszont fontos eljutnunk a veszteségmentes renderelésig.
File-Properties:

vegas0

Hozzuk létre a saját template-ünket, és pipáljuk be, hogy minden projectet ezzel kezdjen(start all new projects with these settings). Majd mentsünk.

vegas1
vegas2
vegas3
vegas4


A video track-et húzzuk a timeline-ra és keressük ki *.*\Steam\steamapps\NEVED\counter-strike source mappában a cs.avi-t és ismételjük meg vele a műveletet!
A piros réteg számunkra felesleges, töröljük is ki!
Majd a file>render as-nál a következő dolgokat végezzük el:

vegas5

A render loop region only-val majd csak a timeline-on kijelölt részt fogja renderelni avi-ba. (ez azért hasznos, hogy ne kelljen mindig az akár több perces anyagon renderelésével időt vesztegetni, alkalmazzuk sokszor csak a kijelölt anyagon a tesztelést)

vegas6

Itt is hozzuk létre a template-ünket amit a floppy-val(save) rendszeresen mentsünk beállításról beállításra!

vegas7
vegas8




*AVIból mp4


A mellékelt csomagban találhattatok egy encoder mappát ami számunkra az utolsó lépést jelenti majd.
Az Avisynth felinstallálása után rögtön neki is kezdhetünk az enkódolásnak, de előtte nyissuk meg az in.avs-t notepaddal (jobbklikk társítás vagy szerkesztés) és a macskakörmök közti részt cseréljük ki az imént renderelt avira!
Ez x264 ben kódolt muxed.mp4-hez vezet, melyet tetszés szerint átnevezhetünk, de legközelebbi kódolás előtt mindenképpen vagy nevezzük, vagy távolítsuk el onnan!

A minőséget a make.bat szerkesztésével a crf x változtatásával lehet módosítani, növelésével kisebb fájlméret, rosszabb minőség vehető észre.

encoder encoder2 encoder3


A LÉPÉSEK RÖVIDEN:

-moviezásra használatos cstrike mappára váltás
-grafika, felbontás
-shift+F2 > load... goto xy tick
-exec demo a console-ba
-resume, space
-popup: ffdshow!
-space space

-total commander > multi rename tool

-vegas > project media > import media > open still image sequence
-cs.avi+
-file > render as

-encoder
-in.avs szerkesztés (notepaddal pl.)
-make.bat



AMIRE FELTÉTLENÜL FIGYELJETEK:
-friends hangjait kapcsoljátok ki
-grafikát maximumra
-16:9 es képarány(aspect ratio),1280*720, run in window
-legyen elég lemez terület



A következő problémák merülhetnek fel:
-nem indul el az encoder a make.bat elindítására vagy elindul de befejezés előtt kudarcot vall
: nincs felinstallálva az avisynth, vagy néhány esetben előfordulhat, hogy ha nincs hang a video alatt nem tud muxolni kellőképpen vagy egyszerűen csak elgépeltétek az in.avs ben macsakaköröm közti részt.

-a space lenyomására elkezd szaggatni a játék, de nem csinál képeket a BMPs mappába
:valószínűleg nem választottad ki az ffdshow-t a felugró ablakban, így az nem a megadott helyre dolgozik.

-fejjel lefelé készültek a képek a BMPs mappába
:mikor 90 frame-el szedjük ki a jeleneteket mindig legyen bepipálva az inputnál a flip picture, 900 frame-nél NE!



LINKEK:
www.sonycreativesoftware.com
K-Lite Codec Pack
Avisynth
x264.nl

 

Címkék: strike counter source ffdshow movie making x264 punkzoli

A bejegyzés trackback címe:

https://punkzoli.blog.hu/api/trackback/id/tr75429335

Kommentek:

A hozzászólások a vonatkozó jogszabályok  értelmében felhasználói tartalomnak minősülnek, értük a szolgáltatás technikai  üzemeltetője semmilyen felelősséget nem vállal, azokat nem ellenőrzi. Kifogás esetén forduljon a blog szerkesztőjéhez. Részletek a  Felhasználási feltételekben és az adatvédelmi tájékoztatóban.

ALEGRO 2008.07.17. 23:51:52

csá gizda kis cikk lehet nekem csak egy muvi cfg kellet de sokat segitett:P
süti beállítások módosítása