Demux a střih (nejen) DVB v ProjectX

(psáno podle PX verze 0.81.9 v prosinci 2004)

 

 

Preambule

 

Předesílám, že tohle není absolutně vyčerpávající návod a můžeš klidně přijít i na nějaká vylepšení. Pokud se tak stane, dej mi prosím vědět, návod doplním, aby ostatní uživatelé nemuseli objevovat objevené. Kontakt je na konci návodu.

 

Rád bych na začátku jmenovitě poděkoval kolegovi z TVFreak Supermanovi (F.K.), za cennou spolupráci při objevování vychytávek programu PX a kolegovi Milhausovi za korektury, oponenturu a betatestování tohoto návodu na vlastní osobě. Ostatním kolegům z TVFreak pak za příjemnou společnost po dobu posledních cca dvou měsíců a Mikeovi za perfektní fórum, kde si můžeme vyměňovat rady, zkušenosti a sprosťárny.

 

 

Proč PX

 

Když jsem se začal vrtat ve zpracování záznamu DVB-T, jako první mi přišel pod ruku program PVAStrumento. Myslím, že je to velice vydařená záležitost, ale má svoje limity, na které každý dřív nebo později narazí. Asi zásadní věc je neschopnost rozdělit audio složku na dva separátní kanály pro duálně vysílané pořady, nutnost používat ke střihu další program (nejčastěji MPEG2Schnitt, taky ho mám rád, ale používám ho už jen velmi vyjímečně), a pro šťastné majitele karty TechniSat AirStar 2 včetně plné verze programu DVB Viewer, mezi které se počítám, neschopnost demuxovat několik programů z jednoho streamu nahraných současně do souboru *.ts. Tady to jenom malinko rozvedu a pak už se vrhnu na návod – plná verze DVBVieweru (15 EUR) umožňuje kromě jiného nahrát kompletní vysílání jednoho multiplexu, tedy např. (což je častější varianta) třeba dva pořady, které běží současně na různých TV stanicích v rámci jednoho multiplexu (kanálu). PX je umí separátně sestříhat (tedy sestřihnout začátky a konce a vystříhat reklamy), oddělit levý a pravý zvukový kanál, pokud je pořad vysílaný duálně a odpovídajícím způsobem vyexportovat skryté titulky ze stránek teletextu, to vše za udržení synchronicity všech elementů. S PX se dá dělat víc věcí, než jen demux, ale já se jimi v tomhle návodu zabývat nebudu. Určitě na to přijdeš sám, když bude třeba. Takže je už asi jasné, proč ProjectX, teď jde o to jak.

 

 

Instalace PX

 

PX má tu zvláštnost, že je to javovská aplikace, tudíž se klasickým způsobem neinstaluje a nemá žádný spustitelný (*.exe) soubor. Dá se najít ve dvou provedeních – jednak jako archiv, který obsahuje zdrojové soubory, ale je třeba jej kompilovat, jednak už v kompilované podobě. Rozdíl ve funkčnosti není žádný, v náročnosti „instalace“ veliký – kompilovaná verze se prostě rozbalí, uloží na disk a je to. Kompilovaná verze, kterou popisuji, je ke stažení třeba tady: http://www.doom9.org/Soft21/DigiTV/ProjectX_0.81.9.00.zip.

Po rozbalení, uložení na disk a pokusu o první spuštění můžeš narazit na první překážku. Spouští se souborem ProjectX.jar, což je vlastně archív, který se Ti pravděpodobně pouze rozbalí v archivačním SW, který používáš (WinZip apod.). Tenhle problém je ovšem snadno řešitelný: doporučuju vytáhnout si zástupce souboru ProjectX.jar na Plochu, kliknout na něj pravým tlačítkem (někdo bude muset přidržet klávesu Shift), z roletky vybrat Otevřít v programu (Open With) a úplně dole dát Vybrat program (Choose Program). Poté je třeba nalistovat cestu k souboru javaw.exe, který nejspíš bude v C:\Program Files\Java\jre(Java Runtime Environment, bude tam ještě číslo verze, já mám 1.5.0)\bin. Pokud nemáš nainstalovanou Javu nebo nějakou prastarou verzi, doporučuju automatický download na http://java.sun.com/webapps/getjava/BrowserRedirect?locale=en&host=www.java.com:80. Docela se hodí po vybrání toho javaw.exe ještě v okně Otevřít v programu (Open With) zaškrtnout checkbox Vždy použít... (Always use...). Pak už totiž bude vždycky stačit jenom poklepat zástupce, co sis vytvořil na ploše, což je o dost pohodlnější cesta. Ještě před startem PX vyskočí dialog s „licenčním ujednáním“, klikni I Agree a je hotovo. Při dalších startech tohle okno vyskočí vždycky, ale po chvilce se samo potvrdí a zmizí.

 

 

