2009-03-18

DVB-T televizijos įrašų konvertavimas Linux sistemoje

Šiame straipsnyje pabandysiu aprašyti kaip tvarkingai konvertuoti DVB-T *.ts formato įrašus į *.avi   (XviD) formatą. Kurį puikiai supranta visi kompiuterio ir daugelis buitinių grotuvų.

Aprašymas parašytas, kaip visus darbus atlikti Linux sistemose, bet daug ką galima lygiai taip pat atlikti ir kitose OS.

Kaip žinia *.ts įrašai konvertavimo požiūriu yra gana įnoringi. Daugelyje įrašų vis dėlto pasitaiko įrašymo klaidų, mat DVB-T televizija transliuojama oru, o ne kabeliais ir dėl to kitaip tiesiog neįmanoma. Būtent dėlto daugelis įprastinių video konvertavimo priemonių, su *.ts įrašais nesusidoroja ir konvertavimo metu prarandama audio/video sinchronizacija.

Konvertavimui reikalinga:

  • Linux arba kita *nix sistema.
  • Mencoder
  • Naujausia Avidemux versija
  • Keleto GB laisvos disko vietos
  • Na ir žinoma pačio *.ts formato DVB-T įrašo.

Pats konvertavimas vyks dviem etapais. Pirmo etapo metu bus įrašas perkonvertuotas į mpeg2 formatą kurį puikiai supranta visos video redagavimo programos. Antrame etape bus iškarpomos reklamos, nukarpomi juodi video įrašo kraštai, pritaikomi kiti filtrai ir pats video failas suglaudinamas XviD kodeku.

Pirmas etapas:

Pirmiausia turėsite susikurti paprastą bash skriptą pavadinimu „convertTS.sh“:
#!/bin/sh
name=$(echo $1 | awk -F"." '{print $1}');
mencoder $1 -vf yadif=2 -pp 6 -mc 20 -oac mp3lame -lameopts cbr:br=128 -ovc lavc -lavcopts vcodec=mpeg2video:vrc_buf_size=1835:vrc_minrate=6000:vrc_maxrate=9800:vbitrate=8000:keyint=10:aspect=1.333:trell -o "$name.avi"

Šis skriptas tiesiog paleidžia mencoder programą su tam tikromis nuostatomis. Pabandysiu nusakyti pagrindines nuostatas:
-vf yadif=2 Deinterlace filtras, be jo greito judesio scenose po konvertavimo atsirastų „šukos“.
-pp 6 Įjungiamas Post Proccesing, su juo gaunama geresnė vaizdo kokybė
-mc 20 Garso/vaizdo sinchronizacijos lygis. Ypač svarbi nuostata konvertuojant DVB-T televizijos įrašus.
-oac mp3lame -lameopts cbr:br=128 Garsas iškart perkonvertuojamas į MP3 128kbps.
-ovc lavc -lavcopts vcodec=mpeg2video........ Vaizdas perkonvertuojamas į mpeg2. Konvertuojama į mpeg2 todėl, kad konvertuojant į šį formatą disko vietos sunaudojama pakankamai mažai, o kokybė prarandama minimaliai.

Šį skriptą paleisti galime paprastai konsolėje įrašę:
> sh convertTS.sh file.ts
Vietoje „file.ts“ nurodykite savo DVB-T failo buvimo vietą. Paleidę skriptą, tame pačiame Video „bitrate“ kataloge atsiras *.avi formato failas. Ir noriu iškart įspėti, jis užims daug, 10min. įrašo reikės apie 500MB disko vietos. Dėl to, kas šis failas dar nėra glaudintas.

Beje pats konvertavimo procesas šiek tiek užtruks, gal būt 10min., gal pusvalandį. Viskas priklauso nuo jūsų turimo procesoriaus bei vaizdo įrašo ilgio.

Kai skriptas baigs konvertavimo darbą, iškart galite pereiti prie antrojo etapo:

Antras etapas:

Šio etapo metu vyks vaizdo įrašo redagavimas ir suspaudimas.

Pirmiausia atverkite Avidemux programą ir skripto pagamintą failą (File→Open). O po to atlikite veiksmus iš eilės:

  • Reklamų pašalinimas:

