9.8. A MEncoder használata VCD/SVCD/DVD-kompatibilis fájlok készítéséhez.
Vissza | 9. fejezet - Kódolás a MEncoderrel | Előre

## 9.8. A MEncoder használata VCD/SVCD/DVD-kompatibilis fájlok készítéséhez.

### 9.8.1. Formátum korlátok

A MEncoder képes VCD, SCVD és DVD formátumú MPEG fájlok létrehozására a `libavcodec` könyvtár segítségével. Ezek a fájlok a vcdimager-rel vagy a dvdauthor-ral együttműködve felhasználhatók szabványos lejátszókban lejátszható lemezek készítéséhez.

A DVD, SVCD és VCD formátumok súlyos korlátokkal rendelkeznek. A kódolt képméretekből és a képarányokból csak nagyon kevés áll rendelkezésre. Ha a filmed nem felel meg ezeknek a követelményeknek, méretezned, vágnod vagy fekete keretet kell hozzáadnod a képhez, hogy kompatibilis legyen.

#### 9.8.1.1. Formátum korlátok

Formátum | Felbontás | V. Codec | V. Bitráta | Mintavételi ráta | A. Codec | A. Bitráta | FPS | Arány
--- | --- | --- | --- | --- | --- | --- | --- | ---
NTSC DVD | 720x480, 704x480, 352x480, 352x240 | MPEG-2 | 9800 kbps | 48000 Hz | AC-3,PCM | 1536 kbps (max) | 30000/1001, 24000/1001 | 4:3, 16:9 (csak 720x480-nál)
NTSC DVD | 352x240[a] | MPEG-1 | 1856 kbps | 48000 Hz | AC-3,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,AC-3,PCM | 1536 kbps (max) | 25 | 4:3, 16:9 (csak 720x576-nál)
PAL DVD | 352x288[a] | MPEG-1 | 1856 kbps | 48000 Hz | MP2,AC-3,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] Ezek a felbontások ritkán használatosak a DVD-ken, mert elég alacsony minőségűek.

Ha a filmednek 2.35:1 méretaránya van (a legtöbb akció film), fekete keretet kell hozzáadnod vagy le kell vágnod a filmet 16:9-es méretarányra DVD vagy VCD készítéshez. Ha fekete keretet adsz hozzá, próbáld meg 16 pixel-es határra igazítani őket a kódolási teljesítményre való hatásuk minimalizálásához. Szerencsére a DVD-nek eléggé magas a bitrátája, nem kell aggódnod túlságosan a kódolás hatékonysága miatt, de az SVCD és a VCD bitráta-szegény, ezért erőfeszítéseket kell tenni az elfogadható minőségért is.

#### 9.8.1.2. GOP méret határok

A DVD, VCD és SVCD eléggé alacsony GOP (Group of Pictures) méret értékekre korlátoz le. Egy 30 fps-es anyagnál a legnagyobb megengedett GOP méret 18. 25 vagy 24 fps-nél a maximum 15. A GOP méretét a `keyint` opcióval lehet beállítani.

#### 9.8.1.3. Bitráta korlátok

A VCD videónak CBR-esnek kell lennie 1152 kbps-en. Ehhez a nagyon erős megkötéshez egy extrém alacsony, 327 kilobit-es vbv buffer méret társul. Az SVCD megengedi a bitráta változtatását 2500 kbps-ig és kicsit kevésbé korlátozó, 917 kilobit-es vbv buffer méretet engedélyez. A DVD videó bitrátája bárhol lehet 9800 kbps-ig (bár az általános bitráták ennek felénél vannak) és a vbv buffer méret is 1835 kilobit.

### 9.8.2. Kimeneti opciók

A MEncoder rendelkezik a kimeneti formátumot beállító kapcsolókkal. Ezen opciók használatával utasíthatod, hogy helyes típusú fájlt készítsen.

A VCD és SVCD opciókat xvcd-nek és xsvcd-nek hívják, mert kiterjesztett formátumúak. Nem teljesen kompatibilisek, főként mivel a kimenet nem tartalmaz scan offszet-eket. Ha SVCD CD képet kell készítened, add át a kimeneti fájlt a vcdimager-nek.

VCD:

    -of mpeg -mpegopts format=xvcd

