Š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 |
Š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“.
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
Kaip pasirinkti tinkamo dydžio bitrate?
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:
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 |
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:
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:
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:
Ž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:
„Width“ ir „Height“ langeliuose įveskite savo norimą rezoliuciją.
„Resize Method“ nustatykite į „Lanzcos3“.
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:
Kaip atrodo pašalintas logotipas:
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:
Filtrų eiliškumas turi atrodyti būtent taip:
- Kaip atrodys būsimas video failas?:
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.
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ė.
-mc opcija daug zadanti :)
AtsakytiPanaikintibet kiek trumpai pasibandziau tai mencoder vis dar tose video vietose kur yra interlace dvigubina kadru skaiciu, ko pasekoje vaizdas suleteja, bet -mc veliau atstato a/v sinchronizacija :) bet vistiek tai neiseitis.
o kokia mencoder versija naudoji?
Su mencoder viskas veikia gerai ir be jokių problemų. Jau gal kokį pusšimtį vaizdo įrašų taip perkonvertavau.
AtsakytiPanaikintiTik svarbiausia konvertavimo metu, konvertuoti iškart garsą, vaizdą ir būtina -mc opcija. Kitokiu atveju pradings sinchronizacija.
O interlace čia ne prie ko.
Naudojama mencoder versija:
MEncoder dev-SVN-r27637-4.3
MPlayer-1.0rc2_r27637
na man tai arba suletejmai arba vaizdo trukciojimai ant tu vietu kur interlace (nes tose vietose buna 50i o ne 25p).
AtsakytiPanaikintijei nesunku gal galetum savo metodu sukonvertuoti si sample ir patalpinti internete? http://ikelk.lt/items/7SLpzqEPUi
http://ikelk.lt/items/Y9Y4J3tvCe
AtsakytiPanaikintiTas tavo vaizdo klipas baisiai trumpas. Ir dar ko gero su viena klaida. Konvertuojant vaizdo įrašo sinchronizacija susitvarko tik maždaug po 10sek nuo įrašo pradžios. Tadėl visada pradžią reikia po konvertavimo nukirpti.
Įrašo gale irgi tas pats, garsas arba vaizdas ten pasibaigia ne vienu metu.
Ir ko tu čia tą vis interlace kartoji?
Nėra jokių 50i ar 25p.
Lietuvoje naudojamas PAL standartas ir griežtai jo laikomasi. Dėl to įrašų metu rodomi 25 kadrai per sekundę ir nei daugiau ir nei mažiau.
O Interlace reiškia reiškia, kad kiekvieno kadro metu atnaujinama tik kas antra eilutė. Ir interlace naudojamas mūsų televizijoje visą laiką, nesvarbu ar tai greito, ar tai lėto judesio scena. Tik lėto judesio scenose, net ir be deinterlace filtrų nesimato vaizdo defektų („šukų“).
Beje mūsų televizijos oficialus žymėjimas „576i“.
anas irasas yra be klaidu, va kaip atrodo teisingai sukonvertuotas tas sample http://ikelk.lt/items/6B9AWdoHqE
AtsakytiPanaikintio tavo sukonvertuotame su mencoder matosi aiskus trukciojimai, ismesti kadrai, todel sinchronizacija nepastovi
interlace kartoju nes lietuvoje skaitmenines tv standartas yra H.264, ir lietuviskiems kanalams yra taikomas PAFF interlacinimo metodas (kai kuriems kanalams MBAFF). Du PAFF paaiskinimai: PAFF: a mix of interlaced and progressive frames ir PAFF allows to decide, on a frame basis, whether to encode each frame as a frame or as two fields.
jeigu manim netiki, gali TS atsidaryti tiesiai su Avidemux (avidemux nepalaiko nei PAFF nei MBAFF), ir pamatysi kad video trukme bus ilgesne nei sakykim tau rodys VLC, todel kad tiek avidemux tiek mencoder rodys interlaced kadrus kaip du atskitus, o mencoderio -mc opcija ismeto kadrus kad palaikytu a/v sinchronizacija, todel ir matosi trukciojimas
bet gera zinia kad naujausias (svn) ffmpeg jau susidoroja su sia problema, tai tikekimes greitu metu ir mencoderis patobules
beje sio interlace metodo palaikyma i ffmpeg idiege http://www.kdenlive.org/ programos autorius
Jau seniai PAFF palaikymas į mplayer/mencoder įdiegtas.
AtsakytiPanaikintiAnksčiau su mplayer net žiūrėti įrašų nebuvo galima. O po to kai buvo pataisymas įdiegtas, nuo tada kuo puikiausiai rodo.
Esu įsitikinęs, kad su mencoder kuo puikiausiai galima konvertuoti įrašus.
Tik reikia parinkti tinkamas parinktis. Su -mc nuostata jau visai neblogi rezultatai, nors gal ir neidealūs.
Reikės dar kartą mencoder nuostatas panagrinėti.
PAFF palaikymas yra idiegtas i libavcodec, kuri naudoja mplayer/mencoder, o teisingas dekoduoto vaizdo rodymas yra mplayer/mencoder darbas
AtsakytiPanaikintipabandyk ana sample ts paleisti per mplayer be jokiu parametru ir pamatysi suletejima kai kuriom vietom, o per VLC (irgi naudoja libavcodec) viskas gerai
su ffmpeg 0.5 (isleistas 2009 03 10) su sia komanta berods konvertuoja idealiai:
AtsakytiPanaikintiffmpeg -i pradinis.ts -async 20 -r 25 -vcodec ffvhuff -acodec pcm_s16le outas.avi
-i failas kuri konvertuoji
-async 20 sinchronizuoja jei irase buvo klaida (kazkas tokio ar net tas pats kas -mc ant mencoder)
-r 25 kad konvertuotas video tikrai butu 25 fps (be sios opcijos ffmpeg kartais susimaiso ir naudoja 50fps)
-vcodec ffvhuff video losseless codekas - visiskai jokio kokybes praradimo bet dideli failai bus
-acodec pcm_s16le standartinis wav - audio konvertavimas be kokybes praradimo
outas.avi sukonvertuotas failas
siuo budu konvertuojant video su laaaabai daug iraso klaidu man nuluzo ffmpeg
dėkui,
AtsakytiPanaikintireikės išmėginti
Gal kokių nuorodų turite į kodekų pliusų ir minusų sąrašų puslapius? Noriu suspausti 1920x1080 video medžiagą, nes MPEG2 1GB užima 12 GB. Pafilmavai vieną dieną ir jau 60 GB kitą dieną dar 40 GB ir jau 100 GB :D Nespėju pirkti HDD :D
AtsakytiPanaikintito Kęstutis:
AtsakytiPanaikintiHD Video suspaudimui nelabai yra iš ko rinktis:
h264/AVC - Pats populiariausias šiuo metu naudojamas kodekas HD suspausdinimui. Juo koduojami daugelis BluRay filmų, po internetą laisvai plaukiojančių HD Rip HDTV Rip ir t.t. Populiariausias encoderis - x264. Taip pat yra daugybė komercinių alternatyvų.
VC-1 - Pasižymi šiek tiek geresnėmis video suspaudimo galimybėmis. Bet kiadangi šis kodekas yra Mi$rosoft nuosavybė, todėl bendras šio kodeko palaikymas yra labai prastas. Šiuo kodeku koduoti failus, ko gero galima tik vieninteliu MS siūlomu kodavimo įrankiu. Nėra galimybės šio kodeko naudoti su MKV, MP4 konteineriais ir t.t.
Visi kiti kodekai arba jau yra pasenę (XviD, DivX ir t.t.)
Arba yra labai ankstyvoje kūrimo stadijoje, kaip pvz: Snow Wavelet Codec
to: nieko_nera
AtsakytiPanaikintiffmpeg irgi ne išeitis.
1. ffmpeg lūžta vos tik pasitaiko pirma dvb-t įrašo klaida.
2. ffmpeg neturi normalaus deinterlace. Su -deinterlace nuostata naudojamas kažkoks pats paprasčiausias deinterlace filtras.
@Vytax, uzvakar susikompiliavau FFmpeg version SVN-r18213, tai si versija jau nebenuluzta net ant irasu su laaaabai daug klaidu (46 sekundziu irase 764 klaidos :))
AtsakytiPanaikintideinterlace galima atlikti veliau, kad ir avidemuxas turi yadif
truputi patobulinta comandu versija, geresnis susspaudimas, ~34mbps
ffmpeg -i LNK.ts -r 25 -async 20 -vcodec ffvhuff -pred 2 -context 1 -acodec pcm_s16le outas.avi
To Tadas:
AtsakytiPanaikintiDėkui. Naujausia ffmpeg svn versija ištiesų nelūžta.
O kas dėl deinterlace. Tai taikant deinterlace tik antrame etape irgi gaunasi nelabai kokybiškas vaizdas. Įtariu, kad ffvhuff kodekas nėra visiškas lossless.
ffvhuff tikrai yra lossless, tai patobulintas huffyuv codeko variantas http://www.mplayerhq.hu/DOCS/HTML/en/menc-feat-enc-libavcodec.html#menc-feat-enc-libavcodec-video-codecs
AtsakytiPanaikintina jei konvertuoji i lossless kodeka tai neprarasi kokybes deinterlace darydamas veliau
tik kazkodel man nedraugauja tie avi (konvertuoti su ffmpeg) su avidemux (su windows bandziau), parasiau sia problema i avidemux foruma, gal isspres si reikala http://avidemux.org/admForum/viewtopic.php?id=5856
Tadas/nieko_nera
O nera teke pasiseske ar teke bandyti konvertuoti gyvos transliacijos (sumazinti bitrate)? Buciau be galo dekingas, jei tinklarascio autorius galetu parasyti el. pastu: tomasa@list.ru
AtsakytiPanaikintiViska dariau pagal jusu duota aprasyma,raso kad failas issaugotas,bet pagal tai kaip as ji ivardinau kompiuteris neranda. Kur jis pradingo???
AtsakytiPanaikinti