Základní použití MEncoderu
Ú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 kodekuPopismp3lameEnkóduje do VBR, ABR nebo CBR MP3 pomocí LAMElavcPoužije se některý z
libavcodec audio kodeků
faacFAAC AAC audio enkodértoolameEnkodér MPEG Audio Layer 2twolameEnkodér MPEG Audio Layer 2 založený na tooLAMEpcmNekomprimovaný PCM zvukcopyNereenkóduje, pouze kopíruje komprimované vzorky
Video kodeky:
Jméno video kodekuPopislavcPoužije se některý z
libavcodec video kodeků
xvidXviD, MPEG-4 Advanced Simple Profile (ASP) kodekx264x264, MPEG-4 Advanced Video Coding (AVC), alias H.264 kodeknuvnuppel video, používaný některými realtime aplikacemirawNekomprimované videosnímkycopyNereenkóduje, pouze kopíruje komprimované snímkyframenoPouž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átuPopislavfJeden z nosných formátů podporovaných
libavformataviAudio-Video Interleaved (Prokládané audio s videem)mpegMPEG-1 a MPEG-2 PSrawvideosurový (raw) video datový proud (žádný muxing – pouze jeden
video proud)rawaudiosurový (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átuPopismpgMPEG-1 a MPEG-2 PSasfAdvanced Streaming FormataviAudio-Video InterleavedwavWaveform AudioswfMacromedia FlashflvMacromedia Flash videormRealMediaauSUN AUnutotevřený nosný formát NUT (experimentální a dosud neslučitelný se specifikací)movQuickTimemp4formát MPEG-4dvSony Digital Video
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.aviEnkó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.aviEnkódovánído video formátu Sony PSPMEncoder 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:i_certify_that_my_video_stream_does_not_use_b_frames \
vstupní.video -o výstupní.psp
Poznamenejme, že můžete nastavit jméno videa pomocí
.
Enkódování do MPEG formátuMEncoder 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 -lavcoptc 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:i_certify_that_my_video_stream_does_not_use_b_frames \
-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.aviProudové 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í.aviEnkó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:MEncoderdekó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.aviExtrakce DVD titulků do VOBsub souboruMEncoder 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.idxtitulky.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 5Kopírování francouzských titulků z MPEG souboru
rm titulky.idxtitulky.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