SVCD:

    -of mpeg -mpegopts format=xsvcd

DVD (minden kockánál időbélyeggel, ha lehetséges):

    -of mpeg -mpegopts format=dvd:tsaf

DVD NTSC Pullup-pal:

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

Ez engedélyezi a 24000/1001 fps-es progresszív tartalom 30000/1001 fps-sel történő kódolását a DVD-előírások betartásával.

#### 9.8.2.1. Képarány

A `-lavcopts` aspect argumentuma használható a fájl képarányának elkódolásához. Lejátszás közben a képarányt a videó megfelelő méretűre állításához használják.

16:9 vagy "Widescreen"

    -lavcopts aspect=16/9

4:3 vagy "Fullscreen"

    -lavcopts aspect=4/3

2.35:1 vagy "Cinemascope" NTSC

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

A helyes méretarány kiszámításához használd a 854/2.35 = 368-as kibővített NTSC szélességet.

2.35:1 vagy "Cinemascope" PAL

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

A helyes méretarány kiszámításához használd a 1024/2.35 = 432-es kibővített PAL szélességet.

#### 9.8.2.2. A/V szinkron megtartása

Az audió/videó szinkronizáció kódolás közbeni megtartásához a MEncodernek el kell dobni vagy meg kell duplázni képkockákat. Ez jobban működik ha AVI fájlba keversz, de majdnem biztosan sikertelen az A/V szinkron megtartása más muxer-ekkel, mint pl. az MPEG. Ezért van, hogy a `harddup` videó szűrőt hozzá kell csatolni a szűrőlánc végéhez ezen problémák elkerüléséhez. A `harddup`-ról további információkat a muxálás és az A/V szinkron megbízhatósága című fejezetben találsz vagy a man oldalon.

#### 9.8.2.3. Mintavételi ráta konvertálás

Ha az eredeti fájl audió mintavételi rátája nem ugyan olyan, mint ami a cél formátumban szükséges, mintavételi ráta konvertálást kell végrehajtani. Ez a `-srate` és `-af lavcresample` kapcsolók együttes használatával érhető el.

DVD:

    -srate 48000 -af lavcresample=48000

VCD és SVCD:

    -srate 44100 -af lavcresample=44100

### 9.8.3. A libavcodec használata VCD/SVCD/DVD kódoláshoz

#### 9.8.3.1. Bevezetés

A `libavcodec` használható VCD/SVCD/DVD kompatibilis videó készítéséhez a megfelelő opciókkal.

#### 9.8.3.2. lavcopts

Következzék egy lista a `-lavcopts`-ban használható mezőkről, amiknek a megváltoztatására szükséged lehet a VCD, SVCD, vagy DVD kompatibilis film készítésekor:

- acodec: `mp2` a VCD-hez, SVCD-hez vagy PAL DVD-hez; `ac3` a leggyakoribb DVD-hez. PCM audió is használható DVD-hez, de legtöbbször csak helypazarlás. Figyelj rá, hogy az MP3 audió ezen formátumok egyikével sem kompatibilis, de a lejátszóknak gyakran semmi gondot nem okoz a lejátszása.

- abitrate: 224 VCD-nél; 384-ig SVCD-nél; 1536-ig DVD-nél, de általában a használt értékek a sztereónál 192 kbps-étől az 5.1 csatornás hang 384 kbps-éig változnak.

- vcodec: `mpeg1video` VCD-hez; `mpeg2video` SVCD-hez; `mpeg2video` használatos általában a DVD-hez, de lehet `mpeg1video` is a CIF felbontásokhoz.

- keyint: A GOP méret beállításához használható. 18 a 30fps-es anyagé vagy 15 a 25/24 fps-esé. A kereskedelmi előállítók a 12-es kulcskocka intervallumot preferálják. Lehetséges ezen érték nagyobbra állítása is a legtöbb lejátszóval való kompatibiliítás megtartása mellett. A 25-ös `keyint` soha nem okoz problémát.

- vrc_buf_size: 327 VCD-nél, 917 SVCD-nél és 1835 DVD-nél.

- vrc_minrate: 1152 VCD-nél. Elhagyható SVCD és DVD esetében.

- vrc_maxrate: 1152 VCD-nél; 2500 SVCD-nél; 9800 DVD-nél. SVCD-hez és DVD-hez az egyéni kívánalmaidnak és igényeidnek megfelelően használhatsz magasabb értékeket is.