Reklamas pašalinti paprasta. Tiesiog slankiokite apačioje esantį slankiklį ir stenkitės pažymėti reklamos pradžią ir pabaigą. Norėdami pažymėti reklamos pradžią nuspauskite šalia slinkiklio esantį mygtuką su raide „A“. O norėdami pažymėti pabaigą nuspauskite mygtuką su raide „B“.
Avidemux
Norėdami tiksliau nustatyti reklamos pradžią ar pabaigą, naudokitės klaviatūros rodyklių klavišais.
Kai pažymėjote savo norimą iškarpą, eikite į meniu ir nuspauskite: „Edit→Cut“.

Šitaip kartokite, kol neliks nė vienos reklamos ir vaizdo įraše nebebus nieko nereikalingo.

  • Video „bitrate“ apskaičiavimas
„Video bitrate“ tai vaizdo duomenų srauto dydis. Kitaip tariant tai tas kiekis informacijos bitų kuris tenka užkoduoti vienai sekundei vaizdo. Kuo „Video bitrate“ didesnis, tuo vaizdo kokybė gaunasi geresnė, bet tuo pačiu ir failo dydis gausis didesnis. Priešingu atveju gausis mažesnis failas, bet ir vaizdo kokybė atitinkamai suprastės.

Kaip pasirinkti tinkamo dydžio bitrate?
a.) Jei jums nerūpi  būsimo failo dydis, galite rinktis bitrate 1000kbps. Šio dydžio visiškai pakanka užkoduoti dabartinės kokybės DVB-T televizijos įrašams. Na žinoma galite rinktis ir šiek tiek daugiau, 1200kbs ar 1400kbs. jei norite būti tikri dėl kokybės.
b.) Jei jums vis dėl to svarbus failų dydis, pasinaudokite skaičiuokle: Ją paleisti galite iš meniu: „Tools→Calculator...“. Ir atsivėrusiame lange nustatykite nustatymą „Medium“ į „Custom“ ir „Custom size“ langelyje nurodykite savo norimą būsimo failo dydį. Taip kaip parodyta šioje nuotraukoje:
Avidemux Calculator
Rekomenduojami failų dydžiai:
Video įrašo trukmė (min) Rekomenduojamas failo dydis (MB)
18:00-23:59 175
24:00-34:59 233
35:00-52:59 350
53:00-59:59 440
60:00-64:59 525
65:00-95:00 700
Šie failų dydžiai yra jau nuo seniai plačiai naudojami internetinėse bendruomenėse. Tad patariu ir jums juos naudoti.
Bet, kad ir kokį failo dydį pasirinktumėte, „video bitrate“, negali būti mažesnis nei 800kbps, nes jei bus mažesnė, per nelyg nukentės video kokybė. Taip pat nėra prasmės „video bitrate“ taikyti daugiau nei 1500kbps, nes tai tebus tik be reikalingas disko vietos švaistymas.

Taip pat skaičiuodami busimą failo dydį, papildomai pridėkite 2MB. Nes būsimas failas dažniausiai visada gaunasi šiek tiek mažesnis nei buvo numatyta.
  • Vaizdo įrašo suspaudimo (koduotės) nustatymai:
Kai iškarpėte reklamas, nustatykite šoninėje nustatymų juostoje video suspaudimo kodeką į „MPEG-4 ASP (Xvid4)“. Taip kaip parodyta šioje nuotraukoje:
Avidemux
Vėliau būtinai paspauskite šiek tiek žemiau „Video“ dalyje esantį „Configure“ mygtuką. Atsivėrusiame lange nustatykite dvi nuostatas:
„Encoding mode“ - „Two Pass - Average Bitrate“
„Average bitrate (kb/s) - nurodykite „video bitrate“ kurį apskaičiavote anksčiau.
Pavyzdys:
Avidemux XviD Settings
Kai viską šiame lange nustatysite, nepamirškite nuspausti mygtuko „OK“.

Juodų vaizdo kraštų apkarpymas:
Kadangi pas mus skaitmeninė DVB-T televizija dar nėra visai skaitmeninė, tai vaizdo kraštuose dėl to atsiranda juodos juostos. Matyt dar iš studijų gaunamas signalas yra analoginis ir tik kažkuriame perdavimo etape jis konvertuojamas į skaitmeninį. Tikėkimės, kad netolimoje ateityje Lietuvoje bus pereita prie „gryno“ skaitmeninio signalo. Tada šio punkto nereikės vykdyti.

