14.8. Použití MEncoderu k vytváření VCD/SVCD/DVD-kompatibilních souborů.
Předcházející | Kapitola 14. Enkódování s MEncoderem | Další

## 14.8. Použití MEncoderu k vytváření VCD/SVCD/DVD-kompatibilních souborů.

### 14.8.1. Omezení Formátů

MEncoder je schopen vytvořit soubory ve formátu MPEG pro VCD, SCVD a DVD pomocí knihovny `libavcodec`. Tyto soubory pak mohou být použity ve spojení s programem vcdimager nebo dvdauthor pro vytváření disků přehratelných na stolním přehrávači.

Formáty DVD, SVCD a VCD mají silná omezení. K dispozici máte pouze malý výběr velikostí enkódovaného obrazu a poměrů stran. Pokud váš film nesplňuje tyto požadavky, budete jej muset škálovat, ořezat nebo přidat černé okraje, aby byl kompatibilní.

#### 14.8.1.1. Omezení Formátů

Formát | Rozlišení | V. kodec | V. dat. tok | Vzork. kmitočet | A. kodec | A. dat. tok | FPS | Poměr stran
--- | --- | --- | --- | --- | --- | --- | --- | ---
NTSC DVD | 720x480, 704x480, 352x480, 352x240 | MPEG-2 | 9800 kbps | 48000 Hz | AC3,PCM | 1536 kbps (max) | 30000/1001, 24000/1001 | 4:3, 16:9 (pouze pro 720x480)
NTSC DVD | 352x240[a] | MPEG-1 | 1856 kbps | 48000 Hz | AC3,PCM | 1536 kbps (max) | 30000/1001, 24000/1001 | 4:3, 16:9
NTSC SVCD | 480x480 | MPEG-2 | 2600 kbps | 44100 Hz | MP2 | 384 kbps (max) | 30000/1001 | 4:3
NTSC VCD | 352x240 | MPEG-1 | 1150 kbps | 44100 Hz | MP2 | 224 kbps | 24000/1001, 30000/1001 | 4:3
PAL DVD | 720x576, 704x576, 352x576, 352x288 | MPEG-2 | 9800 kbps | 48000 Hz | MP2,AC3,PCM | 1536 kbps (max) | 25 | 4:3, 16:9 (pouze pro 720x576)
PAL DVD | 352x288[a] | MPEG-1 | 1856 kbps | 48000 Hz | MP2,AC3,PCM | 1536 kbps (max) | 25 | 4:3, 16:9
PAL SVCD | 480x576 | MPEG-2 | 2600 kbps | 44100 Hz | MP2 | 384 kbps (max) | 25 | 4:3
PAL VCD | 352x288 | MPEG-1 | 1152 kbps | 44100 Hz | MP2 | 224 kbps | 25 | 4:3
[a] Tato rozlišení jsou zřídka použita pro DVD, protože mají docela nízkou kvalitu.

Pokud má vaše video poměr stran 2.35:1 (většina současných akčních filmů), budete muset přidat černé okraje, nebo ořezat video na 16:9, abyste mohli vytvořit DVD nebo VCD. Pokud přidáváte černé okraje, zkuste je napasovat do 16 pixelových okrajů, abyste minimalizovali vliv na výkon enkódování. Naštěstí má DVD dostatečně vysoký datový tok, takže se nemusíte příliš zabývat efektivitou enkódování, ale u SVCD a VCD je k dispozici jen malý datový tok, takže vyžaduje větší snahu pro dosažení přijatelné kvality.

#### 14.8.1.2. Omezení velikosti GOP

DVD, VCD a SVCD vás rovněž omezují na relativně nízké GOP (skupina obrázků) velikosti. Pro materiál 30 snímků za sekundu je největší povolená GOP velikost 18. Pro 25 nebo 24 snímků/s je maximum 15. Velikost GOP je nastavena pomocí volby `keyint`.

#### 14.8.1.3. Omezení datového toku

VCD video musí být CBR při 1152 kbps. Tento velmi omezující požadavek je zde spolu s velmi malou vbv vyrovnávací pamětí 327 kilobitů. SVCD umožňuje proměnné datové toky až do 2500 kbps a poněkud méně omezující velikost vbv bufferu 917 kilobitů. Datové toky pro DVD mohou být libovolné až do 9800 kbps (ačkoli typické datové toky jsou asi poloviční) a velikost vbv buferu je 1835 kilobitů.

### 14.8.2. Výstupní volby

