Video na PocketPC a převod z DVD
21.9.2006, Radek Jahoda, návod
Majitelům malých PocketPC zařízení se určitě občas hodí nahrát do něj nějaké video, ať už je to pro ukázku svých DVD výtvorů, nebo jen pro pouštění filmů na cestách. Podívejme se, jaké možnosti se nabízí.
Spousta lidí používá různé programy, které dělají nějakou věc sice jednoduše, ale ne moc efektivně. Přitom ve většině případů na požadovanou operaci postačuje volný software, jehož použití možná dá trochu práce, ale výsledek je v drtivé většině případů daleko lepší než s různými "kouzelnými" nástroji.
K tomuto účelu existují v podstatě jen dva použitelné programy. Prvním je Windows Media Player, který je standardní součástí operačního systému Windows CE/Mobile. Ten ale přehraje pouze video soubory Windows Media Video (WMV), navíc s jedním značným omezením - pokud má video menší rozlišení než je rozlišení LCD displeje, nedokáže ho roztáhnout na celou obrazovku. U VGA displejů s rozlišením 480x640 bodů tak je video s rozlišením 320x240 bodů přehráváno pouze na polovině displeje (vlastně čtvrtině, pokud to vezmeme na plochu). To že si neporadí s AVI soubory s DivX nebo XviD kodekem je také na pováženou.
Naštěstí existuje ještě jeden přehrávač - The Core Pocket Media Player (TCPMP), dříve známý jako BetaPlayer. Ten je zdarma, i když v současné době probíhá jeho rozdělení na placenou verzi s názvem The Core Player (se skiny, pluginy atd.) a volnou verzi, která se zřejmě vrátí zpět k názvu Beta Player. Budeme se ale zatím držet názvu TCPMP, zatím je zdarma a je dokonce open source. Používá totiž obecně známý a dostupný kód k různým dekodérům (ffmpeg, avlib, matroska, vorbis atd.). Poradí si s velkým množstvím typů souborů (tzv. kontejnerů):
Z video kodeků pak zvládne tyto formáty:
A zvukové kodeky:
To je docela pěkný výčet a dá se s tím už něco dělat. Navíc připočtěme opravdové roztažení na celou obrazovku, ekvalizer a možnost mnoha nastavení.
![](video-na-pocketpc-a-prevod-z-dvd/180/img/body-0.BD0.gif)
Nás ale bude zajímat, jak dostat video z DVD disku do PocketPC. Určitě zde stojí dva protichůdné požadavky - co nejvyšší kvalita a hlavně malý úložný prostor. Použití paměťové karty je samozřejmostí, protože do vnitřní paměti by se nám vešlo jen krátké video. Budeme vycházet z parametrů přístroje - displej má většinou rozměry pouze 240x320 bodů, takže nemá určitě ceny vytvářet video s vyšším rozlišením než je toto. To neznamená, že by ho TCPMP nedokázal přehrát (mám vyzkoušené video v rozlišení 720x540 v DivX, které hrálo bez problémů), ale nemá to smysl. U zařízení s VGA displejem s rozlišením 480x640 bodů by to možná smysl mělo, ale vzhledem k velikosti displeje je to také zbytečné. Budeme se tedy držet našich 320 bodů, vertikální rozlišení pak uzpůsobíme poměru stran. Zvuk je také nutné co nejvíce komprimovat, proto nepoužijeme ani MP3 kodek, ale raději Ogg Vorbis, ten nelze dát do AVI souboru, proto použijeme Matrošku.
Jaké programy budeme k převodu potřebovat?
Všechny programy můžete stáhnout zde u nás v Downloadu. Smořejmě lze zvolit i jiné programy, ale zde jde o programy, která jsou aktuální a stále vyvíjené. Místo DGMPGDec, VFAPI a VirtualDubu je možné použít rovnou DVD2AVI, ale to je už zastaralé, tak se mu vyhneme. Pro multiplexování do Matrošky je možné použít i VirtualDubMod, ale ten používá již staré knihovny a nepodporuje VBR kódování Ogg Vorbis zvuku.
Tak začněme. Nejprve si zkopírujeme celé DVD na pevný disk, bude pak práce rychlejší. Spustíme DGMPGDec a načteme naše DVD - označíme všechny příslušné VOB soubory.
![](video-na-pocketpc-a-prevod-z-dvd/180/img/body-0.6C6A.gif)
Dále vybereme typ zpracování zvuku - pouze demultiplexování AC3 pomocí Audio/Output method/Demux tracks. V Audio/Track number vybereme požadovanou zvukovou stopu a uložíme ji pomocí File/Demux audio only. Počkáme na dokončení operace (průběh můžeme sledovat na posuvníku v dolní části okna DGMPGDec) a v adresáři našeho DVD se vytvoří soubor s názvem něco jako VTS_01_1 T01 2_0ch 192Kbps.ac3.
Nyní spustíme BeLight a otevřeme tento soubor. Nastavíme změnu dynamiku zvuku (používám normal, ale pokud ji nechcete měnit, tak nemusíte), necháme přesamplovat zvuk ze 48kHz na 44.1kHz (také nemusíme, ale je zbytečné ponechávat na 48kHz) a vpravo vybereme záložku VORBIS (můžete použít i jiný kodek dle libosti). Nastavíme kvalitu na 0, což odpovídá přibližně 64kbps, opět si s kvalitou můžete pohrát, podle toho jak jste nároční. Teď už jen stiskneme Start processing.
![](video-na-pocketpc-a-prevod-z-dvd/180/img/body-0.9806.gif)
Necháme převod zvuku běžet a vrátíme se k DGMPGDec. Ujistíme se, že máme zaškrtnuto Help/VFAPI plugin a uložíme projekt File/Save project. Vytvořený soubor .d2v načteme do VFAPIConv pomocí Add job a stiskneme tlačítko Convert. Tím se vytvoří regulérní AVI soubor. VFAPIConv teď můžeme zavřít, DGMPGDec stále běží.
![](video-na-pocketpc-a-prevod-z-dvd/180/img/body-7.4636.gif)
Tento AVI soubor načteme do VirtualDubu, kde provedeme konverzi do požadovaného kodeku. Nejprve ale zmenšíme video na požadovanou velikost. Jděme do filtrů (Video/Filters) a vložíme filtr Resize. Filter mode nastavíme na Bicubic a změníme rozlišení na 320x240 pro 4:3 video a nebo 320x180 pro 16:9 video.
![](video-na-pocketpc-a-prevod-z-dvd/180/img/body-8.3E80.gif)
Pokud je video v letterbox formátu, tedy s černými pruhy, je vhodné tyto pruhy také odstranit, přidáme ještě filtr null transform (tento filtr nic nedělá, ale je nutný pro nastavení ořezu), vybereme ho v seznamu a stiskneme tlačítko Cropping. V novém okně nastavíme Y1 offset a Y2 offset tak, abychom se zbavili nežádoucích černých pruhů. Podle zvoleného kodeku by ale výsledné vertikální rozlišení mělo být dělitelné 2/16/32. Pro náš XviD kodek postačuje dělitelnost 2. Teď již jen vybereme kodek ve Video/Compression a nastavíme kompresi. Pokud chcete rychlost a nezáleží Vám přesně na velikosti souboru, postačí jednoprůchodové kódování Single pass, nastavíme kvalitu Target quantizer, který nám zaručí konstantní kvalitu po celou dobu, já používám nastavení 4-5, které bohatě postačuje. Pokud chcete požadovanou velikost souboru, přepněte do Target bitrate a nastavte požadovaný bitrate, v tomto případě je vhodné použít i vestavěnou kalkulačku.
![](video-na-pocketpc-a-prevod-z-dvd/180/img/body-9.28FA.gif)
Spustíme převod přes File/Save AVI a počkáme na dokončení. Tento AVI soubor načteme do AVI-Mux GUI spolu s dříve vytvořeným zvukovým souborem ve formátu Ogg Vorbis (.ogg). V nastavení programu Settings zvolíme standard output format na MKV, všechny ostatní parametry necháme. Stiskneme Start a za pár vteřin máme vytvořený náš výsledný Matroška soubor, který přehrajeme do PocketPC.
Tímto způsobem můžeme dostat například celovečerní film do 200MB v rozumné kvalitě videa i zvuku. Lze samozřejmě namítnout, že ke stejnému účelu lze použít pouze jeden program, ale nevím o žádném, který by to dokázal v takové kvalitě a byl zdarma. Další výhoda je v tom, že lze experimentovat s nastavením, kodeky videa i zvuku. Celý proces sice vypadá složitě a zdlouhavě, ale ve skutečnosti je velice rychlý. A pokud do této doby používáte jiný jednodušší postup, máte šanci se naučit zase něco jiného.
K tomuto účelu existují v podstatě jen dva použitelné programy. Prvním je Windows Media Player, který je standardní součástí operačního systému Windows CE/Mobile. Ten ale přehraje pouze video soubory Windows Media Video (WMV), navíc s jedním značným omezením - pokud má video menší rozlišení než je rozlišení LCD displeje, nedokáže ho roztáhnout na celou obrazovku. U VGA displejů s rozlišením 480x640 bodů tak je video s rozlišením 320x240 bodů přehráváno pouze na polovině displeje (vlastně čtvrtině, pokud to vezmeme na plochu). To že si neporadí s AVI soubory s DivX nebo XviD kodekem je také na pováženou.
Naštěstí existuje ještě jeden přehrávač - The Core Pocket Media Player (TCPMP), dříve známý jako BetaPlayer. Ten je zdarma, i když v současné době probíhá jeho rozdělení na placenou verzi s názvem The Core Player (se skiny, pluginy atd.) a volnou verzi, která se zřejmě vrátí zpět k názvu Beta Player. Budeme se ale zatím držet názvu TCPMP, zatím je zdarma a je dokonce open source. Používá totiž obecně známý a dostupný kód k různým dekodérům (ffmpeg, avlib, matroska, vorbis atd.). Poradí si s velkým množstvím typů souborů (tzv. kontejnerů):
- AVI - .avi
- Matroska - .mkv, .mka
- MP4 - .mp4, .m4a
- Ogg Media - .ogg, .ogm
- ASF - .asf, .wmv, .wma
- MPEG - .mpg, mpv, m1v
- WAV, AWB, MPC, M3U, PLS, MP1, MP2,MP3, NSV, MOV, 3GP, ...
Z video kodeků pak zvládne tyto formáty:
- DivX
- XviD
- MPEG4-SP (plus B-frame support)
- MPEG1
- M-JPEG
- Windows Media Video
A zvukové kodeky:
- Mpeg Layer III
- Ogg Vorbis
- Musepack
- Windows Media Audio
- AC-3
- AMR
- Adpcm, uLaw
To je docela pěkný výčet a dá se s tím už něco dělat. Navíc připočtěme opravdové roztažení na celou obrazovku, ekvalizer a možnost mnoha nastavení.
![](video-na-pocketpc-a-prevod-z-dvd/180/img/body-0.BD0.gif)
Nás ale bude zajímat, jak dostat video z DVD disku do PocketPC. Určitě zde stojí dva protichůdné požadavky - co nejvyšší kvalita a hlavně malý úložný prostor. Použití paměťové karty je samozřejmostí, protože do vnitřní paměti by se nám vešlo jen krátké video. Budeme vycházet z parametrů přístroje - displej má většinou rozměry pouze 240x320 bodů, takže nemá určitě ceny vytvářet video s vyšším rozlišením než je toto. To neznamená, že by ho TCPMP nedokázal přehrát (mám vyzkoušené video v rozlišení 720x540 v DivX, které hrálo bez problémů), ale nemá to smysl. U zařízení s VGA displejem s rozlišením 480x640 bodů by to možná smysl mělo, ale vzhledem k velikosti displeje je to také zbytečné. Budeme se tedy držet našich 320 bodů, vertikální rozlišení pak uzpůsobíme poměru stran. Zvuk je také nutné co nejvíce komprimovat, proto nepoužijeme ani MP3 kodek, ale raději Ogg Vorbis, ten nelze dát do AVI souboru, proto použijeme Matrošku.
Jaké programy budeme k převodu potřebovat?
- DGMPGDec - dekodér DVD
- BeSweet+BeLight+libvorbis.dll - pro převod zvuku, vše rozbalíme do jednoho adresáře
- VFAPI - video frameserver
- VirtualDub - video editor pro konverzi videa
- AVI-Mux GUI - multiplexer pro vytvoření Matrošky
- XviD kodek
Všechny programy můžete stáhnout zde u nás v Downloadu. Smořejmě lze zvolit i jiné programy, ale zde jde o programy, která jsou aktuální a stále vyvíjené. Místo DGMPGDec, VFAPI a VirtualDubu je možné použít rovnou DVD2AVI, ale to je už zastaralé, tak se mu vyhneme. Pro multiplexování do Matrošky je možné použít i VirtualDubMod, ale ten používá již staré knihovny a nepodporuje VBR kódování Ogg Vorbis zvuku.
Tak začněme. Nejprve si zkopírujeme celé DVD na pevný disk, bude pak práce rychlejší. Spustíme DGMPGDec a načteme naše DVD - označíme všechny příslušné VOB soubory.
![](video-na-pocketpc-a-prevod-z-dvd/180/img/body-0.6C6A.gif)
Dále vybereme typ zpracování zvuku - pouze demultiplexování AC3 pomocí Audio/Output method/Demux tracks. V Audio/Track number vybereme požadovanou zvukovou stopu a uložíme ji pomocí File/Demux audio only. Počkáme na dokončení operace (průběh můžeme sledovat na posuvníku v dolní části okna DGMPGDec) a v adresáři našeho DVD se vytvoří soubor s názvem něco jako VTS_01_1 T01 2_0ch 192Kbps.ac3.
Nyní spustíme BeLight a otevřeme tento soubor. Nastavíme změnu dynamiku zvuku (používám normal, ale pokud ji nechcete měnit, tak nemusíte), necháme přesamplovat zvuk ze 48kHz na 44.1kHz (také nemusíme, ale je zbytečné ponechávat na 48kHz) a vpravo vybereme záložku VORBIS (můžete použít i jiný kodek dle libosti). Nastavíme kvalitu na 0, což odpovídá přibližně 64kbps, opět si s kvalitou můžete pohrát, podle toho jak jste nároční. Teď už jen stiskneme Start processing.
![](video-na-pocketpc-a-prevod-z-dvd/180/img/body-0.9806.gif)
Necháme převod zvuku běžet a vrátíme se k DGMPGDec. Ujistíme se, že máme zaškrtnuto Help/VFAPI plugin a uložíme projekt File/Save project. Vytvořený soubor .d2v načteme do VFAPIConv pomocí Add job a stiskneme tlačítko Convert. Tím se vytvoří regulérní AVI soubor. VFAPIConv teď můžeme zavřít, DGMPGDec stále běží.
![](video-na-pocketpc-a-prevod-z-dvd/180/img/body-7.4636.gif)
Tento AVI soubor načteme do VirtualDubu, kde provedeme konverzi do požadovaného kodeku. Nejprve ale zmenšíme video na požadovanou velikost. Jděme do filtrů (Video/Filters) a vložíme filtr Resize. Filter mode nastavíme na Bicubic a změníme rozlišení na 320x240 pro 4:3 video a nebo 320x180 pro 16:9 video.
![](video-na-pocketpc-a-prevod-z-dvd/180/img/body-8.3E80.gif)
Pokud je video v letterbox formátu, tedy s černými pruhy, je vhodné tyto pruhy také odstranit, přidáme ještě filtr null transform (tento filtr nic nedělá, ale je nutný pro nastavení ořezu), vybereme ho v seznamu a stiskneme tlačítko Cropping. V novém okně nastavíme Y1 offset a Y2 offset tak, abychom se zbavili nežádoucích černých pruhů. Podle zvoleného kodeku by ale výsledné vertikální rozlišení mělo být dělitelné 2/16/32. Pro náš XviD kodek postačuje dělitelnost 2. Teď již jen vybereme kodek ve Video/Compression a nastavíme kompresi. Pokud chcete rychlost a nezáleží Vám přesně na velikosti souboru, postačí jednoprůchodové kódování Single pass, nastavíme kvalitu Target quantizer, který nám zaručí konstantní kvalitu po celou dobu, já používám nastavení 4-5, které bohatě postačuje. Pokud chcete požadovanou velikost souboru, přepněte do Target bitrate a nastavte požadovaný bitrate, v tomto případě je vhodné použít i vestavěnou kalkulačku.
![](video-na-pocketpc-a-prevod-z-dvd/180/img/body-9.28FA.gif)
Spustíme převod přes File/Save AVI a počkáme na dokončení. Tento AVI soubor načteme do AVI-Mux GUI spolu s dříve vytvořeným zvukovým souborem ve formátu Ogg Vorbis (.ogg). V nastavení programu Settings zvolíme standard output format na MKV, všechny ostatní parametry necháme. Stiskneme Start a za pár vteřin máme vytvořený náš výsledný Matroška soubor, který přehrajeme do PocketPC.
Tímto způsobem můžeme dostat například celovečerní film do 200MB v rozumné kvalitě videa i zvuku. Lze samozřejmě namítnout, že ke stejnému účelu lze použít pouze jeden program, ale nevím o žádném, který by to dokázal v takové kvalitě a byl zdarma. Další výhoda je v tom, že lze experimentovat s nastavením, kodeky videa i zvuku. Celý proces sice vypadá složitě a zdlouhavě, ale ve skutečnosti je velice rychlý. A pokud do této doby používáte jiný jednodušší postup, máte šanci se naučit zase něco jiného.