Norėdami pašalinti juodus vaizdo kraštus spauskite meniu punktą „Video→Filters“. Atsiradusiame lange susiraskite filtrą pavadinimu „Crop“. Jis yra „Transform“ skiltyje. Tada tą filtrą du kart spustelėkite ir atsidarys langas. Tada atsidariusiame lange nustatykite „Left“, „Right“, „Top“ ir „Bottom“ reikšmes taip, kad apačioje esančiame vaizde nesimatytų juodų kraštų. Po visko nepamirškite nuspausti mygtuko „OK“.



  • Video rezoliucijos nustatymas:
Kadangi pas mus televizijos raiška nestandartinė (544x576), o dar nukarpius kraštus ji gali tapti tokia kuri bus netinkama užkoduoti XviD kodeku. Todėl todėl reikia keisti rezoliuciją. Rekomenduoju jums naudoti 640x480, 640 - plotis, 480 -aukštis. Plačiaformačio formato įrašams atitinkamai: 640x400.

Žinoma galite rinktis ir kitokią rezoliuciją, tik atminkite rezoliucijos kraštinių dydžiai (aukštis ir plotis) būtinai turi dalintis iš 16. Nes tik tokiu atveju video suspaudimo kodekai geriausiai atlieka savo darbą.

Rezoliuciją pakeisti galite atsidarę filtrų langą: „Video→Filters“. Ir ten susiradę „Resize“ filtrą. Jis yra „Transform“ skiltyje. Ir atsidariusiame lange suveskite parametrus:
nuimkite varnelę nuo  „Lock Aspect Ratio“.
„Width“ ir „Height“ langeliuose įveskite savo norimą rezoliuciją. 
„Resize Method“ nustatykite į „Lanzcos3“.

Avidemux Resize Filter

Lanzcos3 vaizdo ištempimą patariu naudoti todėl, kad šis filtras pats kokybiškiausias. Tik jis turi vieną trūkumą - jis lėtas. Jei labai skubate galite naudoti „Bilinear“ ar „Bicubic“, jie žymiai spartesni, tik su jais vaizdo kokybė gaunama tik šiek tiek blogesnė.
Po visko nepamirškite nuspausti mygtuko „OK“.

  • Logotipų šalinimas:
Šis žingsnis iš esmės nėra būtinas. Jo metu tiesiog užmaskuojuomas televizijos logotipas.

Kaip atrodo pašalintas logotipas:
Avidemux Mplayer Delogo Sample

 Bet vis dėlto šis filtras nėra tobulas ir užmaskuotoje vietoje vis teik lieka šiek tiek susiliejusi „dėmė“. Lėto judesio laidose šis filtras išties pateikia puikių rezultatų, bet greito judesio scenose geriau jo nenaudoti.

Šį filtrą galite įjungti atsidarę filtrų langą: „Video→Filters“. Ir ten sussiradę „MPlayer delogo“ filtrą, kuris yra „Miscellaneous“ dalyje. Ir atsidariusiame lange keiskite „X“, „Y“, „Width“ ir „Height“ reikšmes taip, kad lange esantis žalio stačiakampio viduryje atsirastų jums nepatinkantis logotipas. Ir dar patariu stačiakampį padaryti šiek tiek didesnį, nei logotipas, paliekant iš kraštų šiek tiek vietos. Taip tiesiog geriau veikia.

 Darykite taip kaip parodyta pavyzdyje:

Po visko nepamirškite nuspausti mygtuko „OK“.

  • Filtrų eiliškumas:
Dėdami video filtrus, būtinai atkreipkite dėmesį į jų eiliškumą. Pirmoje vietoje būtinai turi būti „Crop“ filtras, po to „Resize“, o poto „Delogo“. Jei kažkurios sukeisite vietomis, gausite visai ne tokius rezultatus kokių tikitės.
 
Filtrų eiliškumas turi atrodyti būtent taip:


  • Kaip atrodys būsimas video failas?:
Avidemux programoje galite iškart peržiūrėti būsimą video failą, kaip jis atrodys ateityje. Ir jei kur nors suklydote, galėsite iškart ištaisyti klaidas.

Jums tiesiog tereikia įjungti galutinio failo peržiūrą. Ją įjungti galite paspaudę meniu: „View→Preview Mode→Output“.