MEncoder má volby pro ovládání výstupního formátu. Pomocí těchto voleb jej můžete instruovat, aby použil správný typ souboru.

Volby pro VCD a SVCD se nazývají xvcd a xsvcd, protože to jsou rozšířené formáty. Nejsou přesně kompatibilní hlavně proto, že výstup neobsahuje skenovací offsety. Pokud potřebujete generovat SVCD obraz, měli byste protáhnout výstupní soubor programem vcdimager.

VCD:

    -of mpeg -mpegopts format=xvcd

SVCD:

    -of mpeg -mpegopts format=xsvcd

DVD (s časovými značkami v každém snímku, je-li to možné):

    -of mpeg -mpegopts format=dvd:tsaf

DVD s NTSC Pullup:

    -of mpeg -mpegopts format=dvd:tsaf:telecine -ofps 24000/1001

Toto umožňuje enkódovat 24000/1001 fps progresivní materiál při 30000/1001 fps při zachování slučitelnosti s DVD.

#### 14.8.2.1. Poměr stran

Argument aspect z `-lavcopts` se používá pro zakódování poměru stran souboru. Během přehrávání je pak tato hodnota použita pro obnovení videa na správnou velikost.

16:9 neboli "Widescreen"

    -lavcopts aspect=16/9

4:3 neboli "Fullscreen"

    -lavcopts aspect=4/3

2.35:1 neboli "Cinemascope" NTSC

    -vf scale=720:368,expand=720:480 -lavcopts aspect=16/9

Pro výpočet správné velikosti pro škálování, použijte rozšířenou NTSC šířku 854/2.35 = 368

2.35:1 neboli "Cinemascope" PAL

    -vf scale=720:432,expand=720:576 -lavcopts aspect=16/9

Pro výpočet správné velikosti pro škálování, použijte rozšířenou PAL šířku 1024/2.35 = 432

#### 14.8.2.2. Zachování A/V synchronizace

Aby byla zachována synchronizace zvuku s videem během enkódování, musí MEncoder zahazovat nebo duplikovat snímky. To funguje celkem dobře při muxování do AVI souboru, ale téměř s jistotou neudrží A/V synchronizaci s jinými muxery jako MPEG. To je důvodem pro nutnost přidání video fitru `harddup` na konec řetězu filtrů, abychom se tomuto problému vyhnuli. Více technických informací o `harddup` naleznete v sekci Zlepšení muxování a A/V synchronizace, nebo v man stránce.

#### 14.8.2.3. Převod vzorkovacího kmitočtu

Pokud není vzorkovací kmitočet zvuku takový, jaký je vyžadován cílovým formátem, je nutný převod vzorkovacího kmitočtu. To zajišťuje použití volby `-srate` spolu se zvukovým filtrem `-af lavcresample`.

DVD:

    -srate 48000 -af lavcresample=48000

VCD a SVCD:

    -srate 44100 -af lavcresample=44100

### 14.8.3. Použití libavcodec pro enkódování VCD/SVCD/DVD

#### 14.8.3.1. Úvodem

`libavcodec` můžete použít pro vytvoření videa kompatibilního s VCD/SVCD/DVD použitím příslušných voleb.

#### 14.8.3.2. lavcopts

Zde máte seznam polí v `-lavcopts`, která je nutné změnit, abyste dostali video vhodné pro VCD, SVCD, nebo DVD:

- acodec: `mp2` pro VCD, SVCD nebo PAL DVD; `ac3` je obecně používán pro DVD. PCM zvuk může být rovněž použitý pro DVD, ale většinou je to velké plýtvání místem. Poznamenejme, že MP3 není slučitelné s žádným z těchto formátů, ale přehrávače s jeho přehrátím obvykle nemají problém.

- abitrate: 224 pro VCD; do 384 pro SVCD; do 1536 pro DVD, ale obvykle se hodnoty pohybují od 192 kbps pro stereo do 384 kbps pro 5.1 kanálový zvuk.

- vcodec: `mpeg1video` pro VCD; `mpeg2video` pro SVCD; `mpeg2video` je obvykle použitý pro DVD, ale můžete použít také `mpeg1video` pro CIF rozlišení.

- keyint: Použitý pro nastavení velikosti GOP. 18 pro 30fps materiál, nebo 15 pro 25/24 fps materiál. Zdá se, že komerční producenti preferují interval mezi klíčovými snímky 12. Je možné použít vyšší hodnotu a stále být kompatibilní s většinou přehrávačů. `keyint` na 25 by neměla nikdy způsobit potíže.

