mirror of https://github.com/mpv-player/mpv
2607 lines
99 KiB
XML
2607 lines
99 KiB
XML
<?xml version="1.0" encoding="iso-8859-2"?>
|
|
<!-- Synced with: 1.58 -->
|
|
<chapter id="mencoder">
|
|
<title>Enkódování s <application>MEncoder</application>em</title>
|
|
|
|
<para>
|
|
Úplný seznam dostupných voleb a příkladů pro <application>MEncoder</application>
|
|
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
|
|
<ulink url="../../tech/encoding-tips.txt">tipech pro enkódování</ulink>, které
|
|
byly získány z několika diskusí v konferenci MPlayer-users. Prohledejte
|
|
<ulink url="http://mplayerhq.hu/pipermail/mplayer-users/">archivy</ulink>,
|
|
chcete-li bohatost diskusí o všech aspektech a problémech vztažených
|
|
k enkódování <application>MEncoder</application>em.
|
|
</para>
|
|
|
|
<sect1 id="menc-feat-mpeg4">
|
|
<title>Dvouprůchodové enkódování MPEG-4 ("DivX")</title>
|
|
|
|
<para>
|
|
Název vychází z faktu, že soubor je enkódován <emphasis>dvakrát</emphasis>.
|
|
První enkódování (dubbed pass) vytvoří dočasné soubory
|
|
(<filename>*.log</filename>) velikosti několika megabajtů, které zatím nemažte
|
|
(můžete smazat AVI). 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.
|
|
</para>
|
|
|
|
<example>
|
|
<title>kopírování zvukové stopy</title>
|
|
<para>
|
|
Dvouprůchodové enkódování DVD do MPEG-4 ("DivX") AVI zatímco se zvuk
|
|
pouze zkopíruje.
|
|
<screen>
|
|
mencoder dvd://2 -ovc lavc -lavcopts vcodec=mpeg4:vpass=1 -oac copy -o <replaceable>film.avi</replaceable>
|
|
mencoder dvd://2 -ovc lavc -lavcopts vcodec=mpeg4:vpass=2 -oac copy -o <replaceable>film.avi</replaceable>
|
|
</screen>
|
|
</para>
|
|
</example>
|
|
|
|
<example>
|
|
<title>enkódování zvukové stopy</title>
|
|
<para>
|
|
Dvouprůchodové enkódování DVD do MPEG-4 ("DivX") AVI a současně
|
|
enkódování zvukové stopy do MP3.
|
|
<screen>
|
|
mencoder dvd://2 -ovc lavc -lavcopts vcodec=mpeg4:vpass=1 -oac mp3lame -lameopts vbr=3 -o <replaceable>film.avi</replaceable>
|
|
mencoder dvd://2 -ovc lavc -lavcopts vcodec=mpeg4:vpass=2 -oac mp3lame -lameopts vbr=3 -o <replaceable>film.avi</replaceable>
|
|
</screen>
|
|
</para>
|
|
</example>
|
|
</sect1>
|
|
|
|
<sect1 id="menc-feat-mpeg">
|
|
<title>Enkódování do MPEG formátu</title>
|
|
<para>
|
|
<application>MEncoder</application> umí vytvořit výstupní soubor formátu
|
|
MPEG (MPEG-PS). To je pravděpodobně použitelné pouze s <emphasis>mpeg1video</emphasis>
|
|
kodekem z <link linkend="ffmpeg"><systemitem class="library">libavcodec</systemitem></link>, protože
|
|
přehrávače – s výjimkou <application>MPlayer</application>u –
|
|
očekávají MPEG-1 video a MPEG-1 layer 2 (MP2) audio proudy v MPEG souborech.
|
|
</para>
|
|
|
|
<para>
|
|
Tato vlastnost nyní není moc užitečná, pomiňme že má asi mnoho chyb, ale hlavně
|
|
proto, že <application>MEncoder</application> v současnosti neumí enkódovat
|
|
MPEG-1 layer 2 (MP2) zvuk, který všechny ostatní přehrávače očekávají v MPEG
|
|
souborech.
|
|
</para>
|
|
|
|
<para>
|
|
Výstupní souborový formát <application>MEncoder</application>u změníte použitím
|
|
volby <option>-of mpeg</option>.
|
|
</para>
|
|
|
|
<para>
|
|
Example:
|
|
<screen>
|
|
mencoder -of mpeg -ovc lavc -lavcopts vcodec=mpeg1video -oac copy <replaceable>další_volby</replaceable> <replaceable>media.avi</replaceable> -o <replaceable>výstup.mpg</replaceable>
|
|
</screen>
|
|
</para>
|
|
</sect1>
|
|
|
|
|
|
<sect1 id="menc-feat-rescale">
|
|
<title>Škálování (změna velikosti) filmů</title>
|
|
|
|
<para>
|
|
Č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
|
|
<link linkend="aspect">Zachování poměru stran</link>.
|
|
</para>
|
|
|
|
<para>
|
|
Samotný proces škálování je prováděn video filtrem <literal>scale</literal>:
|
|
<option>-vf scale=<replaceable>šířka</replaceable>:<replaceable>výška</replaceable></option>.
|
|
Jeho kvalita může být nastavena volbou <option>-sws</option>.
|
|
Pokud ji neuvedete, <application>MEncoder</application> použije 2: bikubickou.
|
|
</para>
|
|
|
|
<para>
|
|
Použití:
|
|
<screen>
|
|
mencoder <replaceable>vstup.mpg</replaceable> -ovc lavc -lavcopts vcodec=mpeg4 -vf scale=640:480 -o <replaceable>výstup.avi</replaceable>
|
|
</screen>
|
|
</para>
|
|
</sect1>
|
|
|
|
|
|
<sect1 id="menc-feat-streamcopy">
|
|
<title>Proudové kopírování</title>
|
|
|
|
<para>
|
|
<application>MEncoder</application> může zpracovat vstupní datové proudy dvěma
|
|
způsoby:
|
|
<emphasis role="bold">enkóduje</emphasis> je, nebo je
|
|
<emphasis role="bold">kopíruje</emphasis>. Tato část je o
|
|
<emphasis role="bold">kopírování</emphasis>.
|
|
</para>
|
|
|
|
<itemizedlist>
|
|
<listitem><para>
|
|
<emphasis role="bold">Video proud</emphasis> (volba <option>-ovc copy</option>):
|
|
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
|
|
<application>MPlayer</application> :) 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).
|
|
</para></listitem>
|
|
<listitem><para>
|
|
<emphasis role="bold">Audio proud</emphasis> (volba <option>-oac copy</option>):
|
|
jednoduché. Je možné vzít externí zvukový soubor (MP3, WAV) a namultiplexovat
|
|
jej do výstupního proudu. K tomu použijte volbu
|
|
<option>-audiofile <replaceable>soubor</replaceable></option>.
|
|
</para></listitem>
|
|
</itemizedlist>
|
|
</sect1>
|
|
|
|
|
|
<sect1 id="menc-feat-enc-libavcodec">
|
|
<title>Enkódování s rodinou kodeků <systemitem class="library">libavcodec</systemitem>
|
|
</title>
|
|
|
|
<para>
|
|
<link linkend="ffmpeg"><systemitem class="library">libavcodec</systemitem></link>
|
|
zajišťuje jednoduché enkódování do mnoha zajímavých video a audio formátů.
|
|
Můžete enkódovat do následujících kodeků (více méně aktuální):
|
|
|
|
<informaltable frame="all">
|
|
<tgroup cols="2">
|
|
<thead>
|
|
<row><entry>Jméno kodeku</entry><entry>Popis</entry></row>
|
|
</thead>
|
|
<tbody>
|
|
<row><entry>mjpeg</entry><entry>
|
|
Motion JPEG
|
|
</entry></row>
|
|
<row><entry>ljpeg</entry><entry>
|
|
Lossless (bezztrátový) JPEG
|
|
</entry></row>
|
|
<row><entry>h263</entry><entry>
|
|
H.263
|
|
</entry></row>
|
|
<row><entry>h263p</entry><entry>
|
|
H.263+
|
|
</entry></row>
|
|
<row><entry>mpeg4</entry><entry>
|
|
standardní ISO MPEG-4 (DivX 5, XVID kompatibilní)
|
|
</entry></row>
|
|
<row><entry>msmpeg4</entry><entry>
|
|
prvotní MPEG-4 varianta od MS, v3 (DivX3)
|
|
</entry></row>
|
|
<row><entry>msmpeg4v2</entry><entry>
|
|
prvotní MPEG-4 od MS, v2 (použitý ve starých asf souborech)
|
|
</entry></row>
|
|
<row><entry>wmv1</entry><entry>
|
|
Windows Media Video, verze 1 (WMV7)
|
|
</entry></row>
|
|
<row><entry>wmv2</entry><entry>
|
|
Windows Media Video, verze 2 (WMV8)
|
|
</entry></row>
|
|
<row><entry>rv10</entry><entry>
|
|
starý RealVideo kodek
|
|
</entry></row>
|
|
<row><entry>mpeg1video</entry><entry>
|
|
MPEG-1 video
|
|
</entry></row>
|
|
<row><entry>mpeg2video</entry><entry>
|
|
MPEG-2 video
|
|
</entry></row>
|
|
<row><entry>huffyuv</entry><entry>
|
|
bezztrátová komprese
|
|
</entry></row>
|
|
<row><entry>asv1</entry><entry>
|
|
ASUS Video v1
|
|
</entry></row>
|
|
<row><entry>asv2</entry><entry>
|
|
ASUS Video v2
|
|
</entry></row>
|
|
<row><entry>ffv1</entry><entry>
|
|
bezztrátový video kodek z FFmpeg
|
|
</entry></row>
|
|
</tbody>
|
|
</tgroup>
|
|
</informaltable>
|
|
|
|
První pole obsahuje názvy kodeků, které můžete přiřadit konfiguračnímu parametru
|
|
<literal>vcodec</literal>, např: <option>-lavcopts vcodec=msmpeg4</option>
|
|
</para>
|
|
|
|
<informalexample>
|
|
<para>
|
|
Příklad, s MJPEG kompresí:
|
|
<screen>mencoder dvd://2 -o titul2.avi -ovc lavc -lavcopts vcodec=mjpeg -oac copy</screen>
|
|
</para>
|
|
</informalexample>
|
|
</sect1>
|
|
|
|
|
|
<sect1 id="menc-feat-enc-images">
|
|
<title>Enkódování z množství vstupních obrázkových souborů (JPEG, PNG, TGA, SGI)</title>
|
|
|
|
<para>
|
|
<application>MEncoder</application> 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.
|
|
</para>
|
|
|
|
<orderedlist>
|
|
<title>Vysvětlení procesu:</title>
|
|
<listitem><para>
|
|
<application>MEncoder</application> <emphasis>dekóduje</emphasis> vstupní
|
|
soubor(y) pomocí knihovny <systemitem class="library">libjpeg</systemitem>
|
|
(když dekóduje PNG, použije <systemitem class="library">libpng</systemitem>).
|
|
</para></listitem>
|
|
<listitem><para>
|
|
Potom <application>MEncoder</application> nakrmí dekódovaný snímek do
|
|
zvoleného video kompresoru (DivX4, XviD, FFmpeg msmpeg4, atd).
|
|
</para></listitem>
|
|
</orderedlist>
|
|
|
|
<formalpara>
|
|
<title>Příklady</title>
|
|
<para>
|
|
Vysvětlení volby <option>-mf</option> je v man stránce.
|
|
|
|
<informalexample>
|
|
<para>
|
|
Vytvoření MPEG-4 souboru ze všech JPEG souborů v aktuálním adresáři:
|
|
<screen>
|
|
mencoder mf://*.jpg -mf w=800:h=600:fps=25:type=jpg -ovc lavc -lavcopts vcodec=mpeg4 -oac copy -o <replaceable>výstup.avi</replaceable>
|
|
</screen>
|
|
</para>
|
|
</informalexample>
|
|
|
|
<informalexample>
|
|
<para>
|
|
Vytvoření MPEG-4 souboru z některých JPEG souborů v aktuálním adresáři:
|
|
<screen>
|
|
mencoder mf://<replaceable>snímek001.jpg,snímek002.jpg</replaceable> -mf w=800:h=600:fps=25:type=jpg -ovc lavc -lavcopts vcodec=mpeg4 -oac copy -o <replaceable>výstup.avi</replaceable>
|
|
</screen>
|
|
</para>
|
|
</informalexample>
|
|
|
|
<informalexample>
|
|
<para>
|
|
Vytvoření Motion JPEG (MJPEG) souboru ze všech JPEG souborů v aktuálním
|
|
adresáři:
|
|
<screen>
|
|
mencoder mf://*.jpg -mf w=800:h=600:fps=25:type=jpg -ovc copy -oac copy -o <replaceable>výstup.avi</replaceable>
|
|
</screen>
|
|
</para>
|
|
</informalexample>
|
|
|
|
<informalexample>
|
|
<para>
|
|
Vytvoření nekomprimovaného souboru ze všech PNG souborů v aktuálním adresáři:
|
|
<screen>
|
|
mencoder mf:// -mf w=800:h=600:fps=25:type=png -ovc raw -oac copy -o <replaceable>výstup.avi</replaceable>
|
|
</screen>
|
|
</para>
|
|
</informalexample>
|
|
|
|
<note><para>
|
|
Šířka musí být celé číslo násobek 4, to je dáno omezením RAW RGB AVI formátu.
|
|
</para></note>
|
|
|
|
<informalexample>
|
|
<para>
|
|
Vytvoření Motion PNG (MPNG) souboru ze všech PNG souborů v aktuálním adresáři:
|
|
<screen>
|
|
mencoder mf://*.png -mf w=800:h=600:fps=25:type=png -ovc copy -oac copy -o <replaceable>výstup.avi</replaceable> <!--
|
|
--></screen>
|
|
</para>
|
|
</informalexample>
|
|
|
|
<informalexample>
|
|
<para>
|
|
Vytvoření Motion TGA (MTGA) souboru ze všech TGA souborů v aktuálním adresáři:
|
|
<screen>
|
|
mencoder mf://*.tga -mf w=800:h=600:fps=25:type=tga -ovc copy -oac copy -o <replaceable>výstup.avi</replaceable><!--
|
|
--></screen>
|
|
</para>
|
|
</informalexample>
|
|
|
|
</para>
|
|
</formalpara>
|
|
</sect1>
|
|
|
|
|
|
<sect1 id="menc-feat-extractsub">
|
|
<title>Extrakce DVD titulků do VOBsub souboru</title>
|
|
|
|
<para>
|
|
<application>MEncoder</application> je schopen vyextrahovat titulky z DVD do
|
|
VOBsub formátovaných souborů. Ty sestávají ze dvou souborů zakončených
|
|
<filename>.idx</filename> a <filename>.sub</filename> a jsou obvykle zabaleny
|
|
v jediném <filename>.rar</filename> archivu.
|
|
<application>MPlayer</application> je umí přehrávat s pomocí voleb
|
|
<option>-vobsub</option> a <option>-vobsubid</option>.
|
|
</para>
|
|
|
|
<para>
|
|
Zadejte základní jméno (čili bez přípony <filename>.idx</filename> nebo
|
|
<filename>.sub</filename>) výstupních souborů pomocí volby
|
|
<option>-vobsubout</option> a index pro tyto titulky ve zbývajících souborech
|
|
pomocí <option>-vobsuboutindex</option>.
|
|
</para>
|
|
|
|
<para>
|
|
Pokud není vstup z DVD, měli byste použít <option>-ifo</option> pro indikaci
|
|
<filename>.ifo</filename> souboru nutného k vytvoření výsledného
|
|
<filename>.idx</filename> souboru.
|
|
</para>
|
|
|
|
<para>
|
|
Pokud vstup není z DVD a nemáte <filename>.ifo</filename> soubor, budete muset
|
|
použít volbu <option>-vobsubid</option> k nastavení, pro které id jazyka se má
|
|
vytvořit <filename>.idx</filename> soubor.
|
|
</para>
|
|
|
|
<para>
|
|
Každým spuštěním se přidají běžící titulky pokud soubory <filename>.idx</filename>
|
|
a <filename>.sub</filename> již existují. Takže byste je měli všechny odstranit
|
|
dříve než začnete.
|
|
</para>
|
|
|
|
<example>
|
|
<title>Kopírování dvojích titulků z DVD během dvouprůchodového enkódování</title>
|
|
<screen>
|
|
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:vpass=2 -vobsubout titulky -vobsuboutindex 1 -sid 5<!--
|
|
--></screen>
|
|
</example>
|
|
|
|
<example>
|
|
<title>Kopírování francouzských titulků z MPEG souboru</title>
|
|
<screen>
|
|
rm titulky.idx titulky.sub
|
|
mencoder <replaceable>film.mpg</replaceable> -ifo <replaceable>film.ifo</replaceable> -vobsubout titulky -vobsuboutindex 0 -vobsuboutid fr -sid 1<!--
|
|
--></screen>
|
|
</example>
|
|
|
|
</sect1>
|
|
|
|
<sect1 id="aspect">
|
|
<title>Zachování poměru stran</title>
|
|
<para>
|
|
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!
|
|
</para>
|
|
|
|
<para>A zde jej máte</para>
|
|
|
|
<para>
|
|
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í,
|
|
<emphasis role="bold">žádný</emphasis> video přehrávač nepodporuje tento atribut
|
|
MPEG-4, s výjimkou <application>MPlayer</application>u.
|
|
</para>
|
|
|
|
<para>
|
|
Tato vlastnost může být použita pouze s kodekem <systemitem>mpeg4</systemitem> z
|
|
<link linkend="ffmpeg"><systemitem class="library">libavcodec</systemitem></link>u.
|
|
Mějte na paměti: ačkoli
|
|
<application>MPlayer</application> korektně přehraje vytvořený soubor, ostatní
|
|
přehrávače použijí špatný poměr stran.
|
|
</para>
|
|
|
|
<para>
|
|
Opravdu byste měli oříznout černé okraje nad a pod filmem.
|
|
Nastudujte si použití filtrů <systemitem>cropdetect</systemitem> a
|
|
<systemitem>crop</systemitem> v man stránce.
|
|
</para>
|
|
|
|
<para>
|
|
Použití
|
|
<screen>mencoder <replaceable>vzorové-svcd.mpg</replaceable> -ovc lavc -lavcopts vcodec=mpeg4:autoaspect -vf crop=714:548:0:14 -oac copy -o <replaceable>výstup.avi</replaceable></screen>
|
|
</para>
|
|
</sect1>
|
|
|
|
<sect1 id="custommatrices"><title>Uživatelské inter/intra matice</title>
|
|
|
|
<para>
|
|
Díky této vlastnosti
|
|
<link linkend="ffmpeg"><systemitem class="library">libavcodec</systemitem></link>u
|
|
můžete nastavit uživatelskou inter (I-snímky/klíčové snímky) a intra
|
|
(P-snímky/predikované (rozumějte vypočítané) snímky) matice. To je podporováno
|
|
mnoha kodeky:
|
|
<systemitem>mpeg1video</systemitem> a <systemitem>mpeg2video</systemitem>
|
|
jsou hlášeny jako funkční.
|
|
</para>
|
|
|
|
<para>
|
|
Typické použití této vlastnosti je nastavení matic preferovaných
|
|
<ulink url="http://www.kvcd.net/">KVCD</ulink> specifikacemi.
|
|
</para>
|
|
|
|
<para>
|
|
<emphasis role="bold">Kvantizační Matice KVCD "Notch":</emphasis>
|
|
</para>
|
|
|
|
<para>
|
|
Intra:
|
|
<screen>
|
|
8 9 12 22 26 27 29 34
|
|
9 10 14 26 27 29 34 37
|
|
12 14 18 27 29 34 37 38
|
|
22 26 27 31 36 37 38 40
|
|
26 27 29 36 39 38 40 48
|
|
27 29 34 37 38 40 48 58
|
|
29 34 37 38 40 48 58 69
|
|
34 37 38 40 48 58 69 79
|
|
</screen>
|
|
|
|
Inter:
|
|
<screen>
|
|
16 18 20 22 24 26 28 30
|
|
18 20 22 24 26 28 30 32
|
|
20 22 24 26 28 30 32 34
|
|
22 24 26 30 32 32 34 36
|
|
24 26 28 32 34 34 36 38
|
|
26 28 30 32 34 36 38 40
|
|
28 30 32 34 36 38 42 42
|
|
30 32 34 36 38 40 42 44
|
|
</screen>
|
|
</para>
|
|
|
|
<para>
|
|
Použití:
|
|
<screen>
|
|
$ mencoder <replaceable>vstup.avi</replaceable> -o <replaceable>výstup.avi</replaceable> -oac copy -ovc lavc -lavcopts inter_matrix=...:intra_matrix=...
|
|
</screen>
|
|
</para>
|
|
|
|
<para>
|
|
<screen>
|
|
$ mencoder <replaceable>vstup.avi</replaceable> -ovc lavc -lavcopts
|
|
vcodec=mpeg2video:intra_matrix=8,9,12,22,26,27,29,34,9,10,14,26,27,29,34,37,
|
|
12,14,18,27,29,34,37,38,22,26,27,31,36,37,38,40,26,27,29,36,39,38,40,48,27,
|
|
29,34,37,38,40,48,58,29,34,37,38,40,48,58,69,34,37,38,40,48,58,69,79
|
|
:inter_matrix=16,18,20,22,24,26,28,30,18,20,22,24,26,28,30,32,20,22,24,26,
|
|
28,30,32,34,22,24,26,30,32,32,34,36,24,26,28,32,34,34,36,38,26,28,30,32,34,
|
|
36,38,40,28,30,32,34,36,38,42,42,30,32,34,36,38,40,42,44 -oac copy -o svcd.mpg
|
|
</screen>
|
|
</para>
|
|
</sect1>
|
|
|
|
<sect1 id="menc-feat-dvd-mpeg4">
|
|
<title>Vytvoření MPEG-4 ("DivX") ripu DVD filmu ve vysoké kvalitě</title>
|
|
|
|
<para>
|
|
Velmi častou otázkou je "Jak mohu vytvořit rip v nejvyšší možné kvalitě pro
|
|
danou velikost?". Další otázkou je "Jak vytvořím DVD rip v nejvyšší možné
|
|
kvalitě? Velikost souboru mě nezajímá, chci tu nejvyšší kvalitu."
|
|
</para>
|
|
|
|
<para>
|
|
Druhá otázka je poněkud špatně položená. Konec konců, pokud je vám lhostejná
|
|
velikost souboru, proč prostě nezkopírujete celý MPEG-2 video proud z DVD?
|
|
Jistěže vaše AVI bude mít kolem 5 GB, ale pokud chcete nejvyšší kvalitu a
|
|
na velikosti nezáleží, je to jistě nejlepší volba.
|
|
</para>
|
|
|
|
<para>
|
|
Ve skutečnosti, důvodem převodu DVD do MPEG-4 je právě to, že vám na velikosti
|
|
souboru <emphasis role="bold">záleží</emphasis>.
|
|
</para>
|
|
|
|
<para>
|
|
Je těžké nabídnout kuchařku jak vytvořit DVD rip ve velmi vysoké kvalitě. Je
|
|
nutné uvážit množství faktorů a měli byste rozumět těmto detailům, jinak
|
|
budete asi zklamáni výsledkem. Níže prozkoumáme některé z těchto věcí a
|
|
pak se podíváme na příklad. Předpokládáme, že použijete
|
|
<systemitem class="library">libavcodec</systemitem> pro enkódování videa,
|
|
ačkoli teorie je stejná i pro ostatní kodeky.
|
|
</para>
|
|
|
|
<para>
|
|
Pokud je toho na vás moc, asi byste měli použít některý z pěkných frontendů,
|
|
které jsou zmíněny v
|
|
<ulink url="http://mplayerhq.hu/homepage/design7/projects.html#mencoder_frontends">sekci MEncoder</ulink>
|
|
na naší stránce odvozených projektů.
|
|
Takto budete schopni dosahovat vysoce kvalitních ripů bez velkého přemýšlení,
|
|
protože většina těchto nástrojů je navržena tak, aby dělala vhodná rozhodnutí
|
|
za vás.
|
|
</para>
|
|
|
|
<sect2 id="menc-feat-dvd-mpeg4-2pass">
|
|
<title>Pevný kvantizer vs. dva průchody</title>
|
|
|
|
<para>
|
|
Jsou tři přístupy k enkódování videa: pevný datový tok (CBR), pevný kvantizer
|
|
a dvouprůchodový (ABR, nebili průměrovaný datový tok).
|
|
</para>
|
|
|
|
<para>
|
|
V každém z těchto režimů <systemitem class="library">libavcodec</systemitem>
|
|
rozbije videosnímek na makrobloky 16x16 pixelů a potom na každý makroblok
|
|
aplikuje kvantizer. Čím je nižší kvantizer, tím je vyšší kvalita a datový tok.
|
|
Metoda, kterou <systemitem class="library">libavcodec</systemitem> používá pro
|
|
určení jaký kvantizer použít pro daný makroblok, se liší a je vysoce
|
|
ovlivnitelná. (Toto je extrémní zjednodušení daného procesu, ale je vhodné
|
|
rozumět základnímu principu.)
|
|
</para>
|
|
|
|
<para>
|
|
Pokud nastavíte konstantní datový tok, <systemitem
|
|
class="library">libavcodec</systemitem> bude enkódovat video tak, že zahodí
|
|
detaily podle potřeby a jen tolik, aby se udržel pod zadaným datovým tokem.
|
|
Pokud je vám opravdu lhostejná velikost souboru, můžete také použít CBR a
|
|
nastavit datový tok na nekonečno. (V praxi to znamená nastavit hodnotu tak
|
|
vysoko, aby nijak neomezovala, jako 10000 Kbitů.) Bez reálného omezení
|
|
datového toku použije <systemitem class="library">libavcodec</systemitem>
|
|
nejnižší možný kvantizer pro každý makroblok (ten je nastaven pomocí
|
|
<option>vqmin</option>, výchozí je 2). Jakmile nastavíte dostatečně nižší
|
|
datový tok, takže je <systemitem class="library">libavcodec</systemitem>
|
|
přinucen použít vyšší kvantizer, pak téměř jistě snížíte kvalitu svého videa.
|
|
Abyste se tomu vyhnuli, měli byste zvážit zmenšení videa podle postupu
|
|
popsaného později v této příručce.
|
|
</para>
|
|
|
|
<para>
|
|
Při konstantním kvantizeru <systemitem class="library">libavcodec</systemitem>
|
|
používá kvantizer nastavený volbou <option>vqscale</option> na každý makroblok.
|
|
Pokud chcete maximálně kvalitní rip, opět bez ohledu na datový tok, můžete
|
|
použít <option>vqscale=2</option>. To povede ke stejnému datovému toku a PSNR
|
|
(odstup signál–šum) jako CBR s <option>vbitrate</option>=infinity a
|
|
výchozím <option>vqmin</option> rovným 2.
|
|
</para>
|
|
|
|
<para>
|
|
Problém s konstantní kvantizací je ten, že používá zadaný kvantizer ať to daný
|
|
makroblok potřebuje či nikoli. Je totiž možné použít vyšší kvantizer na
|
|
makroblok bez obětování viditelné kvality. Proč tedy plýtvat bity s nemístně
|
|
nízkým kvantizerem? Váše CPU má tolik cyklů, kolik máte času, ale na harddisku
|
|
máte jen určitý počet bitů.
|
|
</para>
|
|
|
|
<para>
|
|
Při dvouprůchodovém enkódování se v prvním průchodu projde film jakoby měl být
|
|
CBR, ale vlastnosti každého snímku se zaznamenají do logu. Tato data jsou pak
|
|
použita při druhém průchodu pro inteligentní stanovení použitého kvantizeru.
|
|
V rychlých scénách nebo scénách s malým počtem detailů budou častěji používány
|
|
vyšší kvantizery a v pomalých nebo detailních scénách zase nižší kvantizery.
|
|
</para>
|
|
|
|
<para>
|
|
Pokud použijete <option>vqscale=2</option>, plýtváte bity. Pokud použijete
|
|
<option>vqscale=3</option>, pak nedostanete nejkvalitnější možný rip.
|
|
Dejme tomu, že ripujete DVD při <option>vqscale=3</option> a
|
|
výsledkem je 1800Kbit. Pokud provedete dvouprůchodové enkódování
|
|
s <option>vbitrate=1800</option>, výsledné video bude mít <emphasis
|
|
role="bold">vyšší kvalitu</emphasis> při
|
|
<emphasis role="bold">stejném datovém toku</emphasis>.
|
|
</para>
|
|
|
|
<para>
|
|
Jelikož jsme vás nyní přesvědčili, že dvouprůchodový režim je správná volba,
|
|
skutečnou otázkou je, jaký datový tok použít? Odpověď je, že není jediná
|
|
odpověď. Ideálně byste měli zvolit takový datový tok, který zajistí nejlepší
|
|
rovnováhu mezi kvalitou a velikostí souboru. Ten bude pokaždé jiný
|
|
v závislosti na zdrojovém videu.
|
|
</para>
|
|
|
|
<para>
|
|
Pokud na velikosti souboru nezáleží, pak je dobrý startovní můstek pro rip
|
|
s velmi vysokou kvalitou je kolem 2000 Kbitů plus-mínus 200 Kbitů.
|
|
Pro rychlé akční nebo vysoce detailní zdrojové video, nebo máte-li velmi
|
|
kritické oko, se budete rozhodovat mezi 2400 nebo 2600.
|
|
U některých DVD nepoznáte rozdíl při 1400 Kbitech. Je vhodné experimentovat
|
|
se scénami při různých datových tocích, abyste pro to dostali cit.
|
|
</para>
|
|
|
|
<para>
|
|
Pokud se snažíte o určitou velikost, budete muset nějak spočítat datový tok.
|
|
Ale ještě předtím musíte zjistit, kolik místa byste měli rezervovat pro
|
|
zvukové(ou) stopy(u), takže byste si
|
|
<link linkend="menc-feat-dvd-mpeg4-audio">je měli ripnout</link> jako první.
|
|
Můžete si pak spočítat datový tok pomocí následující rovnice:
|
|
<systemitem>datový_tok = (požadovaná_velikost_v_Mbajtech - velikost_zvuku_v_Mbajtech) *
|
|
1024 * 1024 / délka_v_sek * 8 / 1000</systemitem>
|
|
Například abyste nacpali dvouhodinový film na 702MB CD, se 60MB zvukovou
|
|
stopou, bude muset být datový tok videa:
|
|
<systemitem>(702 - 60) * 1024 * 1024 / (120*60) * 8 / 1000
|
|
= 740kbps (kilobitů za sekundu)</systemitem>
|
|
</para>
|
|
|
|
</sect2>
|
|
|
|
|
|
<sect2 id="menc-feat-dvd-mpeg4-constraints">
|
|
<title>Omezení pro efektivní enkódování</title>
|
|
|
|
<para>
|
|
Ze samé podstaty komprese typu MPEG vyplývají určitá omezení, která byste měli
|
|
ctít, pokud chcete maximální kvalitu.
|
|
MPEG rozdělí video na čtverce 16x16 nazývané makrobloky, které se skládají
|
|
ze čtyř bloků 8x8 jasové (luma) složky a dvou bloků 8x8 barevné (chroma)
|
|
složky v polovičním rozlišení (jeden pro osu červená-cyan (modrozelená) a druhý pro osu
|
|
modrá-žlutá).
|
|
Dokonce i když šířka a výška vašeho videa nejsou násobky 16, použije enkodér
|
|
dostatek 16x16 makrobloků, aby pokryl celou oblast obrazu a zabere místo
|
|
navíc, které přijde vniveč.
|
|
Takže chcete-li maximalizovat kvalitu při dané velikosti souboru, není dobrý
|
|
nápad používat rozměry které nejsou násobky 16.
|
|
</para>
|
|
|
|
<para>
|
|
Většina DVD má také různě velké černé okraje videa. Ponechání těchto ploch
|
|
může různým způsobem snížit kvalitu.
|
|
</para>
|
|
|
|
<orderedlist>
|
|
<listitem>
|
|
<para>
|
|
Komprese typu MPEG je rovněž velmi závislá na plošných frekvenčních
|
|
transformacích, konkrétně Diskrétní Kosinové Transformaci (DCT), která se
|
|
podobá Fourierově transformaci. Tento druh enkódování je efektivní na
|
|
reprezentaci opakujících se vzorů a pozvolné přechody, ale má potíže s ostrými
|
|
přechody. Chcete-li je enkódovat, musíte použít mnoho bitů, jinak se objeví
|
|
artefakty známé jako kroužkování.
|
|
</para>
|
|
|
|
<para>
|
|
Frekvenční transformace (DCT) je provedena zvlášť pro každý makroblok
|
|
(ve skutečnosti na každý blok), takže problém nastane pouze tehdy, je-li ostrý
|
|
přechod uvnitř bloku. Pokud vaše černé okraje začínají přesně na hranicích
|
|
násobků 16 pixelů, pak to není problém. Černé okraje jsou však na DVD jen
|
|
málokdy pěkně umístěny, takže je v praxi budete muset vždy odstranit, abyste
|
|
se vyhnuli tomuto problému.
|
|
</para>
|
|
</listitem>
|
|
</orderedlist>
|
|
|
|
<para>
|
|
Navíc k plošně frekvenčním transformacím používá komprese typu MPEG vektory
|
|
pohybu k popisu změn od jednoho snímku ke druhému. Vektory pohybu přirozeně
|
|
pracují méně efektivně s novým obsahem přicházejícím zpoza okrajů snímku,
|
|
protože ten nebyl přítomen na předchozím snímku. Dokud se obraz rozšiřuje
|
|
směrem k okrajům snímku, nemají s tím vektory pohybu žádný problém, ale
|
|
jsou-li zde černé okraje, může problém nastat:
|
|
</para>
|
|
|
|
<orderedlist continuation="continues">
|
|
<listitem>
|
|
<para>
|
|
Komprese typu MPEG ukládá pro každý makroblok vektor, identifikující která
|
|
část předchozího obrázku by měla být zkopírována onoho makrobloku jako základ
|
|
pro predikci následujícího snímku. Pouze zbývající odlišnosti musí být
|
|
enkódovány. Pokud makroblok přesahuje okraj obrázku a obsahuje část černého
|
|
okraje, vektory pohybu z ostatních částí obrázku přepíší černý okraj.
|
|
To znamená mnoho bitů spotřebovaných buď na znovuzačernění, nebo se (spíš)
|
|
vektory pohybu nepoužijí vůbec a všechny změny v tomto makrobloku se budou
|
|
kódovat přímo. Jinými slovy se velmi sníží efektivita enkódování.
|
|
</para>
|
|
|
|
<para>
|
|
Tento problém nastává opět jen v případě, že černé okraje nezačínají na lince
|
|
jejíž pozice je násobkem 16.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>
|
|
Nakonec zde máme makroblok uvnitř obrázku do nějž se posunuje objekt z okraje
|
|
obrázku. Kódování typu MPEG neumí říct "zkopíruj to co je na obrázku, ale ne
|
|
černý okraj." Takže se zkopíruje i černý okraj a spotřebuje se spousta bitů
|
|
na enkódování té části obrázku, která tu měla být.
|
|
</para>
|
|
|
|
<para>
|
|
Pokud se obrázek dostane úplně ven z enkódované oblasti, má MPEG speciální
|
|
optimalizace pro opakované kopírování pixelů na okraj obrázku pokud přijde
|
|
vektor pohybu zvenčí enkódované oblasti. Tato vlastnost bude k ničemu, pokud
|
|
má film černé okraje. Na rozdíl od problémů 1 a 2 zde umístění okrajů na
|
|
násobky 16 nepomůže.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>
|
|
Navzdory tomu, že okraje jsou úplně černé a nikdy se nemění, je zde vždy
|
|
alespoň minimální datový tok spotřebovaný na větší množství makrobloků.
|
|
</para>
|
|
</listitem>
|
|
</orderedlist>
|
|
|
|
<para>
|
|
Ze všech těchto důvodů doporučujeme zcela odstranit černé okraje. Dále, pokud
|
|
je na okraji obrázku oblast se šumem/zkreslením, jejím odstřižením se ještě
|
|
zvýší efektivita enkódování. Videofilní puristé, kteří chtějí zůstat tak
|
|
blízko originálu, jak je to jen možné, mohou protestovat proti tomuto ořezání,
|
|
ale pokud nehodláte enkódovat s konstantním kvantizerem, kvalita kterou
|
|
dostanete díky ořezání znatelně převýší množství ztracených informací na
|
|
okrajích.
|
|
</para>
|
|
</sect2>
|
|
|
|
|
|
<sect2 id="menc-feat-dvd-mpeg4-crop">
|
|
<title>Ořezávání a škálování</title>
|
|
|
|
<para>
|
|
Připomeňme z předchozí části, že konečná velikost obrázku by měla mít
|
|
jak šířku, tak výšku beze zbytku dělitelnou 16, čehož můžete dosáhnout
|
|
pomocí ořezání, škálování, nebo kombinací obou.
|
|
</para>
|
|
|
|
<para>
|
|
Při ořezávání byste se měli držet několika zásad, abyste předešli poškození
|
|
svého filmu.
|
|
Normální YUV formát 4:2:0, ukládá barvonosnou (chroma) informaci
|
|
podvzorkovanou, čili hustota vzorkování barvy je poloviční oproti jasové
|
|
(černobílé) složce v obou směrech.
|
|
Prohlédněte si tento diagram, kde L označuje vzorkovací body jasu a C
|
|
barvy.
|
|
</para>
|
|
|
|
<informaltable>
|
|
<?dbhtml table-width="40%" ?>
|
|
<?dbfo table-width="40%" ?>
|
|
<tgroup cols="8" align="center">
|
|
<colspec colnum="1" colname="col1"/>
|
|
<colspec colnum="2" colname="col2"/>
|
|
<colspec colnum="3" colname="col3"/>
|
|
<colspec colnum="4" colname="col4"/>
|
|
<colspec colnum="5" colname="col5"/>
|
|
<colspec colnum="6" colname="col6"/>
|
|
<colspec colnum="7" colname="col7"/>
|
|
<colspec colnum="8" colname="col8"/>
|
|
<spanspec spanname="spa1-2" namest="col1" nameend="col2"/>
|
|
<spanspec spanname="spa3-4" namest="col3" nameend="col4"/>
|
|
<spanspec spanname="spa5-6" namest="col5" nameend="col6"/>
|
|
<spanspec spanname="spa7-8" namest="col7" nameend="col8"/>
|
|
<tbody>
|
|
<row>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
</row>
|
|
<row>
|
|
<entry spanname="spa1-2">C</entry>
|
|
<entry spanname="spa3-4">C</entry>
|
|
<entry spanname="spa5-6">C</entry>
|
|
<entry spanname="spa7-8">C</entry>
|
|
</row>
|
|
<row>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
</row>
|
|
<row>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
</row>
|
|
<row>
|
|
<entry spanname="spa1-2">C</entry>
|
|
<entry spanname="spa3-4">C</entry>
|
|
<entry spanname="spa5-6">C</entry>
|
|
<entry spanname="spa7-8">C</entry>
|
|
</row>
|
|
<row>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
</row>
|
|
</tbody>
|
|
</tgroup>
|
|
</informaltable>
|
|
|
|
<para>
|
|
Jak vidíte, řádky i sloupce obrázku se přirozeně párují. Při ořezávání tedy
|
|
<emphasis>musí</emphasis> být hodnoty odsazení i rozměrů sudá čísla.
|
|
Pokud nejsou, nebude se barvonosná informace zprávně krýt s jasovou.
|
|
Teoreticky lze stříhat s lichým odsazením, ale to vyžaduje převzorkování
|
|
barvy, což je potenciálně ztrátový úkon a není podporován filtrem crop.
|
|
</para>
|
|
|
|
<para>
|
|
Dále, prokládané video je vzorkováno takto:
|
|
</para>
|
|
|
|
<informaltable>
|
|
<?dbhtml table-width="80%" ?>
|
|
<?dbfo table-width="80%" ?>
|
|
<tgroup cols="16" align="center">
|
|
<colspec colnum="1" colname="col1"/>
|
|
<colspec colnum="2" colname="col2"/>
|
|
<colspec colnum="3" colname="col3"/>
|
|
<colspec colnum="4" colname="col4"/>
|
|
<colspec colnum="5" colname="col5"/>
|
|
<colspec colnum="6" colname="col6"/>
|
|
<colspec colnum="7" colname="col7"/>
|
|
<colspec colnum="8" colname="col8"/>
|
|
<colspec colnum="9" colname="col9"/>
|
|
<colspec colnum="10" colname="col10"/>
|
|
<colspec colnum="11" colname="col11"/>
|
|
<colspec colnum="12" colname="col12"/>
|
|
<colspec colnum="13" colname="col13"/>
|
|
<colspec colnum="14" colname="col14"/>
|
|
<colspec colnum="15" colname="col15"/>
|
|
<colspec colnum="16" colname="col16"/>
|
|
<spanspec spanname="spa1-2" namest="col1" nameend="col2"/>
|
|
<spanspec spanname="spa3-4" namest="col3" nameend="col4"/>
|
|
<spanspec spanname="spa5-6" namest="col5" nameend="col6"/>
|
|
<spanspec spanname="spa7-8" namest="col7" nameend="col8"/>
|
|
<spanspec spanname="spa9-10" namest="col9" nameend="col10"/>
|
|
<spanspec spanname="spa11-12" namest="col11" nameend="col12"/>
|
|
<spanspec spanname="spa13-14" namest="col13" nameend="col14"/>
|
|
<spanspec spanname="spa15-16" namest="col15" nameend="col16"/>
|
|
<tbody>
|
|
<row>
|
|
<entry namest="col1" nameend="col8">Horní půlsnímek</entry>
|
|
<entry namest="col9" nameend="col16">Spodní půlsnímek</entry>
|
|
</row>
|
|
<row>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
</row>
|
|
<row>
|
|
<entry spanname="spa1-2">C</entry>
|
|
<entry spanname="spa3-4">C</entry>
|
|
<entry spanname="spa5-6">C</entry>
|
|
<entry spanname="spa7-8">C</entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
</row>
|
|
<row>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
</row>
|
|
<row>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
</row>
|
|
<row>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry spanname="spa9-10">C</entry>
|
|
<entry spanname="spa11-12">C</entry>
|
|
<entry spanname="spa13-14">C</entry>
|
|
<entry spanname="spa15-16">C</entry>
|
|
</row>
|
|
<row>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
</row>
|
|
<row>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
</row>
|
|
<row>
|
|
<entry spanname="spa1-2">C</entry>
|
|
<entry spanname="spa3-4">C</entry>
|
|
<entry spanname="spa5-6">C</entry>
|
|
<entry spanname="spa7-8">C</entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
</row>
|
|
<row>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
</row>
|
|
<row>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
</row>
|
|
<row>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry spanname="spa9-10">C</entry>
|
|
<entry spanname="spa11-12">C</entry>
|
|
<entry spanname="spa13-14">C</entry>
|
|
<entry spanname="spa15-16">C</entry>
|
|
</row>
|
|
<row>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
</row>
|
|
</tbody>
|
|
</tgroup>
|
|
</informaltable>
|
|
|
|
<para>
|
|
Jak vidíte, tak se vzor opakuje každé 4 řádky, takže při ořezu prokládaného
|
|
videa musí být odsazení v ose y a výška beze zbytku delitelné 4.
|
|
</para>
|
|
|
|
<para>
|
|
Nativní DVD rozlišení je 720x480 pro NTSC a 720x576 pro PAL, ale je zde ještě
|
|
příznak poměru stran, který udává, zda se jedná o obrazovku (full-screen)(4:3),
|
|
nebo širokoúhlý film (wide-screen)(16:9). Mnoho (jestli ne většina)
|
|
širokoúhlých DVD není přesně 16:9, ale bude buď 1.85:1 anebo 2.35:1
|
|
(cinescope). To znamená, že zde budou ve videu černé okraje, které bude nutné
|
|
odstřihnout.
|
|
</para>
|
|
|
|
<para>
|
|
<application>MPlayer</application> poskytuje filtr pro detekci potřebného
|
|
ořezu, který stanoví ořezový obdélník (<option>-vf cropdetect</option>).
|
|
Spusťte <application>MPlayer</application> s volbou
|
|
<option>-vf cropdetect</option> a on vám vypíše nastavení filtru crop pro
|
|
ořezání okrajů.
|
|
Měli byste nechat běžet film tak dlouho, dokud není použita celá plocha
|
|
obrázku, abyste dostali správné hodnoty crop.
|
|
</para>
|
|
|
|
<para>
|
|
Pak otestujte získané hodnoty z příkazového řádku
|
|
<application>MPlayer</application>u vypisované <option>cropdetect</option>em
|
|
a upravte obdélník podle potřeby.
|
|
V tom vám pomůže filtr <option>rectangle</option>, který interaktivně
|
|
nastavit obdélník pro váš film.
|
|
Nezapomeňte zachovat výše uvedená doporučení, abyste nepoškodili barevnou
|
|
mapu.
|
|
</para>
|
|
|
|
<para>
|
|
Škálování je obvykle nevhodné.
|
|
Škálování prokládaného videa je obtížné a pokud chcete zachovat prokládání,
|
|
měli byste se mu úplně vyhnout.
|
|
Pokud mebudete škálovat, ale budete chtít používat rozměry v násobcích 16,
|
|
budete muset oříznout i část obrazu.
|
|
Neponechávejte ani malé černé okraje, jelikož se velmi špatně kódují!
|
|
</para>
|
|
|
|
<para>
|
|
Protože MPEG-4 používá makrobloky 16x16, měli byste se ujistit, že oba rozměry
|
|
videa jsou násobkem 16, jinak snížíte kvalitu, zvlášť při nízkých datových
|
|
tocích. Můžete to zajistit zaokrouhlením šířky a výšky ořezového obdélníku
|
|
dolů na nejbližší násobek 16.
|
|
Jak jsme již řekli, měli byste při ořezávání zvýšit odsazení
|
|
(offset) v ose y o polovinu rozdílu mezi starou a novou výškou, takže bude
|
|
výsledné video bráno ze středu snímku. Z důvodu principu vzorkování DVD videa
|
|
se ujistěte, že je odsazení sudé číslo. (Popravdě, přijměte jako pravidlo,
|
|
nikdy nepoužívat liché hodnoty pro jakýkoli z parametrů při ořezávání a
|
|
škálování videa.) Pokud nechcete zahodit těch několik pixelů navíc, můžete
|
|
místo toho raději změnit velikost videa (škálovat). Na to se podíváme
|
|
v příkladu níže.
|
|
V praxi můžete nechat filtr <option>cropdetect</option> udělat všechnu práci
|
|
zmíněnou výše, jelikož má volitelný parametr <option>round</option>
|
|
(zaokrouhlení), jehož výchozí hodnota je 16.
|
|
</para>
|
|
|
|
<para>
|
|
Rovněž buďte opatrní na "napůl černé" pixely na okrajích. Vždy je rovněž
|
|
odstřihněte, jinak zde budete plýtvat bity, které můžete použít jinde.
|
|
</para>
|
|
|
|
<para>
|
|
Poté co provedete vše, co jsme si doposud řekli, budete mít video, které asi
|
|
nebude právě 1.85:1 nebo 2.35:1, ale někde poblíž. Můžete spočítat nový poměr
|
|
stran ručně, ale <application>MEncoder</application> nabízí volbu pro
|
|
<systemitem class="library">libavcodec</systemitem> nazývanou <option>autoaspect</option>,
|
|
která to za vás udělá. Nezvětšujte video jen proto, abyste dosáhli čtvercových
|
|
pixelů, pokud je vám milé místo na disku. Škálování by mělo být provedeno při
|
|
přehrávání, kdy přehrávač použije poměr stran uložený v AVI pro zajištění
|
|
správného rozlišení.
|
|
Naneštěstí ne všechny přehrávače uplatňují tuto autoškálovací informaci,
|
|
takže můžete přece jen chtít škálovat.
|
|
</para>
|
|
|
|
<para>
|
|
Nejdřív byste si měli spočítat enkódovaný poměr stran:
|
|
<systemitem>PSo = (Šo x (PSa / PRdvd )) / Vo</systemitem>
|
|
<itemizedlist>
|
|
<title>kde:</title>
|
|
<listitem><para>
|
|
Šo a Vo jsou šířka a výška ořezaného videa,
|
|
</para></listitem>
|
|
<listitem><para>
|
|
PRdvd je poměr pixelů v DVD, který je roven 1.25=(720/576) pro DVD
|
|
v PALu a 1.5=(720/480) pro DVD v NTSC,
|
|
</para></listitem>
|
|
</itemizedlist>
|
|
</para>
|
|
|
|
<para>
|
|
Pak si můžete spočítat rozlišení X a Y podle určitého faktoru kvality komprese
|
|
(CQ):
|
|
<systemitem>RozY = INT(SQRT( 1000*Datový_tok/25/PSo/CQ )/16) * 16</systemitem>
|
|
<systemitem>RozX = INT( RozY * PSo / 16) * 16</systemitem>
|
|
</para>
|
|
|
|
<para>
|
|
Dobře, ale co je ten CQ?
|
|
CQ odpovídá počtu bitů na pixel a na snímek v zakódování. Jinými slovy, čím
|
|
vyšší je CQ, tím nižší je šance uvidět enkódovací artefakty.
|
|
Pokud ovšem máte cílový rozměr vašeho filmu (1 nebo 2 CD například), máte jen
|
|
omezené množství bitů, které můžete spotřebovat; takže je nutné najít vhodný
|
|
kompromis mezi komprimovatelností a kvalitou.
|
|
</para>
|
|
|
|
<para>
|
|
CQ závisí jak na datovém toku, tak na rozlišení filmu. Abyste zvýšili CQ,
|
|
obvykle zmenšíte daný film, takže je datový tok spočítán ve funkci cílové
|
|
velikosti a délky filmu, které jsou konstantní.
|
|
CQ pod 0.18 obvykle vede k velmi čtverečkovanému obrazu, protože není dostatek
|
|
bitů pro zakódování informací každého makrobloku (MPEG4, stejně jako mnoho
|
|
jiných kodeků seskupuje pixely do bloků při komprimaci obrázku; pokud není
|
|
dostatek bitů, jsou viditelné hranice těchto bloků).
|
|
Proto je rozumné volit CQ v rozmezí 0.20 až 0.22 pro rip na 1 CD a
|
|
0.26 až 0.28 pro 2 CD.
|
|
</para>
|
|
|
|
<para>
|
|
Prosíme berte v potaz, že CQ je jen informační pomůcka závisející na
|
|
enkódovaném obsahu. CQ okolo 0.18 může být dostatečně dobrý pro Bergmana,
|
|
na rozdíl od filmu jako je Matrix, který obsahuje mnoho rychlých scén.
|
|
Na druhou stranu je zbytečné zvyšovat CQ výš než 0.30, jelikož budete plýtvat
|
|
bity za minimální zisk kvality.
|
|
</para>
|
|
|
|
</sect2>
|
|
|
|
<sect2 id="menc-feat-dvd-mpeg4-audio">
|
|
<title>Zvuk</title>
|
|
|
|
<para>
|
|
Zvuk je mnohem jednodušší problém k řešení: pokud prahnete po kvalitě, prostě
|
|
jej nechte tak jak je.
|
|
Dokonce i AC3 5.1 datové proudy mají nanejvýš 448Kbitů/s a stojí za každý bit.
|
|
Možná jste v pokušení převést zvuk do Ogg Vorbis při vysoké kvalitě, ale jen
|
|
proto, že dnes nemáte A/V receiver pro hardwarové dekódování AC3 neznamená,
|
|
že jej nebudete mít zítra. Připravte své DVD ripy zachováním AC3 datových
|
|
proudů.
|
|
Datový proud AC3 můžete zachovat buď jeho zkopírováním přímo do video proudu
|
|
<link linkend="menc-feat-mpeg4">během enkódování</link>.
|
|
Také můžete extrahovat AC3 proud, abyste jej pak namixovali do nosičů jako je
|
|
NUT nebo Matroska.
|
|
<screen>mplayer <replaceable>zdrojový_soubor.vob</replaceable> -aid 129 -dumpaudio -dumpfile <replaceable>zvuk.ac3</replaceable></screen>
|
|
vytáhne do souboru <replaceable>zvuk.ac3</replaceable> zvukovou stopu
|
|
číslo 129 ze souboru <replaceable>zdrojový_soubor.vob</replaceable> (NB: DVD
|
|
VOB soubory obvykle používají odlišné číslování audia,
|
|
což znamená, že VOB zvuková stopa 120 je druhou zvukovou stopou v souboru).
|
|
</para>
|
|
|
|
<para>
|
|
Někdy ovšem opravdu nemáte jinou možnost než dále zkomprimovat zvuk, aby vám
|
|
zbylo více bitů na video.
|
|
Většina lidí volí komprimaci buď pomocí MP3 nebo Vorbis audio kodeků.
|
|
Zatímco ten druhý je efektivnější z prostorového hlediska, MP3 je lépe
|
|
podporován hardwarovými přehrávači, ačkoli časy se mění.
|
|
</para>
|
|
|
|
<para>
|
|
Nejdříve ze všeho budete muset převést DVD zvuk do WAV souboru, který pak
|
|
použije zvukový kodek jako vstup.
|
|
Například:
|
|
<screen>mplayer <replaceable>zdrojový_soubor.vob</replaceable> -ao pcm:file=<replaceable>výsledný_zvuk.wav</replaceable> -vc dummy -aid 1 -vo null</screen>
|
|
vylije druhou zvukovou stopu ze souboru
|
|
<replaceable>zdrojový_soubor.vob</replaceable> do souboru
|
|
<replaceable>výsledný_zvuk.wav</replaceable>.
|
|
Měli byste normalizovat zvuk před enkódováním, protože DVD zvukové stopy jsou
|
|
obvykle nahrávány při nízkých hlasitostech.
|
|
Můžete například použít nástroj <application>normalize</application>, který je
|
|
k dispozici ve většině distribucí.
|
|
Pokud používáte Windows, stejnou práci udělá nástroj jako
|
|
<application>BeSweet</application>.
|
|
Komprimovat budete buď ve Vorbisu nebo MP3.
|
|
Například:
|
|
<screen>oggenc -q1 <replaceable>cílový_zvuk.wav</replaceable></screen>
|
|
provede enkódování <replaceable>cílového_zvuku.wav</replaceable> s kvalitou 1,
|
|
která přibližně odpovídá 80Kb/s a je to minimální kvalita na kterou byste měli
|
|
enkódovat, pokud vám záleží na kvalitě.
|
|
Poznamenejme, že <application>MEncoder</application> v současnosti neumí
|
|
muxovat Vorbis zvukové stopy do výstupního souboru, protože podporuje pouze
|
|
AVI a MPEG kontejnery jako výstup. Pro oba platí, že některé přehrávače mohou
|
|
mít problémy s udržením audio/video synchronizace, pokud je přítomen VBR zvuk
|
|
jako je Vorbis.
|
|
Nemějte obavy, v tomto dokumentu vám ukážeme, jak to lze udělat pomocí
|
|
programů třetích stran.
|
|
</para>
|
|
|
|
</sect2>
|
|
|
|
<sect2 id="menc-feat-dvd-mpeg4-interlacing">
|
|
<title>Prokládání a Telecine</title>
|
|
|
|
<para>
|
|
Téměř veškeré filmy jsou natáčeny při 24 snímcích/s. Jelikož NTSC má
|
|
snímkovou rychlost 30000/1001 snímků/s, je třeba provést úpravu těchto
|
|
24 snímků/s videí, aby měly správnou NTSC snímkovou rychlost. Tato úprava se
|
|
jmenuje 3:2 pulldown a obecně je známa jako telecine (protože je pulldown
|
|
často prováděn během přenosu filmu na video) a, jednoduše řečeno, pracuje tak,
|
|
že se film zpomalí na 24000/1001 snímků/s a každý čtvrtý snímek se zopakuje.
|
|
</para>
|
|
|
|
<para>
|
|
Naopak žádné speciální úpravy se neprovádějí videu pro PAL DVD, která běží
|
|
při 25 snímcích/s. (Technicky lze na PAL provést telecine, tzv. 2:2 pulldown,
|
|
ale v praxi se nepoužívá.) Film s 24 snímky/s je jednoduše přehráván rychlostí
|
|
25 snímků/s. Výsledkem je, že video běží o něco rychleji, ale pokud nejste
|
|
vetřelec, tak si rozdílu ani nevšimnete. Většina filmů má navíc výškově
|
|
korigovaný zvuk, takže při přehrávání 25 snímků/s vše zní jak má i přesto, že
|
|
zvuk (a proto i celé video) má o 4% kratší dobu přehrávání než NTSC DVD.
|
|
</para>
|
|
|
|
<para>
|
|
Jelikož video na PAL DVD nebylo upravováno, nemusíte si dělat starosti s jeho
|
|
snímkovou rychlostí. Zdroj má 25 snímků/s, váš rip také. Pokud ovšem ripujete
|
|
NTSC DVD film, musíte provést inverzní telecine.
|
|
</para>
|
|
|
|
<para>
|
|
Filmy točené rychlostí 24 snímků/s jsou na NTSC DVD uloženy buď jako
|
|
30000/1001 po telecine, nebo jako progresivní (neprokládaný) se snímkovou
|
|
24000/1001 snímků/s, na kterých by měl provést telecine DVD přehrávač za letu.
|
|
Není to ale zákon: některé TV série jsou prokládané (např. Buffy Lovec upírů),
|
|
zatímco jiné jsou porůznu neprokládané nebo prokládané (např. Anděl, nebo 24
|
|
hodin).
|
|
</para>
|
|
|
|
<para>
|
|
Doporučujeme, abyste si přečetli sekci o tom
|
|
<link linkend="menc-feat-telecine">Jak si poradit s telecine a prokladem na NTSC DVD</link>
|
|
a naučili se jak využít různé možnosti.
|
|
</para>
|
|
|
|
<para>
|
|
Pokud ovšem většinou ripujete pouze filmy, nejspíš se setkáváte
|
|
s neprokládaným nebo prokládaným videem 24 snímků/s. V tom případě můžete
|
|
použít <option>pullup</option> filtr <option>-vf pullup,softskip</option>.
|
|
</para>
|
|
|
|
</sect2>
|
|
|
|
|
|
<sect2 id="menc-feat-dvd-mpeg4-filtering">
|
|
<title>Filtrování</title>
|
|
|
|
<para>
|
|
Obecně byste měli filtrovat video tak málo, jak je to jen možné, abyste
|
|
zůstali co nejblíž DVD originálu. Ořezání je často nutné (jak jsme již řekli),
|
|
ale neškálujte video. Ačkoli zmenšení rozlišení je občas upřednostňováno před
|
|
použitím vyšších kvantizerů, musíme se vyhnout oběma případům: pamatujme, že
|
|
jsme se již na začátku rozhodli obětovat bity za kvalitu.
|
|
</para>
|
|
|
|
<para>
|
|
Rovněž neupravujte gamu, kontrast, jas, atd. Co vypadá dobře na vaší
|
|
obrazovce, nemusí vypadat dobře na jiných. Tato přizpůsobení by měla být
|
|
prováděna pouze při přehrávání.
|
|
</para>
|
|
|
|
<para>
|
|
Jednu věc byste však udělat měli, a to protáhnout video velmi lehkým
|
|
odšumovací filtr, jako je <option>-vf hqdn3d=2:1:2</option>.
|
|
Opět je to proto, abychom mohli některé bity lépe využít: proč s nimi plýtvat
|
|
na šum, když si jej můžete přidat při přehrávání? Zvýšení parametrů pro
|
|
<option>hqdn3d</option> ještě více zvýší komprimovatelnost, ale pokud to
|
|
přeženete, riskujete zhoršení viditelnosti obrazu. Doporučené hodnoty okolo
|
|
(<option>2:1:2</option>) jsou dost konzervativní; měli byste volně
|
|
experimentovat s vyššími hodnotami a posoudit výsledek sami.
|
|
</para>
|
|
|
|
</sect2>
|
|
|
|
<sect2 id="menc-feat-dvd-mpeg4-lavc-encoding-options">
|
|
<title>Enkódovací volby libavcodecu</title>
|
|
|
|
<para>
|
|
V ideálním případě byste asi chtěli jen říct enkodéru, aby se přepnul do
|
|
režimu "vysoká kvalita" a šel na to.
|
|
To by bylo jistě hezké, ale naneštěstí je to těžké zavést, jelikož různé
|
|
volby enkódování vedou k různé kvalitě v závislosti na zdrojovém materiálu.
|
|
To proto, že komprese závisí na vizuálních vlastnostech daného videa.
|
|
Například anime a živá akce mají zcela rozdílné vlastnosti a tedy vyžadují
|
|
odlišné volby pro dosažení optimálního enkódování.
|
|
Dobrá zpráva je, že některé volby by nikdy neměly chybět, jako
|
|
<option>mbd=2</option>, <option>trell</option> a <option>v4mv</option>.
|
|
Podrobný popis obvyklých enkódovacích voleb naleznete níže.
|
|
</para>
|
|
|
|
|
|
<itemizedlist>
|
|
<title>Volby k nastavení:</title>
|
|
<listitem><para>
|
|
<emphasis role="bold">vmax_b_frames</emphasis>: 1 nebo 2 je v pořádku,
|
|
v závislosti na filmu.
|
|
Poznamenejme, že libavcodec zatím nepodporuje uzavřený GOP (volba
|
|
<option>cgop</option> zatím nepracuje), takže DivX5 nebude schopen dekódovat
|
|
nic enkódovaného s B-snímky.
|
|
</para></listitem>
|
|
|
|
<listitem><para>
|
|
<emphasis role="bold">vb_strategy=1</emphasis>: pomáhá ve scénách s rychlým
|
|
pohybem.
|
|
Vyžaduje vmax_b_frames >= 2.
|
|
V některých videích může vmax_b_frames snížit kvalitu, ale vmax_b_frames=2
|
|
spolu s vb_strategy=1 pomůže.
|
|
</para></listitem>
|
|
|
|
<listitem><para>
|
|
<emphasis role="bold">dia</emphasis>: okruh vyhledávání pohybu. Čím větší, tím
|
|
lepší a pomalejší.
|
|
Záporné hodnoty mají úplně jiný význam.
|
|
Dobrými hodnotami jsou -1 pro rychlé enkódování, nebo 2-4 pro pomalejší.
|
|
</para></listitem>
|
|
|
|
<listitem><para>
|
|
<emphasis role="bold">predia</emphasis>: předprůchod pro vyhledávání pohybu.
|
|
Není tak důležitý jako dia. Dobré hodnoty jsou 1 (výchozí) až 4. Vyžaduje
|
|
preme=2, aby byla opravdu k něčemu.
|
|
</para></listitem>
|
|
|
|
<listitem><para>
|
|
<emphasis role="bold">cmp, subcmp, precmp</emphasis>: Porovnávací funkce pro
|
|
odhad pohybu.
|
|
Experimentujte s hodnotami 0 (výchozí), 2 (hadamard), 3 (dct) a 6 (omezení
|
|
datového toku).
|
|
0 je nejrychlejší a dostatečná pro precmp.
|
|
Pro cmp a subcmp je 2 dobrá pro anime a 3 zase pro živou akci.
|
|
6 může, ale nemusí být o něco lepší, ale je pomalá.
|
|
</para></listitem>
|
|
|
|
<listitem><para>
|
|
<emphasis role="bold">last_pred</emphasis>: Počet prediktorů pohybu
|
|
přebíraných z předchozího snímku.
|
|
1-3 nebo tak pomůžou za cenu menšího zdržení.
|
|
Vyšší hodnoty jsou však pomalé a nepřináší žádný další užitek.
|
|
</para></listitem>
|
|
|
|
<listitem><para>
|
|
<emphasis role="bold">cbp, mv0</emphasis>: Ovládá výběr makrobloků.
|
|
Malá ztráta rychlosti za malý zisk kvality.
|
|
</para></listitem>
|
|
|
|
<listitem><para>
|
|
<emphasis role="bold">qprd</emphasis>: adaptivní kvantizace založená na
|
|
komplexnosti makrobloku.
|
|
Může pomoci i uškodit v závislosti na videu a ostatních volbách.
|
|
Toto může způsobovat artefakty, pokud nenastavíte vqmax na nějakou rozumně
|
|
malou hodnotu (6 je dobrá, možná byste ale měli jít až na 4); vqmin=1 může
|
|
také pomoci.
|
|
</para></listitem>
|
|
|
|
<listitem><para>
|
|
<emphasis role="bold">qns</emphasis>: velmi pomalá, zvlášť v kombinaci
|
|
s qprd.
|
|
Tato volba nutí enkodér minimalizovat šum díky kompresi artefaktů, místo aby
|
|
se snažil striktně zachovávat věrnost videa. Nepoužívejte ji, pokud jste již
|
|
nezkusili všechno ostatní kam až to šlo a výsledek přesto není dost dobrý.
|
|
</para></listitem>
|
|
|
|
<listitem><para>
|
|
<emphasis role="bold">vqcomp</emphasis>: Vylepšení ovládání datového toku.
|
|
Dobré hodnoty se liší podle videa. Můžete to bezpečně ponechat jak to je,
|
|
pokud chcete.
|
|
Snížením vqcomp pustíte více bitů do scén s nízkou komplexností, zvýšením je
|
|
pošlete do scén s vysokou komplexností (výchozí: 0.5, rozsah: 0-1. doporučený
|
|
rozsah: 0.5-0.7).
|
|
</para></listitem>
|
|
|
|
<listitem><para>
|
|
<emphasis role="bold">vlelim, vcelim</emphasis>: Nastaví jediný koeficient
|
|
prahu eliminace pro jasové a barevné roviny.
|
|
Ty jsou enkódovány odděleně ve všech MPEGu podobných algoritmech.
|
|
Myšlenka stojící za těmito volbami je použití dobré heuristiky pro určení,
|
|
zda je změna v bloku menší než vámi nastavený práh a v tom případě se blok
|
|
enkóduje jako "nezměněný".
|
|
To šetří bity a možná i zrychlí enkódování. vlelim=-4 a vcelim=9 se zdají být
|
|
dobré pro hrané filmy, ale příliš nepomohou s anime; pokud enkódujete anime,
|
|
měli byste je asi nechat beze změn.
|
|
</para></listitem>
|
|
|
|
<listitem><para>
|
|
<emphasis role="bold">qpel</emphasis>: Odhad pohybu s přesností na čtvrt
|
|
pixelu. MPEG-4 používá přesnost na půl pixelu jako výchozí při vyhledávání
|
|
pohybu, proto je tato volba spojena s určitou režií, jelikož se do výstupního
|
|
souboru ukládá více informací.
|
|
Kompresní zisk/ztráta závisí na filmu, ale obvykle to není příliš efektivní
|
|
na anime.
|
|
qpel vždy způsobí zvýšení výpočetní náročnosti dekódování (v praxi +20% času
|
|
CPU).
|
|
</para></listitem>
|
|
|
|
<listitem><para>
|
|
<emphasis role="bold">psnr</emphasis>: neovlivní aktuální enkódování, ale
|
|
zaznamená typ/velikost/kvalitu každého snímku do log souboru a na konci vypíše
|
|
souhrnný PSNR (odstup signálu od šumu).
|
|
</para></listitem>
|
|
|
|
</itemizedlist>
|
|
|
|
<itemizedlist>
|
|
<title>Volby se kterými nedoporučujeme si hrát:</title>
|
|
<listitem><para>
|
|
<emphasis role="bold">vme</emphasis>: Výchozí je nejlepší.
|
|
</para></listitem>
|
|
|
|
<listitem><para>
|
|
<emphasis role="bold">lumi_mask, dark_mask</emphasis>: Psychovizuálně
|
|
adaptivní kvantizace.
|
|
Nehrajte si s těmito volbami, pokud vám jde o kvalitu. Rozumné hodnoty mohou
|
|
být efektivní ve vašem případě, ale pozor, je to velmi subjektivní.
|
|
</para></listitem>
|
|
|
|
<listitem><para>
|
|
<emphasis role="bold">scplx_mask</emphasis>: Snaží se předcházet blokovým
|
|
artefaktům, ale postprocesing je lepší.
|
|
</para></listitem>
|
|
</itemizedlist>
|
|
|
|
</sect2>
|
|
|
|
<sect2 id="menc-feat-dvd-mpeg4-example">
|
|
<title>Příklad</title>
|
|
|
|
<para>
|
|
Takže jste si koupili zbrusu novou kopii filmu Harry Potter a Tajemná komnata
|
|
(širokoúhlou verzi samozřejmě) a chcete si toto DVD ripnout, takže si jej
|
|
můžete přidat do svého Domácího kino-počítače PC. Je to region 1 DVD, takže je
|
|
v NTSC. Níže uvedený příklad je stále vhodný i pro PAL, jen musíte vynechat
|
|
<option>-ofps 24000/1001</option> (protože výstupní snímková rychlost je
|
|
shodná se vstupní) a přirozeně budou rozdílné souřadnice pro ořez.
|
|
</para>
|
|
|
|
<para>
|
|
Po spuštění <option>mplayer dvd://1</option>, postupujeme podle informací
|
|
obsažených v sekci <link linkend="menc-feat-telecine">Jak naložit s telecine
|
|
a prokladem v NTSC DVD</link> a zjistíme že je to 24000/1001 neprokládané
|
|
video, takže nepotřebujeme použít inverzní telecine filtr, jako je
|
|
<option>pullup</option> nebo <option>filmdint</option>.
|
|
</para>
|
|
|
|
<para>
|
|
Dále musíme zjistit vhodný ořezový obdélník, takže použijeme filtr cropdetect:
|
|
|
|
<screen>mplayer dvd://1 -vf cropdetect</screen>
|
|
|
|
Ujistěte se, že jste přešli přes zaplněný snímek (nějakou jasnou scénu) a
|
|
v konzoli <application>MPlayer</application>u uvidíte:
|
|
|
|
<screen>crop area: X: 0..719 Y: 57..419 (-vf crop=720:362:0:58)</screen>
|
|
|
|
Potom přehrajeme film s tímto filtrem, abychom otestovali jeho správnost:
|
|
|
|
<screen>mplayer dvd://1 -vf crop=720:362:0:58</screen>
|
|
|
|
A zjistíme, že to vypadá zcela v pořádku. Dále se ujistíme, že šířka i výška
|
|
jsou násobky 16. Šířka je v pořádku, výška ovšem ne. Protože jsme nepropadli
|
|
v sedmé třídě z matematiky, víme, že nejbližším násobkem 16 nižším než 362 je
|
|
352.
|
|
</para>
|
|
|
|
<para>
|
|
Mohli bychom použít <option>crop=720:352:0:58</option>, ale bude lepší
|
|
ustřihnout kousek nahoře i dole, takže zachováme střed. Zkrátili jsme výšku
|
|
o 10 pixelů, ale nechceme zvýšit odsazení y o 5 pixelů, protože je to liché
|
|
číslo, což by nepříznivě ovlivnilo kvalitu. Místo toho zvýšíme odsazení y o 4
|
|
pixely:
|
|
|
|
<screen>mplayer dvd://1 -vf crop=720:352:0:62</screen>
|
|
|
|
Další důvod pro odstřižení pixelů shora i zdola je to, že si můžeme být jisti
|
|
odstřižením napůl černých pixelů pokud existují. Pokud je však vaše video
|
|
telecinováno, ujistěte se, že máte v řetězu filtrů <option>pullup</option>
|
|
filtr (nebo jiný filtr pro inverzi telecine, který hodláte použít) ještě před
|
|
odstraněním prokladu a ořezem. (Pokud se rozhodnete zachovat vaše video
|
|
prokládané, pak se ujistěte, že vaše vertikální odsazení (offset)
|
|
je násobkem 4.)
|
|
</para>
|
|
|
|
<para>
|
|
Pokud si děláte starosti se ztrátou těch 10 pixelů, možná raději snížíte
|
|
rozměry na nejbližší násobek 16. Řetězec filtrů by pak vypadal asi takto:
|
|
|
|
<screen>-vf crop=720:362:0:58,scale=720:352</screen>
|
|
|
|
Takovéto zmenšení videa bude znamenat ztrátu malého množství detailů, což bude
|
|
pravděpodobně stěží postřehnutelné. Zvětšování by naopak vedlo ke snížení
|
|
kvality (pokud byste nezvýšili datový tok). Ořez odstraní tyto pixely úplně.
|
|
To je jedna z věcí, kterou byste si měli uvážit pro každý případ zvlášť.
|
|
Například pokud bylo DVD video vyrobeno pro televizi, měli byste se vyvarovat
|
|
vertikálnímu škálování, jelikož počet řádků odpovídá originální nahrávce.
|
|
</para>
|
|
|
|
<para>
|
|
Při prohlídce jsme zjistili, že video je poměrně akční, s vysokým počtem
|
|
detailů, takže jsme zvolili datový tok 2400 Kbitů.
|
|
</para>
|
|
|
|
<para>
|
|
Nyní jsme připraveni provést dvouprůchodové enkódování. Průchod jedna:
|
|
|
|
<screen>mencoder dvd://1 -ofps 24000/1001 -oac copy -vf crop=720:352:0:62,hqdn3d=2:1:2 -ovc lavc \
|
|
-lavcopts vcodec=mpeg4:vbitrate=2400:v4mv:mbd=2:trell:cmp=3:subcmp=3:mbcmp=3:autoaspect:vpass=1 \
|
|
-o Harry_Potter_2.avi</screen>
|
|
|
|
A průchod dva je stejný, jen nastavíme <option>vpass=2</option>:
|
|
|
|
<screen>mencoder dvd://1 -ofps 24000/1001 -oac copy -vf crop=720:352:0:62,hqdn3d=2:1:2 -ovc lavc \
|
|
-lavcopts vcodec=mpeg4:vbitrate=2400:v4mv:mbd=2:trell:cmp=3:subcmp=3:mbcmp=3:autoaspect:vpass=2 \
|
|
-o Harry_Potter_2.avi</screen>
|
|
</para>
|
|
|
|
<para>
|
|
Volby <option>v4mv:mbd=2:trell</option> velmi zvýší kvalitu za cenu časové
|
|
náročnosti enkódování. Vcelku není důvod tuto volbu vypustit, pokud je
|
|
primárním cílem kvalita. Volby <option>cmp=3:subcmp=3:mbcmp=3</option>
|
|
vyberou porovnávací funkci, která poskytuje lepší kvalitu, než výchozí.
|
|
S tímto parametrem můžete zkusit experimentovat (nahlédněte do man stránky pro
|
|
seznam možných hodnot), jelikož různé funkce mohou mít velký vliv na kvalitu
|
|
v závislosti na zdrojovém materiálu. Například pokud zjistíte, že
|
|
<systemitem class="library">libavcodec</systemitem> produkuje příliš mnoho
|
|
čtverečkových artefaktů, můžete zkusit zvolit experimentální NSSE jako
|
|
porovnávací funkci přes <option>*cmp=10</option>.
|
|
</para>
|
|
|
|
<para>
|
|
V případě tohoto filmu bude výsledné AVI dlouhé 138 minut a veliké kolem 3GB.
|
|
A protože jste řekli, že na velikosti nezáleží, je to přijatelná velikost.
|
|
Ale pokud byste jej chtěli menší, můžete zkusit nižší datový tok.
|
|
Efekt zvyšování datového toku se totiž neustále snižuje, takže zatímco je
|
|
zlepšení po zvýšení z 1800 Kbitů na 2000 Kbitů zjevné, nemusí být již tak
|
|
velké nad 2000 Kbitů. Beze všeho s tím experimentujte, dokud nebudete
|
|
spokojeni.
|
|
</para>
|
|
|
|
<para>
|
|
Jelikož jsme protáhli video odšumovacím filtrem, měli bychom jej trochu přidat
|
|
během přehrávání. To, spolu s <option>spp</option> post-procesním filtrem,
|
|
znatelně zvýší vnímanou kvalitu a pomůže odstranit čtverečkové artefakty ve
|
|
videu. S <application>MPlayer</application>ovou volbou <option>autoq</option>
|
|
může být množství postprocesingu prováděného filtrem spp přizpůsobováno
|
|
vytížení CPU. V tuto chvíli rovněž můžete provést korekci gama a/nebo barevnou
|
|
korekci k dosažení nejlepších výsledků. Například:
|
|
|
|
<screen>mplayer Harry_Potter_2.avi -vf spp,noise=9ah:5ah,eq2=1.2 -autoq 3</screen>
|
|
|
|
</para>
|
|
</sect2>
|
|
|
|
<sect2 id="menc-feat-dvd-mpeg4-muxing">
|
|
<title>Muxování (multiplexování)</title>
|
|
<para>
|
|
Nyní, když máte své video enkódované, budete jej nejspíš chtít muxovat
|
|
s jedním nebo více zvukovými stopami do nosného filmového formátu, jako je
|
|
AVI, MPEG, Matroska nebo NUT.
|
|
<application>MEncoder</application> je zatím schopen zvuk a video zapracovat
|
|
pouze do nosných formátů MPEG a AVI.
|
|
Například:
|
|
<screen>mencoder -oac copy -ovc copy -o <replaceable>výstupní_film.avi</replaceable> -audiofile <replaceable>vstupní_audio.mp2</replaceable> <replaceable>vstupní_video.avi</replaceable></screen>
|
|
To by mělo sloučit video soubor <replaceable>vstupní_video.avi</replaceable>
|
|
a zvukový soubor <replaceable>vstupní_audio.mp2</replaceable>
|
|
do AVI souboru <replaceable>výstupní_film.avi</replaceable>.
|
|
Tento příkaz pracuje s MPEG-1 layer I, II a III (známým jako MP3) zvukem,
|
|
WAV a také několika dalšími formáty zvuku.
|
|
</para>
|
|
|
|
<para>
|
|
<application>MEncoder</application> obsahuje experimentální podporu pro
|
|
<systemitem class="library">libavformat</systemitem>, což je knihovna
|
|
z projektu FFmpeg, která podporuje muxování a demuxování celé řady nosných
|
|
formátů.
|
|
Například:
|
|
<screen>mencoder -oac copy -ovc copy -o <replaceable>výstupní_film.asf</replaceable> -audiofile <replaceable>vstupní_audio.mp2</replaceable> <replaceable>vstupní_video.avi</replaceable> -of lavf -lavfopts format=asf</screen>
|
|
To provede stejnou činnost jako předchozí příklad, avšak výstupním formátem
|
|
bude ASF.
|
|
Prosím berte na vědomí, že tato podpora je velmi experimentální (ale de ode
|
|
dne lepší) a bude funkční pouze pokud jste zkompilovali
|
|
<application>MPlayer</application> s podporou pro
|
|
<systemitem class="library">libavformat</systemitem> (což znamená, že
|
|
předkompilovaná binární verze nebude většinou fungovat).
|
|
</para>
|
|
|
|
<sect3 id="menc-feat-dvd-mpeg4-muxing-avi-limitations">
|
|
<title>Limitace nosného formátu AVI</title>
|
|
<para>
|
|
Ačkoli je to po MPEG-1 nejpodporovanější nosný formát, má AVI i jisté
|
|
zásadní nedostatky. Snad nejviditelnější je režie.
|
|
Na každý chunk AVI souboru je 24 bajtů ztraceno na hlavičky a index.
|
|
To se projeví asi 5 MP na hodinu, neboli 1-2.5% prodloužení 700 MB filmu.
|
|
Nevypadá to jako mnoho, ale může to znamenat rozdíl mezi možností použít
|
|
video při 700 kbitech/s nebo 714 kbitech/s a tady se každý bit projeví na
|
|
kvalitě.
|
|
</para>
|
|
|
|
<para>
|
|
Navíc k této neefektivitě má AVI také následující hlavní omezení:
|
|
</para>
|
|
|
|
<orderedlist>
|
|
<listitem>
|
|
<para>
|
|
Může být uchováván pouze obsah s konstantní snímkovou rychlostí. To je
|
|
zvláště omezující, když má původní materiál, který chcete enkódovat, smíšený
|
|
obsah. Například směs NTSC videa a filmového materiálu.
|
|
Jistěže jsou zde cestičky, které umožní uložit obsah se smíšenou snímkovou
|
|
rychlostí v AVI, ale ty zvyšují (již tak velkou) režii pětinásobně nebo víc,
|
|
proto nejsou praktické.
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
Zvuk v AVI musí mít buď konstantní datový tok (CBR) nebo konstantní velikost
|
|
rámce (čili všechny rámce se dekódují na stejný počet vzorků).
|
|
Naneštěstí ten nejefektivnější kodek, Vorbis, nesplňuje ani jeden z těchto
|
|
požadavků.
|
|
Pokud tedy plánujete uložit svůj film do AVI, budete muset použít méně
|
|
efektivní kodek, jako MP3 nebo AC3.
|
|
</para>
|
|
</listitem>
|
|
</orderedlist>
|
|
|
|
<para>
|
|
Z výše uvedených důvodů <application>MEncoder</application> zatím
|
|
nepodporuje proměnnou snímkovou rychlost ani enkódování do Vorbisu.
|
|
Nemusíte to však považovat za omezení, jestliže je
|
|
<application>MEncoder</application> jediným nástrojem pro vaše
|
|
enkódování. Nakonec je možné použít <application>MEncoder</application> pouze
|
|
pro enkódování videa a pak použít externí nástroje pro enkódování zvuku a
|
|
namuxování do jiného nosného formátu.
|
|
</para>
|
|
</sect3>
|
|
|
|
<sect3 id="menc-feat-dvd-mpeg4-muxing-matroska">
|
|
<title>Muxování do nosného formátu Matroska</title>
|
|
<para>
|
|
Matroska je svobodný a otevřený standard nosného formátu, zaměřený na
|
|
nabídku mnoha pokročilých vlastností, které starší nosné formáty, jako AVI,
|
|
nemohou poskytnout.
|
|
Například Matroska podporuje zvuk s proměnným datovým tokem (VBR),
|
|
proměnné snímkové rychlosti (VFR), kapitoly, přílohy souborů, kód pro
|
|
detekci chyb (EDC) a moderní A/V kodeky jako "Advanced Audio
|
|
Coding" (AAC), "Vorbis" nebo "MPEG-4 AVC" (H.264), z nichž žádný nelze
|
|
použít v AVI.
|
|
</para>
|
|
|
|
<para>
|
|
Nástroje pro vytváření Matroska souborů jsou souhrnně nazvány
|
|
<application>mkvtoolnix</application> a jsou dostupné pro většinu Unixových
|
|
platforem a stejně tak <application>Windows</application>.
|
|
Protože je Matroska otevřený standard, můžete najít jiné nástroje, které vám
|
|
lépe padnou, ale protože mkvtoolnix je nejrozšířenější a je podporován
|
|
přímo Matroska týmem, pokryjeme jen jejich použití.
|
|
</para>
|
|
|
|
<para>
|
|
Asi nejsnazší způsob, jak začít s Matroskou je použít
|
|
<application>MMG</application>, grafickou nadstavbu dodávanou s
|
|
<application>mkvtoolnix</application> a řídit se
|
|
<ulink url="http://www.bunkus.org/videotools/mkvtoolnix/doc/mkvmerge-gui.html">návodem k mkvmerge GUI (mmg)</ulink>
|
|
</para>
|
|
|
|
<para>
|
|
Můžete rovněž muxovat zvukové a video soubory z příkazového řádku:
|
|
<screen>mkvmerge -o <replaceable>výstup.mkv</replaceable> <replaceable>vstupní_video.avi</replaceable> <replaceable>vstupní_audio1.mp3</replaceable> <replaceable>vstupní_audio2.ac3</replaceable></screen>
|
|
To spojí video soubor <replaceable>vstupní_video.avi</replaceable>
|
|
a dva zvukové soubory <replaceable>vstupní_audio1.mp3</replaceable>
|
|
a <replaceable>vstupní_audio2.ac3</replaceable> do Matroska souboru
|
|
<replaceable>výstup.mkv</replaceable>.
|
|
Matroska, jak jsme již řekli, umí mnohem víc než to, jako více zvukových stop
|
|
(včetně doladění audio/video synchronizace), kapitoly, titulky, stříhání,
|
|
atd...
|
|
Detaily naleznete v dokumentaci k těmto aplikacím.
|
|
</para>
|
|
|
|
</sect3>
|
|
|
|
</sect2>
|
|
|
|
</sect1>
|
|
|
|
<sect1 id="menc-feat-x264">
|
|
<title>Enkódování s <systemitem class="library">x264</systemitem> kodekem</title>
|
|
<para>
|
|
<systemitem class="library">x264</systemitem> je svobodná knihovna pro
|
|
enkódování H264/AVC video proudů.
|
|
Pře zahájením enkódování budete muset <link linkend="codec-x264-encode">
|
|
nastavit její podporu v<application>MEncoder</application>u</link>.
|
|
</para>
|
|
|
|
<sect2 id="menc-feat-x264-intro">
|
|
<title>Jaké volby bychom měli nastavit pro nejlepší výsledky?</title>
|
|
|
|
<para>
|
|
Začněte prosím prostudováním části
|
|
<systemitem class="library">x264</systemitem> v man stránce
|
|
<application>MPlayer</application>u.
|
|
Tato sekce je zamýšlena jako doplněk man stránky.
|
|
</para>
|
|
|
|
<orderedlist>
|
|
<title>Obecně jsou zde tři typy uvažování při volbě vhodných voleb enkodéru:
|
|
</title>
|
|
<listitem><para>Časová náročnost enkódování vs. kvalita</para></listitem>
|
|
<listitem><para>Volby rozhodující o typu snímků</para></listitem>
|
|
<listitem><para>Volby ovlivňující kontrolu datového toku a kvantizaci</para></listitem>
|
|
</orderedlist>
|
|
|
|
<para>
|
|
Tento návod se většinou zaměřuje na první skupinu voleb.
|
|
Další dvě skupiny často záleží na osobních preferencích a individuálních
|
|
požadavcích.
|
|
</para>
|
|
|
|
<para>
|
|
Než budeme pokračovat, poznamenejme, že tento návod používá jediné měřítko
|
|
kvality: celkový PSNR.
|
|
Stručné vysvětlení co je to PSNR, naleznete
|
|
<ulink url="http://en.wikipedia.org/wiki/PSNR">ve Wikipedii pod heslem PSNR</ulink>.
|
|
Celkové PSNR je poslední hlášené PSNR číslo při zařazení volby
|
|
<option>psnr</option> v <option>x264encopts</option>.
|
|
Kdykoli budete číst prohlášení o PSNR, jeden z předpokladů tohoto sdělení
|
|
je, že jsou použity shodné datové toky.
|
|
</para>
|
|
|
|
<para>
|
|
Téměř všechny komentáře v tomto návodu předpokládají, že enkódujete
|
|
dvouprůchodově.
|
|
Při porovnávání voleb jsou zde dva hlavní důvody pro použití dvouprůchodového
|
|
enkódování.
|
|
Zaprvé, dvouprůchodové enkódování vám získá zhruba 1dB PSNR, což je
|
|
velký rozdíl.
|
|
Zadruhé, testování voleb pomocí přímého porovnání kvality v jednoprůchodových
|
|
výsledcích je pochybné, jelikož se datový tok značně liší s každým
|
|
enkódováním.
|
|
Není vždy snadné určit, zda se změnila kvalita díky změně voleb, nebo
|
|
z větší části odpovídají změnám datového toku.
|
|
</para>
|
|
|
|
<para>
|
|
Z voleb, které umožňují vyměnit čas za kvalitu, jsou obvykle nejdůležitější
|
|
<option>subq</option> a <option>frameref</option>.
|
|
Máte-li zájem ovlivnit jak rychlost, tak kvalitu, jsou to první volby,
|
|
které byste měli zvážit.
|
|
</para>
|
|
|
|
<para>
|
|
Ve smyslu rychlosti se spolu volby <option>frameref</option> a
|
|
<option>subq</option> velmi silně ovlivňují.
|
|
Zkušenosti ukazují, že při jednom referenčním snímku si
|
|
<option>subq=5</option> vezme asi o 35% více času než
|
|
<option>subq=1</option>.
|
|
Při 6 referenčních snímcích naroste spomalení nad 60%.
|
|
Vliv <option>subq</option> na PSNR se zdá být poměrně stálý,
|
|
bez ohledu na počet referenčních snímků.
|
|
Typicky <option>subq=5</option> získá 0.2-0.5 dB
|
|
celkového PSNR přes <option>subq=1</option>.
|
|
To je obvykle již viditelné.
|
|
</para>
|
|
|
|
</sect2>
|
|
|
|
<sect2 id="menc-feat-x264-encoding-options">
|
|
<title>Enkódovací volby x264</title>
|
|
|
|
<itemizedlist>
|
|
<listitem><para>
|
|
<emphasis role="bold">frameref</emphasis>:
|
|
Výchozí nastavení <option>frameref</option> je 1, ale nemělo by to být bráno
|
|
tak, že je rozumné nastavovat jej na 1.
|
|
Pouhé zvýšení <option>frameref</option> na 2 získá okolo
|
|
0.15dB PSNR s 5-10% spomalením, což je zřejmě dobrý obchod.
|
|
<option>frameref=3</option> získá kolem 0.25dB PSNR navíc k
|
|
<option>frameref=1</option>, což již může být viditelný
|
|
rozdíl.
|
|
<option>frameref=3</option> je asi o 15% pomalejší než
|
|
<option>frameref=1</option>.
|
|
Naneštěstí se zisk rychle vytrácí.
|
|
Prř <option>frameref=6</option> můžete očekávat zisk pouze
|
|
0.05-0.1 dB nad <option>frameref=3</option> při dodatečném
|
|
15% zpomalení.
|
|
Nad <option>frameref=6</option> je zisk kvality obvykle velmi malý
|
|
(ačkoli byste měli mít na paměti, že se to může výrazně lišit v závislosti
|
|
na zdrojovém materiálu).
|
|
V poměrně typickém případě zlepší <option>frameref=12</option>
|
|
celkový PSNR o pouhé 0.02dB nad <option>frameref=6</option>,
|
|
při spomalení o 15%-20%.
|
|
Při tak vysokých hodnotách <option>frameref</option> lze říct pouze
|
|
jedinou dobrou věc, a to že jejich další zvyšování téměř nikdy
|
|
<emphasis role="bold">nesníží</emphasis> PSNR, ale další zisk kvality
|
|
je stěží měřitelný, natož viditelný.
|
|
</para>
|
|
<note><title>Poznámka:</title>
|
|
<para>
|
|
Zvýšení <option>frameref</option> na nemístně vysokou hodnotu
|
|
<emphasis role="bold">může</emphasis> a
|
|
<emphasis role="bold">obvykle taky sníží</emphasis>
|
|
efektivitu kódování, pokud vypnete CABAC.
|
|
Se zapnutým CABAC (výchozí chování) se zdá být možnost nastavit
|
|
<option>frameref</option> "příliš vysoko" příliš vzdálená na to,
|
|
abyste se tím museli trápit a v budoucnu mohou optimalizace
|
|
tuto možnost zcela vyloučit.
|
|
</para>
|
|
</note>
|
|
<para>
|
|
Pokud vám záleží na rychlosti, bývá vhodným kompromisem použít
|
|
nízké hodnoty <option>subq</option> a <option>frameref</option>
|
|
v prvním průchodu a zvýšit je ve druhém.
|
|
Typicky to má zanedbatelný záporný vliv na konečnou kvalitu:
|
|
pravděpodobně stratíte méně než 0.1dB PSNR, což by měl být až příliš
|
|
malý rozdíl, než aby byl vidět.
|
|
Odlišné hodnoty <option>frameref</option> však mohou místy ovlivnit
|
|
volbu typu snímku.
|
|
Nejspíš to budou ojedinělé případy, ale chcete-li si být zcela jisti,
|
|
zjistěte, jestli vaše video obsahuje buď blýskavé vzory přes celou obrazovku,
|
|
nebo rozsáhlé krátkodobé změny, které by mohly vynutit I-snímek.
|
|
Nastavte <option>frameref</option> pro první průchod tak, aby byl
|
|
dostatečně velký pro pokrytí doby bliknutí (nebo změny).
|
|
Například, pokud scéna přepíná tam a zpět mezi dvěma obrázky přes tři snímky,
|
|
nastavte <option>frameref</option> pro první průchod na 3 a více.
|
|
Tento případ je nejspíš zcela ojedinělý v hraných filmech, ale občas se
|
|
vyskytuje v záznamech z videoher.
|
|
</para></listitem>
|
|
|
|
<listitem><para>
|
|
<emphasis role="bold">bframes</emphasis>:
|
|
Použitelnost B-snímků je ve většině ostatních kodeků diskutabilní.
|
|
V H.264 se to změnilo: jsou zde nové techniky a typy bloků pro použití
|
|
v B-snímcích.
|
|
Obvykle i naivní algoritmus pro výběr B-snímku může zajistit znatelný
|
|
zisk PSNR.
|
|
Také je zajímavé, že pokud vypnete adaptivní rozhodování o B-snímku
|
|
(<option>nob_adapt</option>), zvýší obvykle enkódování s
|
|
<option>bframes</option> o trochu rychlost enkódování.
|
|
</para>
|
|
<para>
|
|
S vypnutým adaptivním rozhodováním o B-snímku
|
|
(<option>x264encopts</option>'s <option>nob_adapt</option>),
|
|
se optimální hodnota této volby obvykle pohybuje od
|
|
<option>bframes=1</option> do <option>bframes=3</option>.
|
|
Se zapnutým adaptivním rozhodováním o B-snímku (výchozí chování),
|
|
je obvykle bezpečné použít vyšší hodnoty; enkodér se pokusí snížit
|
|
použití B-snímků ve scénách, kde by snížily kompresi.
|
|
</para>
|
|
<para>
|
|
Pokud vůbec použijete <option>bframes</option>, zvažte
|
|
nastavení maximálního počtu B-snímků na 2 nebo více, pokud chcete
|
|
těžit z vážené predikce.
|
|
</para></listitem>
|
|
|
|
<listitem><para>
|
|
<emphasis role="bold">b_adapt</emphasis>:
|
|
Poznámka: ve výchozím stavu zapnuto.
|
|
</para>
|
|
<para>
|
|
Je-li tato volba zapnuta, bude enkodér používat jendoduchou
|
|
heuristiku pro snížení počtu B-snímků ve scénách, kde by jejich
|
|
použitím příliš nezískaly.
|
|
Můžete použít <option>b_bias</option> pro nastavení jak přátelský
|
|
bude enkodér k B-snímkům.
|
|
Spomalení působené adaptivními B-snímky je nyní spíše malé, ale
|
|
stejně tak potenciální zisk kvality.
|
|
Obvykle však nijak neškodí.
|
|
Poznamenejme, že ovlivňuje rychlost a rozhodování o typu snímku pouze
|
|
v prvním průchodu.
|
|
<option>b_adapt</option> a <option>b_bias</option> nemají žádný vliv
|
|
v náslydných průchodech.
|
|
</para></listitem>
|
|
|
|
<listitem><para>
|
|
<emphasis role="bold">b_pyramid</emphasis>:
|
|
Pokud používáte >2 B-snímky, můžete také zapnout tuto volbu; jak
|
|
říká man stránka, dostanete malé zvýšení kvality bez ztráty rychlosti.
|
|
Poznamenejme, že tato videa nelze číst dekodéry založenými na libavcodec
|
|
staršími než 5. března 2005.
|
|
</para></listitem>
|
|
|
|
<listitem><para>
|
|
<emphasis role="bold">weight_b</emphasis>:
|
|
V typických případech tato volba nepřináší velký zisk.
|
|
V prolínacích nebo stmívacích scénách však vážená predikce
|
|
umožňuje poměrně velkou úsporu datového toku.
|
|
V MPEG-4 ASP bývá stmívání obvykle nejlépe kódováno jako série
|
|
velkých I-snímků; použití vážené predikce v B-snímcích umožňuje
|
|
změnit alespoň některé z nich na rozumně menší B-snímky.
|
|
Spomalení enkódování se zdá být minimální, pokud nějaké je.
|
|
Rovněž, v rozporu s tím, co si někteří lidé mohou myslet,
|
|
požadavky dekodéru na CPU nejsou váženou predikcí ovlivněny,
|
|
ostatní možnosti jsou stejně náročné.
|
|
</para>
|
|
<para>
|
|
Naneštěstí má aktuálně algoritmus adaptivního rozhodování o B-snímcích
|
|
výraznou tendenci vyvarovat se B-snímků při stmívání.
|
|
Dokud se to nezmění, bude dobré přidat
|
|
<option>nob_adapt</option> do x264encopts, pokud očekáváte, že stmívání
|
|
bude mít znatelný vliv ve vašem konkrétním klipu.
|
|
</para></listitem>
|
|
|
|
<listitem><para>
|
|
<emphasis role="bold">deblockalpha, deblockbeta</emphasis>:
|
|
Toto bude poněkud kontroverzní.
|
|
</para>
|
|
<para>
|
|
H.264 definuje jednoduchou deblokující proceduru na I-blocích, která
|
|
používá přednastavené síly a prahy na QP daného bloku.
|
|
Ve výchozím stavu jsou bloky s nízkým QP silně filtrovány a bloky s
|
|
nízkým QP nejsou deblokovány vůbec.
|
|
Přednastavené síly definované standardem jsou dobře voleny a
|
|
odchylky jsou velmi dobré, takže jsou PSNR optimální pro jakékoli
|
|
video, které zkoušíte enkódovat.
|
|
Volby <option>deblockalpha</option> a <option>deblockbeta</option>
|
|
vám umožní nastavit odchylky přednastavených deblokovacích prahů.
|
|
</para>
|
|
<para>
|
|
Zdá se, že si mnoho lidí myslí, že je vhodné výrazně snížit sílu (řekněme, -3)
|
|
deblokovacího filtru.
|
|
To však není téměř nikdy dobrý nápad a v mnoha případech lidé, kteří
|
|
tak činí, dobře nerozumí jak výchozí deblokování pracuje.
|
|
</para>
|
|
<para>
|
|
První a nejdůležitější věc, kterou byste měli o in-loop deblokovacím
|
|
filtru vědět je, že výchozí nastavení prahů je téměř vždy optimální
|
|
vzhledem k PSNR.
|
|
V řídkých případech kdy není, je ideální odchylka plus mínus 1.
|
|
Změna deblokujících parametrů o větší hodnotu vede téměř s jistotou
|
|
ke zhoršení PSNR.
|
|
Zesílení filtru setře více detailů; zeslabení zvýší viditelnost čtverečkování.
|
|
</para>
|
|
<para>
|
|
Rozhodně je nevhodné snižovat deblokovací prahy, pokud má vaše video
|
|
nízkou prostorovou komplexnost (čili nemnoho detailů nebo šumu).
|
|
In-loop filtr téměř perfektně kryje artefakty, které se vyskytnou.
|
|
Pokud má však zdroj vysokou prostorovou komplexnost, jsou artefakty
|
|
hůře rozeznatelné.
|
|
To proto, že kroužkování má tendenci vypadat jako detail nebo šum.
|
|
Lidská vizuální vnímavost si snadno povšimne, když je odstraněn detail,
|
|
ale obtížněji si všimne, když je špatně reprezentován šum.
|
|
Když příjde na subjektivní kvalitu, je šum částečně zaměnitelný s detaily.
|
|
Snížením síly deblokovacího filtru nejspíše zvýšíte chybu přidáním
|
|
kroužkových artefaktů, ale oko si toho nevšimne, protože si splete
|
|
artefakty s detaily.
|
|
</para>
|
|
|
|
<para>
|
|
To však <emphasis role="bold">stále</emphasis> neospravedlňuje
|
|
snížení síly deblokovacího filtru.
|
|
Obecně dostanete kvalitnější šum z postprocesingu.
|
|
Pokud vaše H.264 videa vypadají příliš rozmazané nebo flekaté, zkuste si
|
|
pohrát s
|
|
<option>-vf noise</option> při přehrávání.
|
|
<option>-vf noise=8a:4a</option> by mělo zamaskovat většinu smazaných
|
|
artefaků.
|
|
Téměř jistě to bude vypadat lépe než to, co dostanete pomocí
|
|
podvádění deblokovacího filtru.
|
|
</para></listitem>
|
|
</itemizedlist>
|
|
</sect2>
|
|
</sect1>
|
|
|
|
<sect1 id="menc-feat-telecine">
|
|
<title>Jak naložit s telecine a prokladem v NTSC DVD</title>
|
|
|
|
<sect2 id="menc-feat-telecine-intro">
|
|
<title>Představení</title>
|
|
<formalpara>
|
|
<title>Co je to telecine?</title>
|
|
<para>
|
|
Pokud moc nerozumíte tomu, co je napsáno v tomto dokumentu, doporučujeme
|
|
navštívit tuto stránku:
|
|
<ulink url="http://www.divx.com/support/guides/guide.php?gid=10">http://www.divx.com/support/guides/guide.php?gid=10</ulink>
|
|
Na této adrese je srozumitelný a rozumně vyčerpávající popis co je to
|
|
telecine.
|
|
</para></formalpara>
|
|
|
|
<formalpara>
|
|
<title>Poznámka k číslům.</title>
|
|
<para>
|
|
Mnoho dokumentů, včetně výše odkazované příručky, udává hodnotu půlsnímků za
|
|
sekundu NTSC videa jako 59.94 a odpovídající snímky za sekundu jako 29.97
|
|
(pro telecinované a prokládané video) a 23.976 (pro neprokládané).
|
|
Pro jednoduchost některé dokumenty zaokrouhlují tyto hodnoty na 60, 30 a 24.
|
|
</para></formalpara>
|
|
|
|
<para>
|
|
Přesně řečeno jsou všechny tyto čísla přibližná. Černobílé NTSC video mělo
|
|
přesně 60 půlsnímků za sekundu, ale později byla zvolena hodnota 60000/1001,
|
|
aby bylo možné přidat barevná data a zůstat kompatibilní se starými
|
|
černobílými televizemi. Digitální NTSC (jak je na DVD) má rovněž rychlost
|
|
60000/1001 půlsnímků za sekundu. Z toho vyplývá, že prokládané a telecinované
|
|
video má 30000/1001 snímků za sekundu; neprokládané video má 24000/1001 snímků
|
|
za sekundu.
|
|
</para>
|
|
|
|
<para>
|
|
Starší verze dokumentace <application>MEncoder</application>u a mnoho zpráv
|
|
v archivu konference hovoří o 59.94, 29.97 a 23.976.
|
|
Všechna dokumentace <application>MEncoder</application>u byla aktualizována
|
|
a používá zlomkových hodnot. Vy byste je měli používat také.
|
|
</para>
|
|
|
|
<para>
|
|
<option>-ofps 23.976</option> je nesprávně.
|
|
Místo toho byste měli použít <option>-ofps 24000/1001</option>.
|
|
</para>
|
|
|
|
<formalpara>
|
|
<title>Jak je používáno telecine.</title>
|
|
<para>
|
|
Veškeré video určené k zobrazení na NTSC televizi musí mít 60000/1001
|
|
půlsnímků za sekundu. Filmy vyráběné pro televizi jsou často natáčeny přímo
|
|
ve 60000/1001 půlsnímcích za sekundu, ale většina filmů do kin je natáčena při
|
|
24 nebo 24000/1001 snímcích za sekundu. Když je film přepisován na DVD, je
|
|
video upraveno pro televizi v procesu zvaném telecine.
|
|
</para></formalpara>
|
|
|
|
<para>
|
|
Na DVD není video ve skutečnosti nikdy uloženo v 60000/1001 půlsnímcích za
|
|
sekundu. Video jež bylo původně 60000/1001, bude mít každý pár půlsnímků
|
|
zkombinován do podoby snímku s rychlostí 30000/1001 snímků za sekundu.
|
|
Hardwarové DVD přehrávače pak čtou příznak, zabudovaný ve video proudu, který
|
|
udává jestli první půlsnímek tvoří liché nebo sudé řádky.
|
|
</para>
|
|
|
|
<para>
|
|
Obsah ve 24000/1001 snímcích za sekundu obvykle zůstává tak jak byl v době
|
|
přepisu na DVD a DVD přehrávač musí provést telecine za letu. Někdy je však
|
|
video telecinováno <emphasis>před</emphasis> uložením na DVD; dokonce i když
|
|
mělo původně 24000/1001 snímků za sekundu, bude mít 60000/1001 půlsnímků za
|
|
sekundu. Pokud je uložen na DVD, páry půlsnímků jsou zkombinovány do formy
|
|
30000/1001 snímků za sekundu.
|
|
</para>
|
|
|
|
<para>
|
|
Když se podíváme na jednotlivé snímky vzniklé z videa o 60000/10001 půlsnímcích
|
|
za sekundu, telecinovaného nebo ne, je zřetelně vidět toto prokládání jakmile
|
|
je zde nějaký pohyb, jelikož jeden půlsnímek (řekněme liché řádky)
|
|
reprezentuje časový okamžik o 1/(60000/1001) sekundy pozdější než ten druhý.
|
|
Přehrávání prokládaného videa na počítači vypadá škaredě jak proto, že monitor
|
|
má vyšší rozlišení, ale i protože video je zobrazováno snímek po snímku místo
|
|
půlsnímek po půlsnímku.
|
|
</para>
|
|
|
|
<itemizedlist>
|
|
<title>Poznámky:</title>
|
|
<listitem><para>
|
|
Tento odstavec platí pouze pro NTSC DVD, nikoli PAL.
|
|
</para></listitem>
|
|
<listitem><para>
|
|
Řádky s příklady spuštění <application>MEncoder</application>u v dokumentu
|
|
<emphasis role="bold">nejsou</emphasis> určeny pro opravdové použití.
|
|
Obsahují pouze nutné minimum vyžadované pro enkódování příslušné ke kategorii
|
|
videa. Jak dělat dobré DVD ripy nebo doladit
|
|
<systemitem class="library">libavcodec</systemitem> pro maximální kvalitu
|
|
není v záběru tohoto dokumentu.
|
|
</para></listitem>
|
|
<listitem><para>
|
|
Poznámky pod čarou příslušné pro tuto příručku jsou linkovány takto:
|
|
<link linkend="menc-feat-telecine-footnotes">[1]</link>
|
|
</para></listitem>
|
|
</itemizedlist>
|
|
</sect2>
|
|
|
|
<sect2 id="menc-feat-telecine-ident">
|
|
<title>Jak zjistit o jaký typ videa se jedná</title>
|
|
|
|
<sect3 id="menc-feat-telecine-ident-progressive">
|
|
<title>Progresivní (neprokládané)</title>
|
|
<para>
|
|
Progresivní video je původně natočeno při 24000/1001 snímcích za sekundu a
|
|
uloženo na DVD beze změn.
|
|
</para>
|
|
|
|
<para>
|
|
Když přehrajete progresivní DVD v <application>MPlayer</application>u,
|
|
<application>MPlayer</application> vypíše následující řádek jakmile začne
|
|
přehrávat:
|
|
|
|
<screen> demux_mpg: 24000/1001 fps progressive NTSC content detected, switching framerate.</screen>
|
|
|
|
Od tohoto okamžiku by demux_mpg neměl nikdy říct že našel
|
|
"30000/1001 fps NTSC obsah."
|
|
</para>
|
|
|
|
<para>
|
|
Když sledujete progresivní video, neměli byste nikdy vidět žádný proklad.
|
|
Dejte si ale pozor, jelikož je občas trošku telecine namixováno tam, kde byste
|
|
to vůbec nečekali. Setkal jsem se s TV show na DVD, které měly sekundu
|
|
telecine při každé změně scény nebo na zcela náhodných místech. Jednou jsem se
|
|
díval na DVD, které bylo do půlky progresivní a od půlky telecinováno. Pokud
|
|
chcete být <emphasis>opravdu</emphasis> důkladní, můžete oskenovat celý film:
|
|
|
|
<screen>mplayer dvd://1 -nosound -vo null -benchmark</screen>
|
|
|
|
Použití volby <option>-benchmark</option> nechá
|
|
<application>MPlayer</application> přehrát film tak rychle, jak je to jen
|
|
možné; stejně to ale, v závislosti na vašem stroji, chvíli potrvá.
|
|
Vždy, když demux_mpg ohlásí změnu snímkové rychlosti, řádek těsně nad hlášením
|
|
ukáže čas ve kterém ke změně došlo.
|
|
</para>
|
|
|
|
<para>
|
|
Občas je progresivní video na DVD označeno jako
|
|
"soft-telecine" protože je zamýšleno, aby telecine provedl DVD
|
|
přehrávač.
|
|
</para>
|
|
</sect3>
|
|
|
|
<sect3 id="menc-feat-telecine-ident-telecined">
|
|
<title>Telecinováno (přepsáno pro NTSC televizi)</title>
|
|
<para>
|
|
Telecinované video bylo původně natočeno při 24000/1001, ale bylo telecinováno
|
|
<emphasis>před</emphasis> zápisem na DVD.
|
|
</para>
|
|
|
|
<para>
|
|
<application>MPlayer</application> (nikdy) nehlásí žádnou změnu snímkové
|
|
rychlosti, když přehrává telecinované video.
|
|
</para>
|
|
|
|
<para>
|
|
Při sledování telecinovaného videa uvidíte prokladové artefakty, které jako by
|
|
"blikaly": opakovaně mizí a objevují se.
|
|
Blíže se na to můžete podívat:
|
|
<orderedlist>
|
|
<listitem>
|
|
<screen>mplayer dvd://1</screen>
|
|
</listitem>
|
|
<listitem><para>
|
|
Převiňte na část s pohybem.
|
|
</para></listitem>
|
|
<listitem><para>
|
|
Použijte klávesu <keycap>.</keycap> pro krokování po jednom snímku.
|
|
</para></listitem>
|
|
<listitem><para>
|
|
Sledujte vzor prokládaně vypadajících a progresivně vypadajících snímků.
|
|
Pokud je vzor, který sledujete PPPII,PPPII,PPPII,..., pak je video
|
|
telecinováno. Pokud vidíte jiný vzor, pak mohlo být video telecinováno
|
|
použitím nějaké nestandardní metody; <application>MEncoder</application>
|
|
neumí bezztrátově převést nestandardní telecine do progresivního. Pokud
|
|
nevidíte žádný vzor, pak je video nejspíš prokládané.
|
|
</para></listitem>
|
|
</orderedlist>
|
|
</para>
|
|
|
|
<para>
|
|
Někdy je telecinované video na DVD označeno jako "hard-telecine".
|
|
Jelikož hard-telecine již je ve 60000/1001 půlsnímcích za sekundu, DVD
|
|
přehrávač přehraje video bez jakýchkoli manipulací.
|
|
</para>
|
|
</sect3>
|
|
|
|
<sect3 id="menc-feat-telecine-ident-interlaced">
|
|
<title>Prokládané</title>
|
|
<para>
|
|
Prokládané video bylo od samého začátku filmováno při 60000/1001 půlsnímcích
|
|
za sekundu a uloženo na DVD ve 30000/1001 snímcích za sekundu. Efekt
|
|
prokládání (často označovaný jako "roztřepení") je výsledkem
|
|
skládání půlsnímků do snímků. Vzdálenost mezi půlsnímky má být 1/(60000/1001)
|
|
sekundy a proto když jsou zobrazeny současně, je rozdíl jasně patrný.
|
|
</para>
|
|
|
|
<para>
|
|
Stejně jako u telecinovaného videa by <application>MPlayer</application> neměl
|
|
hlásit jakékoli změny snímkové rychlosti při přehrávání prokládaného obsahu.
|
|
</para>
|
|
|
|
<para>
|
|
Když si prohlédnete video blíže pomocí krokování snímků pomocí klávesy
|
|
<keycap>.</keycap>, uvidíte, že každý jednotlivý snímek je prokládaný.
|
|
</para>
|
|
</sect3>
|
|
|
|
<sect3 id="menc-feat-telecine-ident-mixedpt">
|
|
<title>Smíšené progresivní a telecinované</title>
|
|
<para>
|
|
Veškerý obsah "smíšeného progresivního a telecinovaného" videa měl
|
|
původně 24000/1001 snímků za sekundu, ale některé části prošly telecine.
|
|
</para>
|
|
|
|
<para>
|
|
Když <application>MPlayer</application> přehrává tuto kategorii, bude (často
|
|
i opakovaně) přepínat mezi "30000/1001 snímky/s NTSC"
|
|
a "24000/1001 snímky/s progresivním NTSC". Sledujte spodek
|
|
<application>MPlayer</application>ova výstupu, abyste zachytili tyto zprávy.
|
|
</para>
|
|
|
|
<para>
|
|
Měli byste prověřit části se "30000/1001 snímky/s NTSC", abyste měli
|
|
jistotu, že jsou skutečně telecinovány a ne jen prokládané.
|
|
</para>
|
|
</sect3>
|
|
|
|
<sect3 id="menc-feat-telecine-ident-mixedpi">
|
|
<title>Smíšené progresivní a prokládané</title>
|
|
<para>
|
|
Ve "smíšeném progresivním a prokládaném" obsahu bylo progresivní a
|
|
prokládané video splácáno dohromady.
|
|
</para>
|
|
|
|
<para>
|
|
Tato kategorie vypadá jako "smíšené progresivní a telecine",
|
|
dokud si neprohlédnete části se 30000/1001 snímky/s a neuvidíte, že nemají
|
|
telecine vzor.
|
|
</para>
|
|
</sect3>
|
|
|
|
</sect2>
|
|
|
|
<sect2 id="menc-feat-telecine-encode">
|
|
<title>Jak enkódovat jednotlivé kategorie</title>
|
|
<para>
|
|
Jak jsem se zmínil na začátku, příklady příkazových řádků
|
|
<application>MEncoder</application>u níže <emphasis role="bold">nejsou</emphasis>
|
|
určeny pro praktické použití; pouze demonstrují, minimum voleb nutných k tomu,
|
|
abyste správně enkódovali každou kategorii.
|
|
</para>
|
|
|
|
<sect3 id="menc-feat-telecine-encode-progressive">
|
|
<title>Progresivní</title>
|
|
<para>
|
|
Progresivní video nevyžaduje žádné speciální filtrování pro enkódování.
|
|
Jediná volba, která by určitě neměla chybět je
|
|
<option>-ofps 24000/1001</option>. Jinak se <application>MEncoder</application>
|
|
pokusí enkódovat při 30000/1001 snímcích/s a bude opakovat snímky.
|
|
</para>
|
|
|
|
<para>
|
|
<screen>mencoder dvd://1 -nosound -ovc lavc -ofps 24000/1001</screen>
|
|
</para>
|
|
|
|
<para>
|
|
Často se stává, že video, které vypadá progresivně, má v sobě zamíchány
|
|
kratičké telecinované části. Pokud si nejste jisti, je nejbezpečnější
|
|
považovat video za
|
|
<link linkend="menc-feat-telecine-encode-mixedpt">smíšené progresivní a
|
|
telecinované</link>. Ztráta výkonu je jen malá
|
|
<link linkend="menc-feat-telecine-footnotes">[3]</link>.
|
|
</para>
|
|
</sect3>
|
|
|
|
<sect3 id="menc-feat-telecine-encode-telecined">
|
|
<title>Telecinované</title>
|
|
<para>
|
|
Telecine lze obrátit a dostat tak původní 24000/1001 obsah, za použití metody
|
|
zvané inverzní telecine.
|
|
<application>MPlayer</application> má několik filtrů právě pro tuto činnost;
|
|
nejlepší z těchto filtrů, <option>pullup</option>, je popsán v části
|
|
<link linkend="menc-feat-telecine-encode-mixedpt">smíšené progresivní a
|
|
telecinované</link>.
|
|
</para>
|
|
</sect3>
|
|
|
|
<sect3 id="menc-feat-telecine-encode-interlaced">
|
|
<title>Prokládané</title>
|
|
<para>
|
|
V praxi není většinou možné dostat kompletní progresivní video z prokládaného
|
|
obsahu. Jediný způsob jak to udělat bez ztráty poloviny svislého rozlišení je
|
|
zdvojením snímkové rychlosti a zkusit "odhadnout" co mám provést
|
|
s odpovídajícími linkami každého z půlsnímků (má to ovšem i nevýhody –
|
|
viz metoda 3).
|
|
</para>
|
|
|
|
<orderedlist>
|
|
<listitem><para>
|
|
Enkódujte video v prokládané formě. Obvykle prokládání způsobí těžkou újmu
|
|
schopnosti enkodéru dobře komprimovat, ale
|
|
<systemitem class="library">libavcodec</systemitem> má dvě volby určené právě
|
|
pro lepší ukládání prokládaného videa: <option> ildct</option> a
|
|
<option>ilme</option>. Rovněž velmi doporučujeme použití volby
|
|
<option>mbd=2</option> <link linkend="menc-feat-telecine-footnotes">[2] </link>
|
|
protože bude enkódovat makrobloky jako neprokládané tam, kde není žádný pohyb.
|
|
Volba <option>-ofps</option> zde <emphasis role="bold">není</emphasis> nutná.
|
|
|
|
<screen>mencoder dvd://1 -nosound -ovc lavc -lavcopts ildct:ilme:mbd=2</screen>
|
|
</para></listitem>
|
|
<listitem><para>
|
|
Použijte filtr odstraňující proklad před enkódováním. Je jich zde několik,
|
|
můžete si vybrat. Každý z nich má svá pro i proti. Prohlédněte si výstup
|
|
<option>mplayer -pphelp</option> abyste zjistili, které jsou k dispozici
|
|
(grep pro "deint") a vyhledejte
|
|
<ulink url="http://www.mplayerhq.hu/homepage/design6/info.html#mailing_lists">
|
|
e-mailové konference MPlayeru</ulink>, kde naleznete mnoho diskusí o různých
|
|
filtrech. Snímková rychlost se ani zde nemění, takže žádné
|
|
<option>-ofps</option>. Odstranění proklady by rovněž mělo být provedeno po
|
|
ořezání <link linkend="menc-feat-telecine-footnotes">[1]</link>, ale před
|
|
škálováním.
|
|
|
|
<screen>mencoder dvd://1 -nosound -vf pp=lb -ovc lavc</screen>
|
|
</para></listitem>
|
|
<listitem><para>
|
|
Naneštěstí je tato volba vadná v <application>MEncoder</application>u;
|
|
měla by dobře pracovat v <application>MEncoder G2</application>, ale ten tu
|
|
zatím není. Stejně je určením <option> -vf tfields</option> vytvoření
|
|
kompletního snímku z každého půlsnímku, což zvýší snímkovou rychlost na
|
|
60000/1001. Výhoda tohoto přístupu je v tom, že nepřijdete o žádná data;
|
|
Protože však každý snímek pochází jen z jediného půlsnímku, musí být chybějící
|
|
linky nějak dopočítány. Neexistuje mnoho dobrých metod, generujících chybějící
|
|
data, takže výsledek bude trochu podobný tomu, když se použije některý filtr
|
|
odstraňující proklad.
|
|
Generováním chybějících linek vznikají další problémy tím, že se zdvojnásobí
|
|
množství dat. Takže jsou potřeba vyšší datové toky pro enkódování, aby byla
|
|
zachována kvalita a spotřebuje se více výkonu CPU jak pro enkódování, tak pro
|
|
dekódování. tfields má několik různých voleb pro volbu způsobu generování
|
|
chybějících linek. Pokud použijete tuto možnost, prostudujte si manuál a
|
|
zvolte si volbu, která s vaším materiálem vypadá nejlépe.
|
|
Poznamenejme, že při použití <option>tfields</option>
|
|
<emphasis role="bold">musíte</emphasis> nastavit <option>-fps</option> a
|
|
<option>-ofps</option> na dvojnásobek snímkové rychlosti originálu.
|
|
|
|
<screen>mencoder dvd://1 -nosound -vf tfields=2 -ovc lavc -fps 60000/1001 -ofps 60000/1001</screen>
|
|
</para></listitem>
|
|
<listitem><para>
|
|
Pokud plánujete výrazné zmenšování, můžete extrahovat a enkódovat jen jeden
|
|
z půlsnímků. Samozřejmě přijdete o polovinu svislého rozlišení, ale pokud
|
|
plánujete zmenšení ideálně na 1/2 originální velikosti, nebude na této ztrátě
|
|
vůbec záležet. Výsledek bude progresivní soubor s 30000/1001 snímky za sekundu.
|
|
Celý postup spočívá v použití <option>-vf field</option> a následném ořezu
|
|
<link linkend="menc-feat-telecine-footnotes">[1]</link> a příslušném
|
|
škálování. Pamatujte, že musíte nastavit scale tak, aby kompenzoval
|
|
zmenšení svislého rozměru na polovinu.
|
|
<screen>mencoder dvd://1 -nosound -vf field=0 -ovc lavc</screen>
|
|
</para></listitem>
|
|
</orderedlist>
|
|
</sect3>
|
|
|
|
<sect3 id="menc-feat-telecine-encode-mixedpt">
|
|
<title>Smíšené progresivní a telecinované</title>
|
|
<para>
|
|
Abychom převedli smíšené progresivní a telecinované video zcela na progresivní
|
|
video, musí být telecinované části inverzně telecinovány. K tomu lze dospět
|
|
třemi postupy popsanými níže.Poznamenejme, že byste měli
|
|
<emphasis role="bold">vždy</emphasis> provést inverzní telecine před
|
|
jakýmkoliv škálováním; a v případě, že přesně nevíte co děláte, také před
|
|
ořezáním <link linkend="menc-feat-telecine-footnotes">[1]</link>.
|
|
Volba <option>-ofps 24000/1001</option> je vyžadována, protože výstupní video
|
|
bude mít 24000/1001 snímků za sekundu.
|
|
</para>
|
|
|
|
<itemizedlist>
|
|
<listitem><para>
|
|
<option>-vf pullup</option> je navržen tak, aby inverzně telecinoval, ale
|
|
progresivní data nechával jak jsou. Pro správnou funkci
|
|
<emphasis role="bold">musí</emphasis> být <option>pullup</option> následován
|
|
filtrem <option>softskip</option>, jinak <application>MEncoder</application>
|
|
zhavaruje. <option>pullup</option> je však nejčistší a nejpřesnější dostupnou
|
|
metodou pro enkódování jak telecinovaného, tak "smíšeného progresivního a
|
|
telecinovaného".
|
|
|
|
<screen>mencoder dvd://1 -nosound -vf pullup,softskip -ovc lavc -ofps 24000/1001</screen>
|
|
</para>
|
|
|
|
|
|
</listitem>
|
|
<listitem><para>
|
|
Starší metodou je, spíše než inverzně telecinovat telecinované části,
|
|
telecinovat progresivní části a poté inverzně telecinovat celé video.
|
|
Zmatení? softpulldown je filtr, který projde celé video a převede celý soubor
|
|
na telecinovaný. Pokud budeme následovat softpulldown buď
|
|
<option>detc</option> nebo <option>ivtc</option>, bude konečný výsledek zcela
|
|
progresivní. Nutná je volba <option>-ofps 24000/1001</option>.
|
|
|
|
<screen>mencoder dvd://1 -nosound -vf softpulldown,ivtc=1 -ovc lavc -ofps 24000/1001</screen>
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem><para>
|
|
Osobně jsem nepoužil <option>-vf filmdint</option>, ale toto o něm (přibližně)
|
|
řekl D Richard Felker III:
|
|
|
|
<blockquote><para>Je to OK, ale IMO to zkouší až příliš často odstraňovat
|
|
proklad místo provádění inverzního telecine (stejně jako settop DVD
|
|
přehrávače & progresivní televize) což vede ke škaredému třepotání a
|
|
dalším artefaktům. Pokud jej chcete používat, měli byste předtím alespoň
|
|
trochu času věnovat ladění voleb a sledováním výstupu, abyste měli jistotu,
|
|
že vám to něco nekazí.</para></blockquote>
|
|
</para></listitem>
|
|
</itemizedlist>
|
|
</sect3>
|
|
|
|
<sect3 id="menc-feat-telecine-encode-mixedpi">
|
|
<title>Smíšené progresivní a prokládané</title>
|
|
<para>
|
|
Máme dvě volby pro práci s touto kategorií, obě jsou však kompromisem. Měli
|
|
byste se rozhodnout podle trvání/umístění každého typu.
|
|
</para>
|
|
|
|
<itemizedlist>
|
|
<listitem><para>
|
|
Považujte to za progresivní. Prokládané části budou vypadat prokládaně a
|
|
některé z prokládaných políčen bude muset být zahozeno, což povede
|
|
k nestejnoměrnému poskakování. Můžete proti tomu nasadit postprocesní filtr,
|
|
pokud chcete, ale tím mírně degradujete progresivní části.
|
|
</para>
|
|
|
|
<para>
|
|
Této volbě byste se měli rozhodně vyhnout, pokud chcete nakonec zobrazovat
|
|
video na zobrazovači s prokládaným obrazem (přes TV kartu například).
|
|
Pokud máte prokládané snímky ve videu s rychlostí 24000/1001 snímků za
|
|
sekundu, budou telecinovány spolu s progresivními snímky. Polovina
|
|
prokládaných "snímků" bude zobrazena po dobu trvání třech snímků
|
|
(3/(60000/1001) sekund), což povede k poskakování. Efekt
|
|
"cukání zpět" vypadá skutečně zle. Pokud se o to přece pokusíte,
|
|
<emphasis role="bold">musíte</emphasis> použít filtr odstraňující proklad,
|
|
jako je <option>lb</option> nebo <option>l5</option>.
|
|
</para>
|
|
|
|
<para>
|
|
Špatnou volbou je to i pro progresivní zobrazovač. Ten zahodí páry po sobě
|
|
jdoucích snímků, což povede k přerušování, které může být více viditelné, než
|
|
při druhé metodě, která zobrazuje některé progresivní snímky dvakrát.
|
|
Prokládané video se 30000/1001 snímky za sekundu je totiž poněkud trhané,
|
|
protože by ve skutečnosti mělo být promítáno při 60000/1001 půlsnímcích za
|
|
sekundu, takže zdvojení některých snímků není tak moc vidět.
|
|
</para>
|
|
|
|
<para>
|
|
V každém případě je nejlepší posoudit obsah a způsob, jakým bude zobrazován.
|
|
Pokud je vaše video z 90% progresivní a nikdy jej nebudete pouštět na
|
|
televizi, měli byste volit progresivní přístup.
|
|
Pokud je progresívní jen z poloviny, pravděpodobně jej bude lepší enkódovat
|
|
jako ba bylo celé prokládané.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem><para>
|
|
Pokládat jej za prokládané. Některé snímky v progresivních částech budou muset
|
|
být duplikovány, což povede k nepravidelnému poskakování. Opět platí, že
|
|
filtry pro odstranění prokladu mohou poněkud degradovat progresivní části.
|
|
</para></listitem>
|
|
|
|
</itemizedlist>
|
|
</sect3>
|
|
|
|
</sect2>
|
|
|
|
<sect2 id="menc-feat-telecine-footnotes">
|
|
<title>Poznámky pod čarou</title>
|
|
<orderedlist>
|
|
<listitem><formalpara>
|
|
<title>K ořezu:</title>
|
|
<para>
|
|
Video data na DVD jsou ukládána ve formátu zvaném YUV 4:2:0. V YUV videu jsou,
|
|
jasová ("černobílá"; angl. luma) a barvonosná (angl. chroma) složka
|
|
ukládány odděleně. Protože je lidské oko méně citlivé na změnu barvy, než na
|
|
jas, připadá v YUV 4:2:0 obrázku pouze jeden barvonosný pixel na každé čtyři
|
|
jasové pixely. V progresivním obrázku má každý čtverec 2x2 jasovými pixely
|
|
právě jeden barvonosný pixel. Proto musíte ořezávat progresivní YUV 4:2:0
|
|
na sudé rozměry a používat sudé odsazení (offsety). Například
|
|
<option>crop=716:380:2:26</option> je OK, ale
|
|
<option>crop=716:380:3:26 </option> není.
|
|
</para>
|
|
</formalpara>
|
|
|
|
<para>
|
|
Když máte co do činění s prokládaným YUV 4:2:0, je situace mnohem
|
|
komplikovanější. Místo každých čtyřech pixelů v <emphasis>rámu</emphasis>
|
|
sdílejících barvonosný pixel, každé čtyři jasové pixely v každém
|
|
<emphasis>půlsnímku</emphasis> sdílejí barvonosný pixel. Když jsou půlsnímky
|
|
proloženy do snímku, každá linka má výšku jeden pixel. A nyní místo aby dané
|
|
čtyři pixely tvořily čtverec, jsou první dva vedle sebe a druhé dva jsou vedle
|
|
sebe o dvě linky níž. Dva pixely těsně pod nimi patří do jiného půlsnímku a
|
|
proto sdílí jiný barvonosný pixel se dvěma jasovými pixely o dva řádky níž.
|
|
Všechno tohle nás nutí mít svislé rozměry ořezání a odsazení bezezbytku
|
|
dělitelné čtyřmi. Vodorovné stačí mohou zůstat jen sudé.
|
|
</para>
|
|
|
|
<para>
|
|
Pro telecinované video doporučuji, abyste ořezání prováděli až po inverzi
|
|
telecine. Jakmile je video progresivní, stačí řezat jen na sudé rozměry.
|
|
Pokud si však přece jen chcete dopřát mírné zrychlení, které může poskytnout
|
|
časný ořez, musíte svisle dodržet násobky čtyřech, jinak nebude mít filtr
|
|
pro inverzi telecine správná data.
|
|
</para>
|
|
|
|
<para>
|
|
Prokládané (nikoli telecinované) video musíte vždy ořezávat svisle násobky
|
|
čtyř, pokud před ořezáním nepoužijete <option>-vf field</option>.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem><formalpara>
|
|
<title>K volbám pro enkódování a kvalitě:</title>
|
|
<para>
|
|
Jen proto, že doporučuji <option>mbd=2</option> zde neznamená, že by tato
|
|
volba nemohla být použita jinde. V kombinaci s <option>trell</option>, je
|
|
<option>mbd=2</option> jednou ze dvou voleb
|
|
<systemitem class="library">libavcodec</systemitem>u, které nejvíce zvyšují
|
|
kvalitu a vy byste měli vždy použít alespoň tyto dvě, pokud není na škodu
|
|
zpomalení rychlosti enkódování (např. při enkódování v reálném čase).
|
|
Mnoho dalších voleb <systemitem class="library">libavcodec</systemitem>u
|
|
zvyšuje kvalitu enkódování (a snižuje jeho rychlost), ale to je mimo zaměření
|
|
tohoto textu.
|
|
</para>
|
|
</formalpara>
|
|
</listitem>
|
|
|
|
<listitem><formalpara>
|
|
<title>K výkonu filtru pullup:</title>
|
|
<para>
|
|
Použití <option>pullup</option> je bezpečné (spolu se <option>softskip
|
|
</option>) ne progresivní video a je to obvykle dobrá volba, pokud nebyl zdroj
|
|
prověřen, že je celý progresivní. Ve většině případů je ztráta výkonu malá.
|
|
V ojedinělých případech enkódování způsobí <option>pullup</option>, že je
|
|
<application>MEncoder</application> o 50% pomalejší. Přidání zpracování zvuku
|
|
a pokročilých <option>lavcopts</option> zastíní tento rozdíl tak, že rozdíl
|
|
v rychlosti působený použitím <option>pullup</option> se sníží na 2%.
|
|
</para>
|
|
</formalpara>
|
|
</listitem>
|
|
|
|
<!-- Some further explanation, because of homonym problem in interlace and
|
|
interleave translation. If anybody wants it in english, just ask. -->
|
|
|
|
<listitem><formalpara>
|
|
<title>K překladu:</title>
|
|
<para>
|
|
Překlad slov interlace a interleave je velmi obtížný, protože vede k jedinému
|
|
českému ekvivalentu – prokládání. V prvním případě (interlace) se jedná
|
|
o prokládání obrázku, kdy se z lichých a sudých řádků vytvoří dva půlsnímky,
|
|
což je běžné v TV.
|
|
Prokládání (interleave) je naproti tomu sloučení různého obsahu (zvuk, video)
|
|
do jediného souboru – kontejneru (např. AVI) tak, že se každá složka
|
|
rozdělí na malé části (tzv. chunky) a ty se pak jeden za druhým ukládají podle
|
|
určitého vzoru. O to se stará muxer (multiplexer). Abychom dostali zpět
|
|
jednotlivé složky, musíme poskládat proházené kousky zase zpět, o což se stará
|
|
demuxer (demultiplexor).
|
|
|
|
</para>
|
|
</formalpara>
|
|
</listitem>
|
|
|
|
</orderedlist>
|
|
|
|
</sect2>
|
|
|
|
</sect1>
|
|
|
|
</chapter>
|