Nastavení PX

 

Pokud se Ti nelíbí vzhled PX, dá se přepnout v menu View. Jinak je téměř všechno nastaveno optimálním způsobem, proto se zastavím u několika drobností, které doporučuju zkontrolovat, případně nastavit.

Záložka audio – v pravém rámečku „audio manipulations“ by měly být zaškrtnuté volby delete CRC in MPEG-Audio Layer1,2, fill gaps with prev. frame a add frames. Tohle může zůstat napořád.

V levém rámečku „audio conversions“ si hraj jak libo, podstatný je, že pokud se chystáš demuxovat duálně vysílanej pořad, rozbalíš si horní roletku „direct lossless conversion...“ a vybereš (4) Split 2channel into 2 single (1=L,2=R).

Záložka subtitle – pokud chceš exportovat skryté titulky, v první z řady roletek si vyber stranu 888 a pod tím si zaškrtni v jakém formátu se mají titulky exportovat. Záleží samozřejmě na tom, do jakého formátu sis pořad nahrál, s jistotou vím, že titulky obsahuje formát *.ts, o kterém jsem psal v úvodu, nejsem si jist, jestli je má i formát *.pva, ale snad jo, jak je to u jiných formátů nevím, protože jsem jiné nikdy nepoužíval.

Záložka extern – vřele doporučuju zaškrtnout v levém rámečku „externals / post processing“ volby rename all MPEG-Audios to *.mpa a rename all MPEG-Videos to *.mpv. Tahle úprava zrychlí práci s GordianKnot (dále GK, viz. separátní návod), protože jinak Ti z PX vylezou soubory s koncovkou m2p a mp2, které GK „nevidí“ a musel bys je manuálně přejmenovat.

V pravém rámečku „Projectfile settings“ pak volba Mpeg2Schnitt idd version: V2/A3 vytvoří idd soubory, které se hodí, pokud bys chtěl demuxovaný materiál přesněji stříhat pomocí Mpeg2Schnitt (M2S). M2S má proti střihu v PX tu výhodu, že umí stříhaný materiál přehrávat, tzn. pokud se chceš trefit přesně do nějakého místa, v M2S k tomu uslyšíš i zvuk. Nevýhodou je, že M2S neumí současně s AV střihat i titulky ze strany 888 teletextu. Drobnou nevýhodou je i fakt, že pokud stříháš až v M2S, demuxuješ celý hrubý materiál, takže proces déle trvá a má dva kroky místo jednoho. Dál si v tomtéž rámečku zaškrtni i Create *.d2v Projectfile on demux for each selected videofile – tohle Ti hodně usnadní práci v GK, protože ten právě umí zpracovávat pouze soubory *.avi a *.d2v.

Nicméně pokud máš jenom soubory *.mpv a *.mpa, soubor *.d2v se dá dovytvořit z rozhraní GK – v záložce Ripping si spustíš DVD2AVI, dáš File – Open, najdeš si ten *.mpv soubor, dáš Open – OK, pak dáš File – Save Project (F4), soubor pojmenuješ a dáš Save. Ten proces je dost rychlý, takže tím moc času neztratíš.

