Základní použití <application>MEncoder</application>u Úplný seznam dostupných voleb a příkladů pro MEncoder naleznete v man stránce. Řadu užitečných příkladů a podrobných návodů pro použití mnoha enkódovacích voleb naleznete v tipech pro enkódování, které byly získány z několika diskusí v konferenci MPlayer-users. Prohledejte archivy zde, hlavně pro starší věci a také zde chcete-li bohatost diskusí o všech aspektech a problémech vztažených k enkódování MEncoderem. Výběr kodeků a nosných formátů Audio a video kodeky pro enkódování jsou vybírány příslušnými volbami a . Napište například: mencoder -ovc help pro seznam video kodeků podporovaných verzí programu MEncoder na vašem počítači. Dostupné jsou následující možnosti: Audio (zvukové) kodeky: Jméno audio kodekuPopis mp3lame Enkóduje do VBR, ABR nebo CBR MP3 pomocí LAME lavc Použije se některý z libavcodec audio kodeků faac FAAC AAC audio enkodér toolame Enkodér MPEG Audio Layer 2 twolame Enkodér MPEG Audio Layer 2 založený na tooLAME pcm Nekomprimovaný PCM zvuk copy Nereenkóduje, pouze kopíruje komprimované vzorky Video kodeky: Jméno video kodekuPopis lavc Použije se některý z libavcodec video kodeků xvid XviD, MPEG-4 Advanced Simple Profile (ASP) kodek x264 x264, MPEG-4 Advanced Video Coding (AVC), alias H.264 kodek nuv nuppel video, používaný některými realtime aplikacemi raw Nekomprimované videosnímky copy Nereenkóduje, pouze kopíruje komprimované snímky frameno Použité pro 3-průchodové enkódování (nedoporučujeme) Výstupní nosný formát je vybírán volbou . Zadejte: mencoder -of help pro seznam všech nosných formátů podporovaných verzí MEncoderu na vašem počítači. Dostupné jsou následující možnosti: Nosné formáty: Název nosného formátuPopis lavf Jeden z nosných formátů podporovaných libavformat avi Audio-Video Interleaved (Prokládané audio s videem) mpeg MPEG-1 a MPEG-2 PS rawvideo surový (raw) video datový proud (žádný muxing – pouze jeden video proud) rawaudio surový (raw) audio datový proud (žádný muxing – pouze jeden audio proud) Nosný formát AVI je nativním nosným formátem MEncoderu, což znamená, že je tím, který je nejlépe zpracován a pro nějž byl MEncoder navržen. Jak bylo zmíněno, ostatní nosné formáty jsou použitelné, ale můžete při jejich použití narazit na problémy. Nosné formáty libavformat: Pokud jste si zvolili libavformat pro provádění muxování výstupního souboru (pomocí ), příslušný nosný formát bude určen z přípony výstupního souboru. Můžete vynutit určitý nosný formát pomocí parametru knihovny libavformat. Název libavformat nosného formátuPopis mpg MPEG-1 a MPEG-2 PS asf Advanced Streaming Format avi Audio-Video Interleaved wav Waveform Audio swf Macromedia Flash flv Macromedia Flash video rm RealMedia au SUN AU nut otevřený nosný formát NUT (experimentální a dosud neslučitelný se specifikací) mov QuickTime mp4 formát MPEG-4 dv Sony Digital Video mkv Otevřený nosný audio/video formát Matroska Jak vidíte, libavformat umožňuje MEncoderu muxovat do velkého množství nosných formátů. Naneštěstí, jelikož MEncoder nebyl od počátku navržen pro podporu jiných nosných formátů než AVI, měli byste být paranoidní ve vztahu k výstupnímu souboru. Ověřte si prosím pro jistotu, že audio/video synchronizace je OK a soubor lze správně přehrát i jinými přehrávači, než MPlayer. Enkódování do formátu Macromedia Flash Vytvoření Macromedia Flash videa vhodného pro přehrávání ve webovém prohlížeči pomocí Macromedia Flash pluginu: mencoder vstupní.avi -o výstupní.flv -of lavf \ -oac mp3lame -lameopts abr:br=56 -srate 22050 -ovc lavc \ -lavcopts vcodec=flv:vbitrate=500:mbd=2:mv0:trell:v4mv:cbp:last_pred=3 Výběr vstupního souboru nebo zařízení MEncoder umí enkódovat ze souborů nebo přímo z DVD či VCD disku. Vložte na příkazovém řádku jméno souboru pro enkódování souboru, nebo číslo_titulu nebo číslo_stopy pro enkódování DVD titulu či VCD stopy. Máte-li již zkopírováno DVD na hard disk (k tomu můžete použít nástroj jako dvdbackup, dostupný na mnoha systémech), a chcete enkódovat z kopie, měli byste i zde použít syntaxi ve spojení s volbou následovanou cestou do kořenového adresáře skopírovaného DVD. Volby a lze rovněž použít k přenastavení cest k souborům zařízení pro přímé čtení disků, pokud výchozí /dev/dvd a /dev/cdrom na vašem systému nepracují. Enkódujete-li z DVD, je často vhodné vybrat kapitolu nebo rozsah kapitol k enkódování. Pro tento účel můžete použít volbu . Například s volbou 1-4 se budou z DVD enkódovat pouze kapitoly 1 až 4. To se zvlášť hodí, pokud budete enkódovat film na velikost 1400 MB určený pro dvě CD, jelikož budete mít jistotu, že zlom nastane přesně na hranici kapitol místo uprostřed scény. Pokud máte podporovanou TV zachytávací kartu, můžete rovněž enkódovat ze zařízení TV vstupu. Použijte číslo_kanálu jako jméno souboru a volbu pro konfiguraci různých nastavení zachytávání. Vstup z DVB pracuje obdobně. Dvouprůchodové enkódování MPEG-4 ("DivX") Název vychází z faktu, že soubor je enkódován dvakrát. První enkódování (dubbed pass) vytvoří dočasné soubory (*.log) velikosti několika megabajtů, které zatím nemažte (můžete smazat AVI, nebo raději žádné nevytvářejte a přesměrujte je do /dev/null). Ve druhém průchodu je vytvořen dvouprůchodový výstupní soubor s použitím řízení datového toku z dočasných souborů. Výsledný soubor bude mít lepší kvalitu obrazu. Pokud jste o tom teď slyšeli poprvé, měli byste si prostudovat některé návody dostupné na netu. Kopírování zvukové stopy Dvouprůchodové enkódování druhé stopy z DVD do MPEG-4 ("DivX") AVI zatímco se zvuk pouze zkopíruje. mencoder dvd://2 -ovc lavc -lavcopts vcodec=mpeg4:vpass=1 -oac copy -o /dev/null mencoder dvd://2 -ovc lavc -lavcopts vcodec=mpeg4:mbd=2:trell:vpass=2 \ -oac copy -o výstup.avi Enkódování zvukové stopy Dvouprůchodové enkódování DVD do MPEG-4 ("DivX") AVI a současně enkódování zvukové stopy do MP3. Při této metodě buďte opatrní, jelikož v některých případech může vést k rozjetí zvuku s videem. mencoder dvd://2 -ovc lavc -lavcopts vcodec=mpeg4:vpass=1 \ -oac mp3lame -lameopts vbr=3 -o /dev/null mencoder dvd://2 -ovc lavc -lavcopts vcodec=mpeg4:mbd=2:trell:vpass=2 \ -oac mp3lame -lameopts vbr=3 -o výstup.avi Enkódovánído video formátu Sony PSP MEncoder podporuje enkódování do Sony PSP video formátu, ale mohou se lišit, v závislosti na revizi PSP softwaru, s tím spojená omezení. Budete-li respektovat následující omezení, neměli byste narazit na potíže: Datový tok: by neměl překročit 1500kbps, ale poslední verze podporovaly prakticky jakýkoli datový tok pokud hlavička tvrdí, že není příliš vysoký. Rozměry: šířka a výška PSP videa by měly být násobky 16 a výsledek šířka * výška musí být <= 64000. Za určitých okolností může být možné, aby PSP hrál i ve vyšším rozlišení. Audio: jeho vzorkovací kmitočet by měl být 24kHz pro videa MPEG-4 a 48kHz pro H.264. Enkódování do PSP mencoder -ofps 30000/1001 -af lavcresample=24000 -vf harddup -of lavf \ -oac lavc -ovc lavc -lavcopts aglobal=1:vglobal=1:vcodec=mpeg4:acodec=aac \ -lavfopts format=psp \ vstupní.video -o výstupní.psp Poznamenejme, že můžete nastavit jméno videa pomocí . Enkódování do MPEG formátu MEncoder umí vytvořit výstupní soubor formátu MPEG (MPEG-PS). Pokud používáte MPEG-1 nebo MPEG-2 video, obvykle je to proto, že enkódujete pro omezený formát jako je SVCD, VCD nebo DVD. Konkrétní požadavky těchto formátů jsou objasněny v sekci návod pro vytvoření VCD a DVD. Výstupní souborový formát MEncoderu změníte použitím volby . Příklad: mencoder vstupní.avi -of mpeg -ovc lavc -lavcopts vcodec=mpeg1video \ -oac copy ostatní_volby -o výstupní.mpg Vytvoření MPEG-1 souboru vhodného pro přehrávání na systémech s minimální podporou multimédií, jako je výchozí instalace Windows: mencoder vstupní.avi -of mpeg -mpegopts format=mpeg1:tsaf:muxrate=2000 \ -o výstupní.mpg -oac lavc -lavcopts acodec=mp2:abitrate=224 -ovc lavc \ -lavcopts vcodec=mpeg1video:vbitrate=1152:keyint=15:mbd=2:aspect=4/3 To samé, ale použijeme libavformat MPEG muxer: mencoder vstupní.avi -o VCD.mpg -ofps 25 -vf scale=352:288,harddup -of lavf \ -lavfopts format=mpg -oac lavc -lavcopts acodec=mp2:abitrate=224 -ovc lavc \ -lavcopts vcodec=mpeg1video:vrc_buf_size=327:keyint=15:vrc_maxrate=1152:vbitrate=1152:vmax_b_frames=0 Tip: Pokud vás z nějakého důvodu neuspokojí kvalita videa z druhého průchodu, můžete znovu spustit enkódování videa s jiným cílovým datovým tokem, s tím, že máte uložen soubor se statistikami z předchozího průchodu. To je možné proto, že cílem statistického souboru je především zaznamenat komplexitu každého snímku, která příliš nezávisí na datovém toku. Povšimněte si, že ačkoli nejvyšší kvality dosáhnete pokud všechny průchody poběží při stejném datovém toku, tak se výsledek příliš neliší. Škálování (změna velikosti) filmů Často potřebujeme změnit velikost obrázků ve filmu a to z mnoha důvodů: zmenšení souboru, zátěže sítě atd. Mnoho lidí dokonce mění velikost při převodu DVD nebo SVCD do DivX AVI. Pokud si přejete video přeškálovat, přečtěte si sekci Zachování poměru stran. Samotný proces škálování je prováděn video filtrem scale: . Jeho kvalita může být nastavena volbou . Pokud ji neuvedete, MEncoder použije 2: bikubickou. Použití: mencoder vstup.mpg -ovc lavc -lavcopts vcodec=mpeg4:mbd=2:trell \ -vf scale=640:480 -o výstup.avi Proudové kopírování MEncoder může zpracovat vstupní datové proudy dvěma způsoby: enkóduje je, nebo je kopíruje. Tato část je o kopírování. Video proud (volba ): můžete dělat pěkné věci :) Jako umístění (nikoli konverze!) FLI nebo VIVO nebo MPEG-1 videa do AVI souboru! Samozřejmě takové soubory přehraje pouze MPlayer :) A proto to nejspíš nemá žádnou rozumnou hodnotu. A teď vážně: kopírování video proudu může být užitečné například tehdy, když má být enkódován pouze zvuk (např. nekomprimovaný PCM do MP3). Audio proud (volba ): jednoduché. Je možné vzít externí zvukový soubor (MP3, WAV) a namultiplexovat jej do výstupního proudu. K tomu použijte volbu . Použití pro kopírování z jednoho nosného fomátu do jiného může vyžadovat použití pro zachování příznaku formátu zvuku původního souboru. Například pokud konvertujete NSV soubor s AAC zvukem do nosného formátu AVI, bude příznak formátu zvuku nesprávný a bude jej nutno změnit. Seznam příznaků audio formátu naleznete v souboru codecs.conf. Příklad: mencoder vstupní.nsv -oac copy -fafmttag 0x706D \ -ovc lavc -lavcopts vcodec=mpeg4:mbd=2:trell -o výstupní.avi Enkódování z množství vstupních obrázkových souborů (JPEG, PNG, TGA, atd.) MEncoder je schopen vytvořit film z jednoho nebo více JPEG, PNG nebo TGA souborů. Pomocí jednoduchého snímkového kopírování může vytvořit MJPEG (Motion JPEG), MPNG (Motion PNG) nebo MTGA (Motion TGA) soubory. Vysvětlení procesu: MEncoder dekóduje vstupní soubor(y) pomocí knihovny libjpeg (když dekóduje PNG, použije libpng). Potom MEncoder nakrmí dekódovaný snímek do zvoleného video kompresoru (DivX4, Xvid, FFmpeg msmpeg4, atd.). Příklady Vysvětlení volby je v man stránce. Vytvoření MPEG-4 souboru ze všech JPEG souborů v aktuálním adresáři: mencoder mf://*.jpg -mf w=800:h=600:fps=25:type=jpg -ovc lavc \ -lavcopts vcodec=mpeg4:mbd=2:trell -oac copy -o výstup.avi Vytvoření MPEG-4 souboru z některých JPEG souborů v aktuálním adresáři: mencoder mf://snímek001.jpg,snímek002.jpg -mf w=800:h=600:fps=25:type=jpg \ -ovc lavc -lavcopts vcodec=mpeg4:mbd=2:trell -oac copy -o výstup.avi Vytvoření MPEG-4 souboru ze seznamu vyjmenovaných JPEG souborů (seznam.txt v aktuálním adresáři obsahuje seznam souborů k použití jako zdroj, každý soubor na samostatném řádku): mencoder mf://@seznam.txt -mf w=800:h=600:fps=25:type=jpg \ -ovc lavc -lavcopts vcodec=mpeg4:mbd=2:trell -oac copy -o výstup.avi Můžete kombinovat různé typy, bez ohledu na metodu, kterou používáte – individuální jména souborů, žolíky nebo soubor se seznamem – přičemž musí mít přirozeně stejné rozměry. Takže můžete např. vzít úvodní snímek z PNG souboru a pak vložit slideshow z JPEG fotek. Vytvoření Motion JPEG (MJPEG) souboru ze všech JPEG souborů v aktuálním adresáři: mencoder mf://*.jpg -mf w=800:h=600:fps=25:type=jpg -ovc copy -oac copy -o výstup.avi Vytvoření nekomprimovaného souboru ze všech PNG souborů v aktuálním adresáři: mencoder mf://*.png -mf w=800:h=600:fps=25:type=png -ovc raw -oac copy -o výstup.avi Šířka musí být celé číslo násobek 4, to je dáno omezením RAW RGB AVI formátu. Vytvoření Motion PNG (MPNG) souboru ze všech PNG souborů v aktuálním adresáři: mencoder mf://*.png -mf w=800:h=600:fps=25:type=png -ovc copy -oac copy -o výstup.avi Vytvoření Motion TGA (MTGA) souboru ze všech TGA souborů v aktuálním adresáři: mencoder mf://*.tga -mf w=800:h=600:fps=25:type=tga -ovc copy -oac copy -o výstup.avi Extrakce DVD titulků do VOBsub souboru MEncoder je schopen vyextrahovat titulky z DVD do VOBsub formátovaných souborů. Ty sestávají ze dvou souborů zakončených .idx a .sub a jsou obvykle zabaleny v jediném .rar archivu. MPlayer je umí přehrávat s pomocí voleb a . Zadejte základní jméno (čili bez přípony .idx nebo .sub) výstupních souborů pomocí volby a index pro tyto titulky ve zbývajících souborech pomocí . Pokud není vstup z DVD, měli byste použít pro indikaci .ifo souboru nutného k vytvoření výsledného .idx souboru. Pokud vstup není z DVD a nemáte .ifo soubor, budete muset použít volbu k nastavení, pro které id jazyka se má vytvořit .idx soubor. Každým spuštěním se přidají běžící titulky pokud soubory .idx a .sub již existují. Takže byste je měli všechny odstranit dříve než začnete. Kopírování dvojích titulků z DVD během dvouprůchodového enkódování rm titulky.idx titulky.sub mencoder dvd://1 -oac copy -ovc lavc -lavcopts vcodec=mpeg4:vpass=1 \ -vobsubout titulky -vobsuboutindex 0 -sid 2 mencoder dvd://1 -oac copy -ovc lavc -lavcopts vcodec=mpeg4:mbd=2:trell:vpass=2 \ -vobsubout titulky -vobsuboutindex 1 -sid 5 Kopírování francouzských titulků z MPEG souboru rm titulky.idx titulky.sub mencoder movie.mpg -ifo movie.ifo -vobsubout titulky -vobsuboutindex 0 \ -vobsuboutid fr -sid 1 -nosound -ovc copy Zachování poměru stran DVD a SVCD (čili MPEG-1/2) soubory obsahují hodnotu poměru stran, popisující, jak by měl přehrávač škálovat video proud, takže lidé nebudou mít šišaté hlavy (př.: 480x480 + 4:3 = 640x480). Pokud ovšem enkódujeme do AVI (DivX) souborů, mějte na paměti, že AVI hlavičky neukládají tuto hodnotu. Přeškálování videa je odporné a časově náročné, takže musí být lepší způsob! A zde jej máte MPEG-4 má unikátní vlastnost: video proud může obsahovat svůj požadovaný poměr stran. Ano, přesně jako MPEG-1/2 (DVD, SVCD) a H.263 soubory. Naneštěstí kromě MPlayeru jen málo video přehrávačů podporuje tento atribut MPEG-4. Tato vlastnost může být použita pouze s kodekem mpeg4 z libavcodecu. Mějte na paměti: ačkoli MPlayer korektně přehraje vytvořený soubor, ostatní přehrávače použijí špatný poměr stran. Opravdu byste měli oříznout černé okraje nad a pod filmem. Nastudujte si použití filtrů cropdetect a crop v man stránce. Použití mencoder sample-svcd.mpg -vf crop=714:548:0:14 -oac copy -ovc lavc \ -lavcopts vcodec=mpeg4:mbd=2:trell:autoaspect -o output.avi