- vrc_buf_size: 327 pro VCD, 917 pro SVCD a 1835 pro DVD.

- vrc_minrate: 1152, pro VCD. Může být vynecháno pro SVCD a DVD.

- vrc_maxrate: 1152 pro VCD; 2500 pro SVCD; 9800 pro DVD. Pro SVCD a DVD, můžete použít nižší hodnoty v závislosti na vašich osobních preferencích a potřebách.

- vbitrate: 1152 pro VCD; do 2500 pro SVCD; do 9800 pro DVD. Pro dva poslední formáty by mělo být vbitrate nastaveno podle vlastního uvážení. Například pokud trváte na umístění asi 20 hodin na DVD, mohli byste použít vbitrate=400. Výsledná kvalita bude nejspíš hrozná. Pokud se pokoušíte dosáhnout maximální možné kvality na DVD, použijte vbitrate=9800, ale pak se vám nevejde ani celá hodina záznamu na jednovrstvé DVD.

- vstrict: Pro vytváření DVD by mělo být použito `vstrict`=0. Bez této volby vytvoří MEncoder datový proud, který některé stolní přehrávače neumí správně dekódovat.

#### 14.8.3.3. Příklady

Toto je typická minimální sada `-lavcopts` pro enkódování videa:

VCD:

    -lavcopts vcodec=mpeg1video:vrc_buf_size=327:vrc_minrate=1152:\
    vrc_maxrate=1152:vbitrate=1152:keyint=15:acodec=mp2

SVCD:

    -lavcopts vcodec=mpeg2video:vrc_buf_size=917:vrc_maxrate=2500:vbitrate=1800:\
    keyint=15:acodec=mp2

DVD:

    -lavcopts vcodec=mpeg2video:vrc_buf_size=1835:vrc_maxrate=9800:vbitrate=5000:\
    keyint=15:vstrict=0:acodec=ac3

#### 14.8.3.4. Pokročilé volby

Pro vyšší kvalitu enkódování můžete také přidat kvalitu zlepšující volby do lavcopts, jako je `trell`, `mbd=2` a další. Poznamenejme, že `qpel` a `v4mv`, které jsou často dobré pro MPEG-4, nejsou použitelné s MPEG-1 nebo MPEG-2. Pokud se snažíte vytvořit DVD s velmi vasokou kvalitou, může být vhodné přidat `dc=10` do lavcopts. Takto to můžete pomoci omezit oběvování bloků ve stálobarevných plochách. Podtrženo sečteno, zde máte příklad nastavení lavcopts pro DVD s vyšší kvalitou:

    -lavcopts vcodec=mpeg2video:vrc_buf_size=1835:vrc_maxrate=9800:vbitrate=8000:\
    keyint=15:trell:mbd=2:precmp=2:subcmp=2:cmp=2:dia=-10:predia=-10:cbp:mv0:\
    vqmin=1:lmin=1:dc=10:vstrict=0

### 14.8.4. Enkódování zvuku

VCD a SVCD podporují zvuk MPEG-1 layer II. Použít můžete `toolame`, `twolame`, nebo MP2 enkodér z `libavcodec`u. MP2 libavcodecu je dalek toho, aby byl stejně dobrý jako druhé dvě knihovny, avšak měl by být vždy po ruce. VCD podporuje pouze zvuk s konstantním datovým tokem (CBR), zatímco SVCD podporuje také proměnný datový tok (VBR). Používejte VBR opatrně, jelikož některé mizerné stolní přehrávače jej nemusí dobře podporovat.

Pro DVD zvuk se používá AC3 kodek z `libavcodec`.

#### 14.8.4.1. toolame

Pro VCD a SVCD:

    -oac toolame -toolameopts br=224

#### 14.8.4.2. twolame

Pro VCD a SVCD:

    -oac twolame -twolameopts br=224

#### 14.8.4.3. libavcodec

Pro DVD s 2 kanálovým zvukem:

    -oac lavc -lavcopts acodec=ac3:abitrate=192

Pro DVD s 5.1 kanálovým zvukem:

    -channels 6 -oac lavc -lavcopts acodec=ac3:abitrate=384

Pro VCD a SVCD:

    -oac lavc -lavcopts acodec=mp2:abitrate=224

### 14.8.5. Spojení všeho dohromady

Tato sekce obsahuje kompletní příkazy pro vytvoření VCD/SVCD/DVD kompatibilních videí.