Tohle nastavení pro základní práci v podstatě stačí. Ještě je vhodný si nadefinovat adresář, kam budou ukládány demuxované soubory. Pokud máš víc harddisků, doporučuju zvolit jinej, než na kterým jsou uložený nahrávky – subjektivně je demux trochu rychlejší, když čte z jiného disku, než na který zapisuje. Adresář určíš pomocí tlačítka „+“ úplně vpravo nahoře, pod okýnkem output directory.

Jedna drobnost na závěr části nastavování – docela se hodí zaškrtnout si trvale checkbox vlevo uprostřed, pod roletkou, kde je defaultně nastaveno demux, a sice „all colls“. Význam tohoto nastavení bude jasný po přečtení kapitoly Střih hrubého materiálu.

 

 

Vybrání souboru pro demux

 

Tlačítkem „<<<“ (pokud používáš Halloween Edition jako já, občas se tam objeví dýňová hlava...) si můžeš předvolit adresář, ve kterém obvykle ukládáš nahrané video před demuxem. Tímtéž tlačítkem se k nim pak dostaneš velice rychle. Druhý způsob, jak otevřít nahrávku je pravý klik do velkého okna vlevo nahoře a volba Add z roletky, třetí způsob klasicky přes File – Add. Jakmile přidáš první vstupní soubor, v malé roletce > coll. # nahoře uprostřed se Ti objeví „0“. Tím sis vytvořil nultou kolekci.

 

 

Kolekce

 

PX umí demuxovat více souborů na jeden zátah, k čemuž právě slouží vytváření kolekcí. Pakliže tedy chceš sestříhat a demuxovat další soubor, tlačítkem „+“ v šestici tlačítek uprostřed vytvoříš další kolekci  a v roletce nad tlačítky se objeví „1“. Analogicky si vytvoříš tolik kolekcí, kolik nahrávek chceš demuxovat a každá dostane svoje číslo. Pokud máš nahraný stream (*.ts) více programů, pak je pro další zpracování potřebuješ definovat (více viz další kapitola). V takovém případě máš zřejmě stejnou kartu a DVBViewer jako já – pokud ne, můžeš zbytek odstavce přeskočit - takže se Ti při nahrávání kromě *.ts souboru vytvořil ještě *.txt. Když si ten textový soubor otevřeš v notepadu, najdeš v něm identifikaci jednotlivých programů – např. ČT1 z mpx ČTc má PIDy: 1100=PMT, 1101=Video, 1102=Audio, 1105=Videotext, ČT2 analogicky začíná 12. Pokud tedy máš nahrávku, která obsahuje oba programy, pak vstupní soubor otevři v kolekci 0, vytvoř si další kolekci a v ní si ten vstupní soubor otevři zase. Příklad – teď je každý čtvrtek od osmi na ČT1 slušnej českej film, pak cca 21:50 Budování státu, zatímco na ČT2 od osmi výbornej dokument Superčlověk a od 21:40 Mezi námi zvířaty. Takže nahrávám oba programy od osmi cca do deset deset. Když pak chci demuxovat, vytvořím si čtyři kolekce, v každý si otevřu ten stejný *.ts soubor, pro pořady z ČT1 zadám PIDy ČT1, pro ČT2 zas ČT2, sestříhám (viz další kapitola) každý pořad zvlášť a demuxuju vše v jednom tahu.

Pozor: pokud se chystáš demuxovat programy vysílané ve stereu a programy vysílané duálně, nelze to udělat v jednom tahu. Jak jsem už popisoval v kapitole Nastavení PX, u duálních pořadů nastavuješ oddělení levého a pravého kanálu, což by u stereo pořadů bylo dost nevhodné. Takže nejdřív si musíš demuxovat jeden a pak druhý typ. Samozřejmě je lepší začít těmi, kterých je míň – obvykle duálními...

 

Malá odbočka: PX umí samozřejmě navázat jednu výslednou sadu *.mpv a *.mpa z více nahrávek. Pokud tedy máš několik souborů, které na sebe navazují, postupně je otevři v základním okně, jak bylo popsáno výše. Pokud se Ti povede je přeházet, pomocí šipek nahoru a dolu v středové šestici tlačítek je můžeš seřadit. Tohle se hodí, pokud sis ripnul nějaký DVD, protože PX umí demuxovat i *.vob...

 

 

