reklama
Aktuality  |  Články  |  Recenze
Doporučení  |  Diskuze
Grafické karty a hry  |  Procesory
Storage a RAM
Monitory  |  Ostatní
Akumulátory, EV
Robotika, AI
Průzkum vesmíru
Digimanie  |  TV Freak  |  Svět mobilně

Jak na WMV/ASF videjka?

trodas (1753)|21.6.2009 14:04
Pokud chcete něco dělat s WMV videjky, rychle zjistíte, že je to problém. Z důvodu copyrightu se M$ brání jak může jakékoliv podpoře jeho WMV/ASF formátu třeba v VirtualDubu (poslední verze jenž tuto podporu měla byla 1.3c) a tím pádem je jakákoliv práce s WMV/ASF utrpením. Naštěstí jsou i lidé, jenž mají stejný problém a občas chtějí něco s těmito soubory udělat - jako stříhat je, spojovat, převádět a zmenšovat pro web (je vždy lepší uploadovat na JewTube 50MB něž 300MB, zvláště nemáte-li 100MBi upload). Tlak k práci s WMV/ASF soubory vedl k vzniku několika dobrých utilit, bez kterých si už život nedovedu představit. První je asfcut 60kBy utilita pro příkazovou řádku. Aniž by něco re-encodovala, je schopná spojovat wmv/asf videosoubory, stejně jako odříznout či vyříznout číst wmv/asf videjka.
asfcut -i x.wmv -o y.wmv -bw 50000 -start 10:00 -stop 12:00
A máte z x.wmv videjka vyříznuty 2 minuty od 10 do 12 - a uloženy jako y.wmv ;)

Další nepodstradatelná utilita je AsfBin.

Ta umí extrahovat z wmv souboru streamy, česky řečeno audio a video v sympatickém GUI (jsou i verze pro příkazovou řísku). Proč je to důležité? Inu proto, že vyšší verze VirtualDubu (1.8+) s wmv pluginem načtou wmv/asf videjko, nicméně neumí pracovat s audiostopou. Čiže pokud chcete změnšit wmv/asf video, pak ho zmenšíte a do avi v Virtual Dubu (nejlépe znemšit na 352pixelů na šířku, Lanczos 3 resize, zaokrouhlit rozměny pro mpeg4 Xvid coded na 8 a uložit s Xvid kompresí, je optimalizovaná na malé bitrate, takže i při bitrate 320 - 350 dává slušné (na web) výsledky) ale bez audia.
Proto je třeba s audiostopou pracovat zvláště a k tomu je nezbytná AsfBin.

Co teď ale s wma audiem, uloženým z AsfBin jako out.asf soubor...? Inu, dekodovat do wavu a zkompresovat znovu pomocí Lame jako mp3, jenž se přidá bez nejmenších problémů jako nové audio k existujícímu videu v VirtualDubu! Dekódovat - čím? Asi nejrozumější je ffmpeg.
ffmpeg.exe -i x.wma -vn -f wav x.wav
A je z wma wavko, které naservírujete Lame encoderu, pro web stačí j-stereo a 96kBi bitrate:
lame -q 0 -b 96 -m j --lowpass 19.5 --resample 44.1 x.wav x.mp3
A je to! Výsledný mp3 fajl přidáte jako "Audio from other file..." v VirtualDubu k již encodovanému avi Xvid videjku, znovu uložíte tentokrát video už dáte jen "Direct stream copy" abyste ho podruhé nereencodovali (což kvalitě nepřidá) a je to :)

Co když je audio wma verze 3? (audio 0x0162) To ffmpeg zatím nezná, ale netřeba házet flintu do žita. LameXP...

...což je GUI frontend pro Lame mp3 kompresor si s dekódováním wma3 audia hladce poradí a buť ho rovnou můžete sbalit do mp3, nebo jako wav uložit a pak použít vlastní Lame nastavení, což preferuji já.

Výsledek se pak dá bez problémů a rychle nahrát na web, což se o 300MB+ souborech říci tedy nedá :)

Enjoy!

Linky na zdroje programů:
ffmpeg: http://ffmpeg.arrozcru.org/builds/
asfcut: http://www.radioactivepages.com/index.php?docid=asfcut&lang=en§ion=software
AsfBin: http://www.radioactivepages.com/index.php?docid=asfbin&lang=en§ion=software
VirtualDub: http://virtualdub.sourceforge.net/
VirtualDub wmv plugin: http://fcchandler.home.comcast.net/~fcchandler/Plugins/WMV/
VirtualDub mpeg2 plugin: http://fcchandler.home.comcast.net/~fcchandler/Plugins/MPEG2/
VirtualDub flv plugin: http://www.moitah.net/download/latest/FLV_Input_Driver.zip
VirtualDub QuickTime plugin: http://www.tateu.net/software/dl.php?f=qtvd_bin
A konečně experimentální VirtualDub DirectShow plugin (nahraje do VDubu vše co přehrajete na svém PC): http://forums.virtualdub.org/index.php?act=ST&f=7&t=15093&st=0