#### 14.8.5.1. PAL DVD

    mencoder -oac lavc -ovc lavc -of mpeg -mpegopts format=dvd:tsaf \
      -vf scale=720:576,harddup -srate 48000 -af lavcresample=48000 \
      -lavcopts vcodec=mpeg2video:vrc_buf_size=1835:vrc_maxrate=9800:vbitrate=5000:\
    keyint=15:vstrict=0:acodec=ac3:abitrate=192:aspect=16/9 -ofps 25 \
      -o film.mpg film.avi

#### 14.8.5.2. NTSC DVD

    mencoder -oac lavc -ovc lavc -of mpeg -mpegopts format=dvd:tsaf \
      -vf scale=720:480,harddup -srate 48000 -af lavcresample=48000 \
      -lavcopts vcodec=mpeg2video:vrc_buf_size=1835:vrc_maxrate=9800:vbitrate=5000:\
    keyint=18:vstrict=0:acodec=ac3:abitrate=192:aspect=16/9 -ofps 30000/1001 \
      -o film.mpg film.avi

#### 14.8.5.3. PAL AVI obsahující AC3 zvuk do DVD

Pokud již má zdroj AC3 zvuk, použijte -oac copy místo reenkódování.

    mencoder -oac copy -ovc lavc -of mpeg -mpegopts format=dvd:tsaf \
      -vf scale=720:576,harddup -ofps 25 \
      -lavcopts vcodec=mpeg2video:vrc_buf_size=1835:vrc_maxrate=9800:vbitrate=5000:\
    keyint=15:vstrict=0:aspect=16/9 -o film.mpg film.avi

#### 14.8.5.4. NTSC AVI obsahující AC3 zvuk do DVD

Pokud již má zdroj AC3 zvuk a video je NTSC @ 24000/1001 fps:

    mencoder -oac copy -ovc lavc -of mpeg -mpegopts format=dvd:tsaf:telecine \
      -vf scale=720:480,harddup -lavcopts vcodec=mpeg2video:vrc_buf_size=1835:\
      vrc_maxrate=9800:vbitrate=5000:keyint=15:vstrict=0:aspect=16/9 -ofps 24000/1001 \
      -o film.mpg film.avi

#### 14.8.5.5. PAL SVCD

    mencoder -oac lavc -ovc lavc -of mpeg -mpegopts format=xsvcd -vf \
        scale=480:576,harddup -srate 44100 -af lavcresample=44100 -lavcopts \
        vcodec=mpeg2video:mbd=2:keyint=15:vrc_buf_size=917:vrc_minrate=600:\
    vbitrate=2500:vrc_maxrate=2500:acodec=mp2:abitrate=224 -ofps 25 \
        -o film.mpg film.avi

#### 14.8.5.6. NTSC SVCD

    mencoder -oac lavc -ovc lavc -of mpeg -mpegopts format=xsvcd  -vf \
        scale=480:480,harddup -srate 44100 -af lavcresample=44100 -lavcopts \
        vcodec=mpeg2video:mbd=2:keyint=18:vrc_buf_size=917:vrc_minrate=600:\
    vbitrate=2500:vrc_maxrate=2500:acodec=mp2:abitrate=224 -ofps 30000/1001 \
        -o film.mpg film.avi

#### 14.8.5.7. PAL VCD

    mencoder -oac lavc -ovc lavc -of mpeg -mpegopts format=xvcd -vf \
        scale=352:288,harddup -srate 44100 -af lavcresample=44100 -lavcopts \
        vcodec=mpeg1video:keyint=15:vrc_buf_size=327:vrc_minrate=1152:\
    vbitrate=1152:vrc_maxrate=1152:acodec=mp2:abitrate=224 -ofps 25 \
        -o film.mpg film.avi

#### 14.8.5.8. NTSC VCD

    mencoder -oac lavc -ovc lavc -of mpeg -mpegopts format=xvcd -vf \
        scale=352:240,harddup -srate 44100 -af lavcresample=44100 -lavcopts \
        vcodec=mpeg1video:keyint=18:vrc_buf_size=327:vrc_minrate=1152:\
    vbitrate=1152:vrc_maxrate=1152:acodec=mp2:abitrate=224 -ofps 30000/1001 \
        -o film.mpg film.avi

Předcházející | Nahoru | Další
14.7. Použití MEncoderu pro vytvoření QuickTime-kompatibilních souborů | Domů | Příloha A. Jak hlásit chyby