Střih hrubého materiálu

 

Pravým kliknutím na soubor, který chceš demuxovat, si otevřeš roletku a vybereš open Cut/Specials. Tím se otevře náhledové okno pro střih.  Pokud ses pustil do demuxu více kolekcí, jak bylo popsáno výše, je velmi rozumné hned zaškrtnout checkbox create coll# as subdirectory. Stačí zaškrtnou jednou, při střihu dalších kolekcí už bude automaticky zaškrtnuté. Tím se během demuxu budou v adresáři, který sis určil jako cílový, vytvářet podadresáře, do nichž se uloží demuxované soubory z jednotlivých kolekcí zvlášť. Tohle je naprosto nutné, pokud demuxuješ víc pořadů z jednoho *.ts souboru, protože jinak by se Ti ty soubory přepsaly a měl bys jen ten poslední. Pokud tedy chceš stříhat *.ts, je potřeba definovat, který program se má střihat v dané kolekci. K tomu slouží okénko PES(&Sub)/PID list. Sem postupně napíšeš PIDy daného programu (viz předchozí kapitola), vkládají se klávesou Enter. Pokud se spleteš, dvojím kliknutím na PID v seznamu ho odstraníš. Když máš vloženy všechny (4) PIDy, klikneš si dole vlevo na Apply a můžeš se pustit do vlastního střihu.

V náhledovým okně vidíš video, audio bohužel PX nepřehrává, což je asi jediná, ale celkem nepodstatná chybka. Posuvníkem si zhruba najdeš začátek sekvence, kterou chceš zachovat, buď klikáním myši na „<” a >” nebo kursorovýma šipkama na klávesnici dojedeš po I frejmech na přesný místo, kde chceš střihnout a pak buď klikneš na add point, případně na klávesnici na „a“. K dalšímu ovládání – Ctrl+kurzorová šipka odpovídá tlačítku << resp. >>, klávesou „p“ se vrátíš k minulému bodu střihu, „n“ se posuneš k následujícímu – tohle se hodí při vystřihávání reklam, protože to umožňuje rychlou kontrolu návaznosti míst střihu před a za reklamním blokem. Drobná rada – většinou jsou reklamní bloky vloženy tak, že ve filmu je chviličku před přerušením střih a po přerušení se to místo se střihem opět opakuje, takže takhle se dá snadno a celkem přesně navazovat. Případný špatně umístěný bod střihu se dá odstranit buď tlačítkem del point resp. klávesou „d“. Na časové ose pod náhledovým oknem je pak dobře vidět, co při demuxu zůstane (zelené části) a co bude vyříznuto (červené).

Po dokončení střihu klikni vpravo dole na Apply&Close a je prakticky hotovo. Pokud tedy nemáš další kolekce ke stříhání, pokud ano, prostě ten postup zopakuješ, dokud není vše sestříháno.

 

A když je hotovo, v hlavním okně PX vlevo uprostřed klikneš na „Go!“ a spustí se vlastní demux. Pokud potřebuješ proces pozastavit, tlačítko „P“ funguje jako pauza, pokud chceš proces zrušit, klikni na „C“ (cancel). „I“ je pro získání podrobnějších  informací o demuxovaném souboru.

Za pár minut je hotovo a můžeš postoupit k další práci s videem – buď autoring DVD nebo komprese do formátu MPEG4. Pokud se do toho chceš pustit, postup za použití programu GordianKnot (GK) je popsán v separátním návodu.

 

 

 

 

 

 

 

Velmi detailní návod k PX v angličtině je na http://www.doom9.org/index.html?/DigiTV/projectx-fullguide.htm, jedinou nevýhodu má, že je psán podle starší verze PX, takže rozložení některých ovládacích prvků je vyobrazeno jinak. Názvy a funkce zůstaly zachovány.

 

 

Případné připomínky mi pošli na trinitro@trinitro.net, pro rychlou radu jsem na ICQ nebo MSN, obojí mám ve svém podpisu na www.tvfreak.cz.