- vbitrate: 1152 VCD-nél; legfeljebb 2500 SVCD-nél; legfeljebb 9800 DVD-nél. Az utóbbi két formátumnál a vbitrate egyéni igények szerint állítható be. Például szeretnéd, hogy 20 óra vagy akörüli anyag felférjen egy DVD-re, használhatod a vbitrate=400-at. Az eredmény videó minősége valószínűleg elég rossz lesz. Ha megpróbálod kisakkozni a lehető legjobb minőséget a DVD-n, használd a vbitrate=9800-at, de emlékezz rá, hogy emiatt kevesebb, mint egy órányi videód lehet egy egyrétegű DVD-n.

- vstrict: `vstrict`=0 ajánlott DVD-k készítéséhez. Ezen opció nélkül a MEncoder egy olyan folyamot készít, amit néhány asztali lejátszó nem tud helyesen dekódolni.

#### 9.8.3.3. Példák

Általában ez a minimum `-lavcopts` egy videó elkódolásához:

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

#### 9.8.3.4. Haladó opciók

Jobb minőségű kódoláshoz valószínűleg használni szeretnéd a lavcopts minőség-javító opcióit is, mint például a `trell`, `mbd=2`, vagy mások. Figyelj rá, hogy a `qpel` és a `v4mv` bár gyakran hasznosak MPEG-4 esetén, nem használhatóak MPEG-1 vagy MPEG-2-vel. Ha nagyon jó minőségű DVD kódolást akarsz készíteni, hasznos lehet a `dc=10` opció hozzáadása a lavcopts-hoz. Ez segíti csökkenteni a blokkosodást a színtelen részeknél. Mindezt összerakva, itt egy példa jó minőségű DVD készítéséhez szükséges lavcopts-ra:

    -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

### 9.8.4. Audió kódolása

A VCD és az SVCD támogatja az MPEG-1 layer II audiót, a `toolame`, `twolame`, vagy a `libavcodec` MP2 kódolójának felhasználásával. A libavcodec MP2 messze nincs olyan jó, mint a másik két könyvtár, azonban az mindig elérhető és használható. A VCD csak konstans bitrátájú audiót (CBR) támogat, míg az SVCD tudja a változó bitrátát (VBR) is. De vigyázz a VBR-rel, mert néhány hibás asztali lejátszó sem támogatja.

A DVD audióhoz a `libavcodec` AC-3 codec-je használható.

#### 9.8.4.1. toolame

VCD-hez és SVCD-hez:

    -oac toolame -toolameopts br=224

#### 9.8.4.2. twolame

VCD-hez és SVCD-hez:

    -oac twolame -twolameopts br=224

#### 9.8.4.3. libavcodec

DVD-hez két csatornás hanggal:

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

DVD-hez 5.1 csatornás hanggal:

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

VCD-hez és SVCD-hez:

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

### 9.8.5. Mindent összevetve

Ez a rész néhány teljes parancsot mutat a VCD/SVCD/DVD kompatibilis videók készítéséhez.

#### 9.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 movie.mpg movie.avi

#### 9.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 movie.mpg movie.avi

#### 9.8.5.3. AC-3 Audiót tartalmazó PAL AVI DVD-re

Ha a forrás már AC-3 audióval rendelkezik, használd a -oac copy kapcsolót az újrakódolása helyett.

    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 movie.mpg movie.avi

#### 9.8.5.4. AC-3 Audiót tartalmazó NTSC AVI DVD-re

Ha a forrás már AC-3 audiót tartalmaz és 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 movie.mpg movie.avi

#### 9.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:aspect=16/9 -ofps 25 \
        -o movie.mpg movie.avi

#### 9.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:aspect=16/9 -ofps 30000/1001 \
        -o movie.mpg movie.avi

#### 9.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:aspect=16/9 -ofps 25 \
        -o movie.mpg movie.avi

#### 9.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:aspect=16/9 -ofps 30000/1001 \
        -o movie.mpg movie.avi

Vissza | Fel | Előre
9.7. QuickTime-kompatibilis fájlok készítése a MEncoder használatával | Főoldal | 10. fejezet - Gyakran ismételt kérdések