Ir tada jums tiesiog tereikės įjungti mygtuką „Play“ ir matysi galutinį video failo vaizdą.
Jei leidžiant video failą įjungus šį režimą programa trūkčios, nenusigąskite. Tiesiog jūsų kompiuterio procesorius nepajėgia realiu laiku apdoroti jūsų video failo. Trūkčiojimo galutiniame faile tikrai nebus.

  • Video failo išsaugojimas:

Na ir priėjome galutinį etapą, t.y. video failo išsaugojimą bei suspaudimą. Kai viską programoje nustatėte, nustatėtė koduotę, video bitrate, parinkote tinkamus filtrus, tada galite pradėti šį procesą.

Paleisti video failo išsaugojimą galite paspaudę meniu: „File→Save→Save Video“.

Ir įspėju šis konvertavimo procesas šiek tiek užtruks. O kiek daug priklauso tik nuo jūsų turimo kompiuterio procesoriaus, su Intel Core i7 ar Phenom 2 užtruks gal keliolika minučių, o senam Celeron procesoriui gal būt nepakaks ir pusdienio.

Avidemux Encoding

Apibendrinimas

Gal būt čia prirašiau daug labai ir jums pasirodys čia labai sudėtinga. Bet iš tiesų taip nėra, vieną telvizijos įrašą galima apdoroti vos per kelias minutes. Tik pats konvertavimo procesas užtruks gerokai ilgiau.
Galėjau aprašymą parašyti žymiai trumpesnį, tik norėjau paaiškinti kam kiekvienas etapas yra reikalingas ir kokia jo prasmė.

2009-03-03

World of Goo

Vasario 14 dieną apsirodė World of Goo žaidimo versija Linux sistemoms. Tad netrukau ir aš ją išbandyti. Tenka pripažinti tai išties šaunus ir patrauklus žaidimas. Nors jo idėja  labai paprasta, bet pats žaidimas nepaliauja manęs stebinti savo išbaigtumu.

Žaidimo esmė:

Žaidimo tikslas iš „Goo“ padarėlių statyti įvairias struktūras (tiltus, bokštus ir pan.) taip, kad likusi dalis padarėlių galėtų pasiekti vamzdį ir keliauti toliau. Tačiau, kad viskas nebūtų taip paprasta  žaidime galioja realistiški fizikos dėsniai, jei ką nors blogai statysime struktūra tiesiog sulūš. Dar žaidimą paįvairina daugybė smulmenų: Tai įvairūs Goo padarėliai, vieni stipresni, kiti silpnesni, vienus galima kilnoti iš vienos vietos į kitą, dar kiti prisipučia kaip balionai ir kelia visą struktūrą aukštyn. Taip pat, įvairūs besisukantys dantračiai, spygliai trukdantys statybas. Patys pirmi lygiai iš ties lengvi, bet paskutiniuose lygiuose reikia jau gana stipriai pasukti galvą, kaip vieną ar kitą lygį praeiti.

Asmeninė nuomonė:

Mano nuomone tai žaidimas greičiausiai prasidėjo nuo paprasčiausio fizikos emuliatoriaus, kokius dažnai daro informatikos studentai daugelyje pasaulio universitetų. O po to tas emuliatorius labai gerai (tiksliau puikiai ar net idealiai) apipavidalintas, sugalvoti lygiai ir tapo žaidimu kokiu dabar matome. Būtent pats žaidimo išpildymas ir suteikia žaidimui žavesį.
Žaidime greičiausiai naudojama vektorinė grafika, suteikianti žaidimui puikią ir išskirtinę išvaizdą.

Veikimas Linux sistemoje:

Žaidimas puikiai veikia Linux sistemoje. Tereikia žaidimą nusipirkti, parsisiųsti, išpakuoti ir paleisti vieną *.sh failą ir galima jau žaisti. Nieko nereikia konfigūruoti, nereikalingos jokios papildomos bibliotekos ir pan.  Dar netgi žaidime nėra jokių kopijavimo apsaugų, nereikia jokių serijinių raktų ir t.t. Tiesiog patogiau ir negali būti.

Žaidimo vaizdai:




Nuorodos:

Pagrindinis puslapis: http://www.worldofgoo.com/

Aprašymai lietuvių kalba: