PDA

Žiūrėti pilną versiją : Greitas MKV ir MP4 failų karpymas naudojant AviSynth ir VirtualDub



Squalleh
2011-01-27, 18:55
Gan seniai neberašiau tutorialų. Reikėtų keisti situaciją.
Labai ilgai stebėjau kaip dauguma žmonių vis klausia tuos pačius klausimus apie mp4/mkv karpyma ir konvertavimą, ir gauna tuos pačius atsakymus ir nuorodas į skirtingus konverterius ir pan. Taip, buvau taip pat vienas iš tų žmonių.

Bet šiandien nusprendžiau palengvinti (?) jums visiems gyvenimą ir todėl atsisėdau rašyti šį tutorial'ą.

Taigi prieš pradedant, mums reikės...
*mkv arba mp4 video gabaliukas, kuri mes ir karpysim.
*Haali Media Splitter (http://haali.su/mkv/)
*Avisynth
*VirtualDub
*MediaInfo (http://mediainfo.sourceforge.net/ru) (Karpymui nereikalingas)

Parsisiuntus visus reikiamus elementus, reikia padaryti dar nedidelę manipuliaciją: atrandam failą "avss.dll" (kuris turi būti čia C:\Program Files\Haali\MatroskaSplitter\avss.dll) ir kopijuojam jį į aviSynth'o plugin aplanką (kuris turi būti čia C:\Program Files\AviSynth 2.5\plugins)

..ir pradedam.

Skriptas

Taigi. Kaip atsimenate, mes turim, pavyzdžiui, mp4 failą, kuris vadinasi "video.mp4".
Atidarome Notepad'e naują dokumenta ir įrašom ten štai ką:

DSS2("D:\video.mp4")
ConvertToRGB24

*nedidele rekomendacija: pasistenkit laikyti norimą failą kur nors ant desktop'o ar kur nors netoliese, nes teks daug rašyti pačiame skripte, kad jis galėtu jį atrasti.

Išsaugojam (notepad failo galūne butinai turi buti .avs), atidarom VirtualDub ir tiesiog permetam savo dokumentą tiesiai ten.
Jeigu viska padarėte taip kaip reikia, norimas video failas yra savo vietoje ir vadinasi taip pat kaip parašėte notepad'e, norimas video turi atsirasti VirtualDub langelyje.
O toliau jau dirbam taip pat kaip ir visada su VirtualDub.
Jeigu nežinote kaip apsieiti su VirtualDub, jums čia (http://www.animezona.net/forum/threads/3141-VirtualDub-Mod-tutorial).

Na, štai bazinės operacijos aprašymas. Viskas paprasta, greitai ir be jokiu konverterių. Bet kas kam patogiau.

O dabar apie papildamas funkcijas, kurias siulo aviSynth:

Cropping (atkirpimas)

Taigi tarkim jūs jau turit visą vaizdo medžiaga, kuria norite naudodi savo klipe. Bet atrandat tokia (http://www.netbooktech.com/wp-content/uploads/2009/12/h264videoplaybackcpuutilization-thumb.jpg) situaciją ir jums butinai reikia atsikratyti to cache (juodos linijos). Dauguma videoredaktorių siulo tokia funkciją ir galimybes, BET tai galima padaryti ir avisynth'e, prirašant štai ką:


DSS2("D:\video.mp4")
ConvertToRGB24
Crop(a,b,-c,-d)


a - pixelių kiekis, kuris bus atkirptas iš kairės
b - ... iš viršaus
-c - ... iš dešinės
-d - ... iš apačios

Resolution (Kadro dydis)

Taip, taip. Avisynth'e galima keisti ir rezoliuciją. Prieš kuriant geriausiai apsispręsti su klipo rezoliuciją. Mūsų atvejų - jeigu kuriate su vienu anime, problemu neturėtų būti, bet jei pavyzdžiui sugalvojote sumaišyti keleta anime ir daryti mix'a, butinai išspręskit rezoliucijos klausimą prieš pradedant kažką kurti. Sužinoti video rezoliuciją galima naudojant MediaInfo (parsiuntimo nuoroda post'o pradžioje)
Taigi.. grįžtame prie mūsų skripto. Norėdami kad jūsu video aspektas būtų 16:9, geriausias rezoliucijos pasirinkimas būtų toks:
640х360; 704х400; 768х432; 848х480; 1024х576; 1280х720.
Jeigu taip išėjo kad teks sustoti ant 4:3, geriausio pasiulymo už 640x480 tikriausiai nerasti.
Tarkime, jau apsisprendem ir norint kad keitimas ivyktu, reikia įrašyti

DSS2("D:\video.mp4")
ConvertToRGB24
Spline36Resize(x,y)

.. kur x kadro plotis, o y - ilgis.
Tad norėdami kad mūsų kadro dydis taptu.. na tarkime 704x400, kodas atrodys taip:
Spline36Resize(704,400)

FPS (kadrų dažnis)

Taip, su AviSynth galima ir keisti fps. Tik šiuo atveju rekomenduočiau nauduoti After Effects Twixtor plugin'a, kuris mano manymu lengvesnis.
Bet jeigu kažkam reikės, galėsiu aprašyti ir avisynth'o metodą.


Na štai ir viskas daugmaž. Tikrai patogus metodas karpyti mp4/mkv failus be papildomų konvertavimų ir vaizdo kokybės praradimo. Taipogi užmiršau paminėti, jog visas funkcijas galima surašyti į viena skriptą ir jie visi dirbs kartu.
Tikiuosi tai kam nors padės ir palengvins karpymo procesą. Jeigu yra klausimų/reikalavimų rašykit čia, pasistengsiu padėti.

Squalleh
2011-01-29, 03:05
Primenu dar, jog..

...jeigu kažkam reikės, galėsiu aprašyti ir avisynth'o metodą.

daimonass
2011-01-29, 10:03
jeigu kažkam reikės, galėsiu aprašyti ir avisynth'o metodą.

Manau nelauk kieno nors prasymu, o iskart padaryk.
Beje manau kad paveiksliukai kiekvienam etapui tikrai nepamasytu, nes garantuoju "zaliems" zmogeliukams kils papildomu klausimu.
O taip atkristu apie 30-40% papildomu klausimu.

Olasas
2011-01-29, 13:46
Pritariu daimonui, paveiksliukai tikrai nepakenktų. Šeip tai tikrai naudingas tutorialas, manau daug kam padės ;)

Squalleh
2011-01-29, 14:05
Manau nelauk kieno nors prasymu, o iskart padaryk.
Nusprendžiau palaukti, nes su Twixtor rimtai daug lengviau keisti fps. Žinau tiesiog. Ir žaliems tikrai bus patogiau su juo daryt. Bet jei jau taip, tai veliau ir avisynth'o aprašysiu.

Beje manau kad paveiksliukai kiekvienam etapui tikrai nepamasytu
uh.. man daryti iš notepad'o screenshot'us?

Lucion666
2011-02-12, 15:50
Nors ir viską darau kaip šitam tutorial, virtual dub išmeta klaidelę, kai įmetinėju .avs surašytą scriptą :/ file'as nurodytoje vietoje, avc codec'o.. :( Beje, kiek pastebėjau su Avisynth draugauja ir meGUI(visai neblogas converteris)...

Squalleh
2011-02-12, 18:58
Lucion,
1) Tu dirbi būtent su VirtualDub, ar VirtualDubMod? Su paprastu Dub'u nebandžiau karpyti su skriptais, bet ant DubMod'o viskas eina puikiai.
2) Pakeitei failus kaip minėjau pradžioje? Klausiu nes pačiam teko su tuo pasedėti pakankamai, nes Dub irgi klaidas mėtydavo.
3) Kur laikai failą? Dažniausiai geriausias variantas tai būtų desktop'e, kadangi failo adresą beveik ir nereikia rašyti.
4) Dar karta patikrink failo vardą ir formatą. Visko būna. Nes aš turiu 2 atskirus avs skriptus - mkv ir mp4 failams.
5) Bandyk dar karta. Nes pirma karta su juo reikia pasedėti kad isitikintum, jog viskas veikia ir veiks toliau. Tad sekmės.

dangerous
2012-05-20, 22:19
o nėra būdo, kad konvertuotu greiciau ir aukstos kokybes neuzimtu labai daug vietos?

Squalleh
2012-05-20, 22:45
Na kaip minum 2 pirmi punktai atitinka šiam metodui.