~ubuntu-branches/debian/squeeze/mplayer/squeeze

« back to all changes in this revision

Viewing changes to DOCS/HTML/de/menc-feat-enc-libavcodec.html

  • Committer: Bazaar Package Importer
  • Author(s): Reinhard Tartler
  • Date: 2010-07-31 23:44:52 UTC
  • mfrom: (1.1.4 upstream) (8.1.1 experimental)
  • Revision ID: james.westby@ubuntu.com-20100731234452-j7yyrgsh1wustazr
Tags: 2:1.0~rc3++final.dfsg1-1
* upload to unstable
* enable mencoder and mplayer-gui package
* build again against the system FFmpeg 0.5

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><title>10.3. Encodieren mit der libavcodec Codecfamilie</title><link rel="stylesheet" href="default.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.75.2"><link rel="home" href="index.html" title="MPlayer - Movie Player"><link rel="up" href="encoding-guide.html" title="Kapitel 10. Encodieren mit MEncoder"><link rel="prev" href="menc-feat-telecine.html" title="10.2. Wie mit telecine und interlacing in NTSC-DVDs umgehen"><link rel="next" href="menc-feat-xvid.html" title="10.4. Encodieren mit dem Xvid-Codec"><link rel="preface" href="howtoread.html" title="Wie diese Dokumentation gelesen werden soll"><link rel="chapter" href="intro.html" title="Kapitel 1. Einführung"><link rel="chapter" href="install.html" title="Kapitel 2. Installation"><link rel="chapter" href="usage.html" title="Kapitel 3. Gebrauch"><link rel="chapter" href="cd-dvd.html" title="Kapitel 4. CD/DVD Nutzung"><link rel="chapter" href="tv.html" title="Kapitel 5. TV"><link rel="chapter" href="radio.html" title="Kapitel 6. Radio"><link rel="chapter" href="video.html" title="Kapitel 7. Videoausgabegeräte"><link rel="chapter" href="ports.html" title="Kapitel 8. Portierungen"><link rel="chapter" href="mencoder.html" title="Kapitel 9. Allgemeiner Gebrauch von MEncoder"><link rel="chapter" href="encoding-guide.html" title="Kapitel 10. Encodieren mit MEncoder"><link rel="chapter" href="faq.html" title="Kapitel 11. Häufig gestellte Fragen"><link rel="appendix" href="bugreports.html" title="Anhang A. Wie Fehler (Bugs) berichtet werden"><link rel="appendix" href="skin.html" title="Anhang B. MPlayers Skinformat"><link rel="subsection" href="menc-feat-enc-libavcodec.html#menc-feat-enc-libavcodec-video-codecs" title="10.3.1. Videocodecs von libavcodec"><link rel="subsection" href="menc-feat-enc-libavcodec.html#menc-feat-enc-libavcodec-audio-codecs" title="10.3.2. Audiocodecs von libavcodec"><link rel="subsection" href="menc-feat-enc-libavcodec.html#menc-feat-dvd-mpeg4-lavc-encoding-options" title="10.3.3. Encodieroptionen von libavcodec"><link rel="subsection" href="menc-feat-enc-libavcodec.html#menc-feat-mpeg4-lavc-example-settings" title="10.3.4. Beispiele für Encodierungseinstellungen"><link rel="subsection" href="menc-feat-enc-libavcodec.html#custommatrices" title="10.3.5. Maßgeschneiderte inter/intra-Matrizen"><link rel="subsection" href="menc-feat-enc-libavcodec.html#menc-feat-dvd-mpeg4-example" title="10.3.6. Beispiel"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">10.3. Encodieren mit der <code class="systemitem">libavcodec</code>
 
2
      Codecfamilie</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="menc-feat-telecine.html">Zurück</a> </td><th width="60%" align="center">Kapitel 10. Encodieren mit <span class="application">MEncoder</span></th><td width="20%" align="right"> <a accesskey="n" href="menc-feat-xvid.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="10.3. Encodieren mit der libavcodec Codecfamilie"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="menc-feat-enc-libavcodec"></a>10.3. Encodieren mit der <code class="systemitem">libavcodec</code>
 
3
      Codecfamilie</h2></div></div></div><p>
 
4
      <code class="systemitem">libavcodec</code>
 
5
      stellt einfache Encodierung für eine Menge interessanter Video- und Audioformate
 
6
      zur Verfügung.
 
7
      Du kannst folgende Codecs encodieren (mehr oder weniger aktuell):
 
8
    </p><div class="sect2" title="10.3.1. Videocodecs von libavcodec"><div class="titlepage"><div><div><h3 class="title"><a name="menc-feat-enc-libavcodec-video-codecs"></a>10.3.1. Videocodecs von <code class="systemitem">libavcodec</code></h3></div></div></div><p>
 
9
        </p><div class="informaltable"><table border="1"><colgroup><col><col></colgroup><thead><tr><th>Name des Videocodecs</th><th>Beschreibung</th></tr></thead><tbody><tr><td>mjpeg</td><td>
 
10
                  Motion-JPEG
 
11
                </td></tr><tr><td>ljpeg</td><td>
 
12
                  Verlustfreies JPEG
 
13
                </td></tr><tr><td>jpegls</td><td>
 
14
                  JPEG LS
 
15
                </td></tr><tr><td>targa</td><td>
 
16
                  Targa-Bild
 
17
                </td></tr><tr><td>gif</td><td>
 
18
                  GIF-Bild
 
19
                </td></tr><tr><td>png</td><td>
 
20
                  PNG-Bild
 
21
                </td></tr><tr><td>bmp</td><td>
 
22
                  BMP-Bild
 
23
                </td></tr><tr><td>h261</td><td>
 
24
                  H.261
 
25
                </td></tr><tr><td>h263</td><td>
 
26
                  H.263
 
27
                </td></tr><tr><td>h263p</td><td>
 
28
                  H.263+
 
29
                </td></tr><tr><td>mpeg4</td><td>
 
30
                  ISO Standard MPEG-4 (DivX, Xvid-kompatibel)
 
31
                </td></tr><tr><td>msmpeg4</td><td>
 
32
                  Pre-Standard MPEG-4 Variante von MS, v3 (AKA DivX3)
 
33
                </td></tr><tr><td>msmpeg4v1</td><td>
 
34
                  Pre-Standard MPEG-4 von MS, v1
 
35
                </td></tr><tr><td>msmpeg4v2</td><td>
 
36
                  Pre-Standard MPEG-4 von MS, v2 (in alten ASF-Dateien verwendet)
 
37
                </td></tr><tr><td>wmv1</td><td>
 
38
                  Windows Media Video, Version 1 (AKA WMV7)
 
39
                </td></tr><tr><td>wmv2</td><td>
 
40
                  Windows Media Video, Version 2 (AKA WMV8)
 
41
                </td></tr><tr><td>rv10</td><td>
 
42
                  RealVideo 1.0
 
43
                </td></tr><tr><td>rv20</td><td>
 
44
                  RealVideo 2.0
 
45
                </td></tr><tr><td>mpeg1video</td><td>
 
46
                  MPEG-1 Video
 
47
                </td></tr><tr><td>mpeg2video</td><td>
 
48
                  MPEG-2 Video
 
49
                </td></tr><tr><td>huffyuv</td><td>
 
50
                  Verlustfreie (lossless) Kompression
 
51
                </td></tr><tr><td>ffvhuff</td><td>
 
52
                  FFmpeg-modifizierter huffyuv, verlustfrei
 
53
                </td></tr><tr><td>asv1</td><td>
 
54
                  ASUS Video v1
 
55
                </td></tr><tr><td>asv2</td><td>
 
56
                  ASUS Video v2
 
57
                </td></tr><tr><td>vcr1</td><td>
 
58
                  ATI VCR1 codec
 
59
                </td></tr><tr><td>ffv1</td><td>
 
60
                  FFmpeg's verlustfreier (lossless) Videocodec
 
61
                </td></tr><tr><td>svq1</td><td>
 
62
                  Sorenson Video 1
 
63
                </td></tr><tr><td>flv</td><td>
 
64
                  Sorenson H.263, der in Flash Video benutzt wird
 
65
                </td></tr><tr><td>flashsv</td><td>
 
66
                  Flash Screen Video
 
67
                </td></tr><tr><td>dvvideo</td><td>
 
68
                  Sony Digital Video
 
69
                </td></tr><tr><td>snow</td><td>
 
70
                  FFmpeg's experimenteller Wavelet-basierter Codec
 
71
                </td></tr><tr><td>zbmv</td><td>
 
72
                  Zip Blocks Motion Video
 
73
                </td></tr><tr><td>cljr</td><td>
 
74
                  Cirrus Logic AccuPak Codec
 
75
                </td></tr></tbody></table></div><p>
 
76
 
 
77
        Die erste Spalte enthält die Codecnamen, die nach der Konfiguration
 
78
        <code class="literal">vcodec</code> übergeben werden müssen, wie:
 
79
        <tt class="option">-lavcopts vcodec=msmpeg4</tt>
 
80
      </p><div class="informalexample"><p>
 
81
          Ein Beispiel mit MJPEG-Komprimierung:
 
82
          </p><pre class="screen">mencoder dvd://2 -o title2.avi -ovc lavc -lavcopts vcodec=mjpeg -oac copy</pre><p>
 
83
        </p></div></div><div class="sect2" title="10.3.2. Audiocodecs von libavcodec"><div class="titlepage"><div><div><h3 class="title"><a name="menc-feat-enc-libavcodec-audio-codecs"></a>10.3.2. Audiocodecs von <code class="systemitem">libavcodec</code></h3></div></div></div><p>
 
84
        </p><div class="informaltable"><table border="1"><colgroup><col><col></colgroup><thead><tr><th>Name des Audiocodecs</th><th>Beschreibung</th></tr></thead><tbody><tr><td>ac3</td><td>Dolby Digital (AC-3)</td></tr><tr><td>adpcm_*</td><td>Adaptive PCM-Formate - siehe begleitende Tabelle</td></tr><tr><td>flac</td><td>Free Lossless Audio Codec (FLAC)</td></tr><tr><td>g726</td><td>G.726 ADPCM</td></tr><tr><td>libamr_nb</td><td>3GPP Adaptive Multi-Rate (AMR) narrow-band</td></tr><tr><td>libamr_wb</td><td>3GPP Adaptive Multi-Rate (AMR) wide-band</td></tr><tr><td>libfaac</td><td>Advanced Audio Coding (AAC) - verwendet FAAC</td></tr><tr><td>libgsm</td><td>ETSI GSM 06.10 full rate</td></tr><tr><td>libgsm_ms</td><td>Microsoft GSM</td></tr><tr><td>libmp3lame</td><td>MPEG-1 audio layer 3 (MP3) - verwendet LAME</td></tr><tr><td>mp2</td><td>MPEG-1 Audio Layer 2</td></tr><tr><td>pcm_*</td><td>PCM-Formate - siehe begleitende Tabelle</td></tr><tr><td>roq_dpcm</td><td>Id Software RoQ DPCM</td></tr><tr><td>sonic</td><td>experimenteller verlustbehafteter FFmpeg-Codec</td></tr><tr><td>sonicls</td><td>experimenteller verlustfreier FFmpeg-Codec</td></tr><tr><td>vorbis</td><td>Vorbis</td></tr><tr><td>wma1</td><td>Windows Media Audio v1</td></tr><tr><td>wma2</td><td>Windows Media Audio v2</td></tr></tbody></table></div><p>
 
85
 
 
86
        Die erste Spalte enthält die Codecnamen, die nach der Konfiguration
 
87
        <code class="literal">acodec</code> übergeben werden müssen, wie:
 
88
        <tt class="option">-lavcopts acodec=ac3</tt>
 
89
      </p><div class="informalexample"><p>
 
90
          Ein Beispiel mit AC3-Kompression:
 
91
          </p><pre class="screen">mencoder dvd://2 -o title2.avi -oac lavc -lavcopts acodec=ac3 -ovc copy</pre><p>
 
92
        </p></div><p>
 
93
        Im Gegensatz zu den Videocodecs von <code class="systemitem">libavcodec</code>
 
94
        machen dessen Audiocodecs keinen weisen Gebrauch von den Bits, die ihnen übergeben
 
95
        werden, da es ihnen an einem minimalen psychoakustischen Modell fehlt (falls
 
96
        überhaupt eins vorhanden ist), wodurch sich die meisten anderen
 
97
        Codec-Implementierungen auszeichnen.
 
98
        Beachte jedoch, dass all diese Audiocodecs sehr schnell sind und überall dort
 
99
        hervorragend arbeiten, wo <span class="application">MEncoder</span> mit
 
100
        <code class="systemitem">libavcodec</code> kompiliert wurde (was
 
101
        meistens der Fall ist) und nicht von externen Programmbibliotheken abhängt.
 
102
      </p><div class="sect3" title="10.3.2.1. PCM/ADPCM-Format, begleitende Tabelle"><div class="titlepage"><div><div><h4 class="title"><a name="menc-feat-enc-libavcodec-audio-codecs-pcmadpcm"></a>10.3.2.1. PCM/ADPCM-Format, begleitende Tabelle</h4></div></div></div><p>
 
103
        </p><div class="informaltable"><table border="1"><colgroup><col><col></colgroup><thead><tr><th>PCM/ADPCM Codecname</th><th>Beschreibung</th></tr></thead><tbody><tr><td>pcm_s32le</td><td>signed 32-bit little-endian</td></tr><tr><td>pcm_s32be</td><td>signed 32-bit big-endian</td></tr><tr><td>pcm_u32le</td><td>unsigned 32-bit little-endian</td></tr><tr><td>pcm_u32be</td><td>unsigned 32-bit big-endian</td></tr><tr><td>pcm_s24le</td><td>signed 24-bit little-endian</td></tr><tr><td>pcm_s24be</td><td>signed 24-bit big-endian</td></tr><tr><td>pcm_u24le</td><td>unsigned 24-bit little-endian</td></tr><tr><td>pcm_u24be</td><td>unsigned 24-bit big-endian</td></tr><tr><td>pcm_s16le</td><td>signed 16-bit little-endian</td></tr><tr><td>pcm_s16be</td><td>signed 16-bit big-endian</td></tr><tr><td>pcm_u16le</td><td>unsigned 16-bit little-endian</td></tr><tr><td>pcm_u16be</td><td>unsigned 16-bit big-endian</td></tr><tr><td>pcm_s8</td><td>signed 8-bit</td></tr><tr><td>pcm_u8</td><td>unsigned 8-bit</td></tr><tr><td>pcm_alaw</td><td>G.711 A-LAW </td></tr><tr><td>pcm_mulaw</td><td>G.711 μ-LAW</td></tr><tr><td>pcm_s24daud</td><td>signed 24-bit D-Cinema Audioformat</td></tr><tr><td>pcm_zork</td><td>Activision Zork Nemesis</td></tr><tr><td>adpcm_ima_qt</td><td>Apple QuickTime</td></tr><tr><td>adpcm_ima_wav</td><td>Microsoft/IBM WAVE</td></tr><tr><td>adpcm_ima_dk3</td><td>Duck DK3</td></tr><tr><td>adpcm_ima_dk4</td><td>Duck DK4</td></tr><tr><td>adpcm_ima_ws</td><td>Westwood Studios</td></tr><tr><td>adpcm_ima_smjpeg</td><td>SDL Motion JPEG</td></tr><tr><td>adpcm_ms</td><td>Microsoft</td></tr><tr><td>adpcm_4xm</td><td>4X Technologies</td></tr><tr><td>adpcm_xa</td><td>Phillips Yellow Book CD-ROM eXtended Architecture</td></tr><tr><td>adpcm_ea</td><td>Electronic Arts</td></tr><tr><td>adpcm_ct</td><td>Creative 16-&gt;4-bit</td></tr><tr><td>adpcm_swf</td><td>Adobe Shockwave Flash</td></tr><tr><td>adpcm_yamaha</td><td>Yamaha</td></tr><tr><td>adpcm_sbpro_4</td><td>Creative VOC SoundBlaster Pro 8-&gt;4-bit</td></tr><tr><td>adpcm_sbpro_3</td><td>Creative VOC SoundBlaster Pro 8-&gt;2.6-bit</td></tr><tr><td>adpcm_sbpro_2</td><td>Creative VOC SoundBlaster Pro 8-&gt;2-bit</td></tr><tr><td>adpcm_thp</td><td>Nintendo GameCube FMV THP</td></tr><tr><td>adpcm_adx</td><td>Sega/CRI ADX</td></tr></tbody></table></div><p>
 
104
        </p></div></div><div class="sect2" title="10.3.3. Encodieroptionen von libavcodec"><div class="titlepage"><div><div><h3 class="title"><a name="menc-feat-dvd-mpeg4-lavc-encoding-options"></a>10.3.3. Encodieroptionen von libavcodec</h3></div></div></div><p>
 
105
        Idealerweise möchtest du eventuell in der Lage sein, dem Encoder einfach zu sagen,
 
106
        er soll in den "hochqualitativen" Modus wechseln und weiter machen.
 
107
        Das wäre vermutlich nett, aber unglücklicherweise schwer zu implementieren, da
 
108
        verschiedene Encodieroptionen unterschiedliche Qualitätsresultate hervorbringen,
 
109
        abhängig vom Quellmaterial.
 
110
        Das liegt daran, dass die Komprimierung von den visuellen Eigenschaften des fraglichen Videos abhängt.
 
111
        Zum Beispiel haben Anime und Live-Action sehr unterschiedliche Eigenschaften und
 
112
        benötigen aus diesm Grund verschiedene Optionen, um optimale Encodierung zu erreichen.
 
113
        Die gute Neuigkeit ist, dass einige Optionen wie <tt class="option">mbd=2</tt>,
 
114
        <tt class="option">trell</tt> und <tt class="option">v4mv</tt> nie ausgelassen werden sollten.
 
115
        Siehe unten nach der detaillierten Beschreibung allgemeiner Encodieroptionen.
 
116
      </p><div class="itemizedlist" title="Anzupassende Optionen:"><p class="title"><b>Anzupassende Optionen:</b></p><ul class="itemizedlist" type="disc"><li class="listitem"><p>
 
117
            <span class="bold"><strong>vmax_b_frames</strong></span>: 1 oder 2 ist gut, abhängig vom Film.
 
118
            Beachte, dass du, falls deine Encodierung von DivX5 decodierbar sein muss, den
 
119
            Support für "closed GOP" aktivieren musst, indem du die
 
120
            <code class="systemitem">libavcodec</code>-Option <tt class="option">cgop</tt>
 
121
            verwendest, du musst jedoch Szenenerkennung deaktivieren, was wiederum keine gute
 
122
            Idee ist, da es die Ecodierungseffizienz etwas angreift.
 
123
          </p></li><li class="listitem"><p>
 
124
            <span class="bold"><strong>vb_strategy=1</strong></span>: hilft in Szenen mit viel
 
125
            Bewegung (high-motion).
 
126
            Bei manchen Videos wird vmax_b_frames der Qualität schaden, vmax_b_frames=2
 
127
            zusammen mit vb_strategy=1 hilft jedoch.
 
128
          </p></li><li class="listitem"><p>
 
129
            <span class="bold"><strong>dia</strong></span>: Bewegungssuchbereich. Größer ist besser
 
130
            als kleiner.
 
131
            Negative Werte sind ein komplett anderer Maßstab.
 
132
            Gute Werte sind -1 für ein schnelle oder 2-4 für langsame Encodierung.
 
133
          </p></li><li class="listitem"><p>
 
134
            <span class="bold"><strong>predia</strong></span>: Bewegungssuche Vorabdurchlauf (pre-pass).
 
135
            Nicht so wichtig wie dia. Gute Werte sind 1 (Standard) bis 4. Erfordert preme=2, um
 
136
            wirklich was zu nützen.
 
137
          </p></li><li class="listitem"><p>
 
138
            <span class="bold"><strong>cmp, subcmp, precmp</strong></span>: Vergleichsfunktion zur
 
139
            Bewegungseinschätzung.
 
140
            Experimentiere mit Werten von 0 (Standard), 2 (hadamard), 3 (dct) und
 
141
            6 (Ratenverzerrung).
 
142
            0 ist am schnellsten und ausreichend für precmp.
 
143
            Für cmp und subcmp ist 2 gut bei Anime, und 3 ist gut bei Live-Action.
 
144
            6 kann leicht besser sein oder auch nicht, ist aber langsam.
 
145
          </p></li><li class="listitem"><p>
 
146
            <span class="bold"><strong>last_pred</strong></span>: Anzahl der Bewegungsvorhersagen, die
 
147
            vom vorherigen Frame genommen werden sollen.
 
148
            1-3 oder so hilft bei geringer Geschwindigkeitseinbuße.
 
149
            Höhere Werte sind langsam bei keinerlei Zusatzgewinn.
 
150
          </p></li><li class="listitem"><p>
 
151
            <span class="bold"><strong>cbp, mv0</strong></span>: Kontrolliert die Auswahl von Macroblöcken.
 
152
            Kleine Geschwindigkeitseinbußen bei kleinem Qualitätsgewinn.
 
153
          </p></li><li class="listitem"><p>
 
154
            <span class="bold"><strong>qprd</strong></span>: adaptive Quantisierung basierend auf der
 
155
            Komplexität des Macroblocks.
 
156
            Kann hilfreich sein oder schaden, abhängig vom Video und anderen Optionen.
 
157
            Dies kann Artefakte verursachen, es sei denn, du setzt vqmax auf einen halbwegs
 
158
            kleinen Wert (6 ist gut, vielleicht so langsam wie 4); vqmin=1 sollte ebenfalls
 
159
            helfen.
 
160
          </p></li><li class="listitem"><p>
 
161
            <span class="bold"><strong>qns</strong></span>: sehr langsam, speziell wenn kombiniert
 
162
            mit qprd.
 
163
            Diese Option veranlasst den Encoder, durch Kompressionsartefakte entstandenes
 
164
            Rauschen zu minimieren anstatt das encodierte Video strikt der Quelle anzupassen.
 
165
            Verwende dies nicht, es sei denn du, hast bereits alles andere so weit wie möglich
 
166
            optimiert und die Resultate sind immer noch nicht gut genug.
 
167
          </p></li><li class="listitem"><p>
 
168
            <span class="bold"><strong>vqcomp</strong></span>: Frequenzkontrolle optimieren.
 
169
            Welche Werte gut sind, hängt vom Film ab.
 
170
            Du kannst dies sicher so lassen wie es ist, wenn du willst.
 
171
            Wird vqcomp verringert, werden mehr Bits auf Szenen mit geringer Komlexität
 
172
            gelegt, wird es erhöht, legt es diese Bits auf Szenen mit hoher Komlexität
 
173
            (Standard: 0.5, Bereich: 0-1. empfohlener Bereich: 0.5-0.7).
 
174
          </p></li><li class="listitem"><p>
 
175
            <span class="bold"><strong>vlelim, vcelim</strong></span>: Setzt die Schwelle für die
 
176
            Eliminierung einzelner Koeffizienten bei Helligkeits- und Farbanteilen.
 
177
            Sie werden in allen MPEG-ähnlichen Algorithmen getrennt encodiert.
 
178
            Die Idee hinter diesen Optionen ist, einige gute Heuristiken zu verwenden,
 
179
            um zu bestimmen, wenn ein Wechsel innerhalb eines Blocks kleiner als der
 
180
            der von dir festgelegte Schwellenwert ist und in solch einem Fall den
 
181
            Block einfach so zu encodieren als fände "kein Wechsel" statt.
 
182
            Das spart Bits und beschleunigt womöglich die Encodierunng. vlelim=-4 und vcelim=9
 
183
            scheinen gut für Live-Filme zu sein, helfen aber scheinbar nicht bei Anime;
 
184
            beim Encodieren einer Animation solltest du sie womöglich unverändert lassen.
 
185
          </p></li><li class="listitem"><p>
 
186
            <span class="bold"><strong>qpel</strong></span>: Bewegungsabschätzung auf ein viertel
 
187
            Pixel (quarter pel).
 
188
            MPEG-4 verwendet als Voreinstellung eine Halbpixel-Genauigkeit für die Bewegungssuche,
 
189
            deswegen hat diese Option einen Overhead, da mehr Informationen in der
 
190
            encodierte Datei untergebracht werden.
 
191
            Der Kompressionsgewinn/-verlust hängt vom Film ab, ist aber in der Regel nicht
 
192
            sonderlich effektiv bei Anime.
 
193
            qpel zieht immer eine signifikante Erhöhung der CPU-Decodierzeit nach
 
194
            sich (+25% in der Praxis).
 
195
          </p></li><li class="listitem"><p>
 
196
            <span class="bold"><strong>psnr</strong></span>: wirkt sich eigentlich nicht auf
 
197
            das Encodieren aus, schreibt jedoch eine Log-Datei mit Typ/Größe/Qualität
 
198
            jedes Frames und gibt am Ende die Summe des PSNR Signal-zu-Rauschabstands
 
199
            (Peak Signal to Noise Ratio) aus.
 
200
          </p></li></ul></div><div class="itemizedlist" title="Optionen, mit denen besser nicht herumgespielt werden sollte:"><p class="title"><b>Optionen, mit denen besser nicht herumgespielt werden sollte:</b></p><ul class="itemizedlist" type="disc"><li class="listitem"><p>
 
201
            <span class="bold"><strong>vme</strong></span>: Der Standardwert ist der beste.
 
202
          </p></li><li class="listitem"><p>
 
203
            <span class="bold"><strong>lumi_mask, dark_mask</strong></span>: Psychovisuell adaptive
 
204
            Quantisierung.
 
205
            Du solltest nicht im Traum daran denken, mit diesen Optionen herumzuspielen,
 
206
            wenn dir Qualität wichtig ist.
 
207
            Vernünftige Werte mögen in deinem Fall effektiv sein, aber sei gewarnt,
 
208
            dies ist sehr subjektiv.
 
209
          </p></li><li class="listitem"><p>
 
210
            <span class="bold"><strong>scplx_mask</strong></span>: Versucht, Blockartefakte
 
211
            zu verhindern, Postprocessing ist aber besser.
 
212
          </p></li></ul></div></div><div class="sect2" title="10.3.4. Beispiele für Encodierungseinstellungen"><div class="titlepage"><div><div><h3 class="title"><a name="menc-feat-mpeg4-lavc-example-settings"></a>10.3.4. Beispiele für Encodierungseinstellungen</h3></div></div></div><p>
 
213
        Die folgenden Einstellungen sind Beispiele verschiedener Kombinationen
 
214
        von Encodierungsoptionen, die den Kompromiss Geschwindigkeit gegenüber
 
215
        Qualität bei gleicher Zielbitrate beeinflussen.
 
216
      </p><p>
 
217
        Alle Encodierungseinstellungen wurden auf einem Beispielvideo
 
218
        mit 720x448 @30000/1001 fps getestet, die Zielbitrate war 900kbps und
 
219
        der Rechner war ein AMD-64 3400+ mit 2400 MHz im 64bit-Modus.
 
220
        Jede Encodiereinstellung zeichnet sich aus durch die gemessene
 
221
        Encodiergeschwindigkeit (in Frames pro Sekunde) und den PSNR-Verlust
 
222
        (in dB) im Vergleich zu Einstellungen für "sehr hohe Qualität".
 
223
        Bitte habe Verständnis, dass du abhängig von deiner Quelldatei,
 
224
        deinem Rechnertyp und Entwicklungsfortschritten sehr unterschiedliche
 
225
        Resultate erzielen wirst.
 
226
      </p><p>
 
227
        </p><div class="informaltable"><table border="1"><colgroup><col><col><col><col></colgroup><thead><tr><th>Beschreibung</th><th>Encodieroptionen</th><th>Geschwindigkeit (in fps)</th><th>Relativer PSNR-Verlust (in dB)</th></tr></thead><tbody><tr><td>Sehr hohe Qualität</td><td><tt class="option">vcodec=mpeg4:mbd=2:mv0:trell:v4mv:cbp:last_pred=3:predia=2:dia=2:vmax_b_frames=2:vb_strategy=1:precmp=2:cmp=2:subcmp=2:preme=2:qns=2</tt></td><td>6fps</td><td>0dB</td></tr><tr><td>Hohe Qualität</td><td><tt class="option">vcodec=mpeg4:mbd=2:trell:v4mv:last_pred=2:dia=-1:vmax_b_frames=2:vb_strategy=1:cmp=3:subcmp=3:precmp=0:vqcomp=0.6:turbo</tt></td><td>15fps</td><td>-0.5dB</td></tr><tr><td>Schnell</td><td><tt class="option">vcodec=mpeg4:mbd=2:trell:v4mv:turbo</tt></td><td>42fps</td><td>-0.74dB</td></tr><tr><td>Echtzeit</td><td><tt class="option">vcodec=mpeg4:mbd=2:turbo</tt></td><td>54fps</td><td>-1.21dB</td></tr></tbody></table></div><p>
 
228
      </p></div><div class="sect2" title="10.3.5. Maßgeschneiderte inter/intra-Matrizen"><div class="titlepage"><div><div><h3 class="title"><a name="custommatrices"></a>10.3.5. Maßgeschneiderte inter/intra-Matrizen</h3></div></div></div><p>
 
229
        Mit diesem Feature von <code class="systemitem">libavcodec</code>
 
230
        bist du in der Lage, eigene inter- (I-Frames/Keyframes) und intra-Matrizen
 
231
        (P-Frames/predicted Frames) zu setzen. Es wird von vielen Codecs unterstützt:
 
232
        <code class="systemitem">mpeg1video</code> und <code class="systemitem">mpeg2video</code>
 
233
        sollen damit funktionieren.
 
234
      </p><p>
 
235
        Eine typische Anwendung dieses Features ist, die von den
 
236
        <a class="ulink" href="http://www.kvcd.net/" target="_top">KVCD</a>-Specifikationen
 
237
        bevorzugten Matrizen zu setzen.
 
238
      </p><p>
 
239
        Die <span class="bold"><strong>KVCD "Notch" Quantisierungsmatrix:</strong></span>
 
240
      </p><p>
 
241
        Intra:
 
242
</p><pre class="screen">8  9 12 22 26 27 29 34
 
243
9 10 14 26 27 29 34 37
 
244
12 14 18 27 29 34 37 38
 
245
22 26 27 31 36 37 38 40
 
246
26 27 29 36 39 38 40 48
 
247
27 29 34 37 38 40 48 58
 
248
29 34 37 38 40 48 58 69
 
249
34 37 38 40 48 58 69 79</pre><p>
 
250
 
 
251
        Inter:
 
252
</p><pre class="screen">16 18 20 22 24 26 28 30
 
253
18 20 22 24 26 28 30 32
 
254
20 22 24 26 28 30 32 34
 
255
22 24 26 30 32 32 34 36
 
256
24 26 28 32 34 34 36 38
 
257
26 28 30 32 34 36 38 40
 
258
28 30 32 34 36 38 42 42
 
259
30 32 34 36 38 40 42 44</pre><p>
 
260
      </p><p>
 
261
        Anwendung:
 
262
        </p><pre class="screen">$ mencoder <em class="replaceable"><code>input.avi</code></em> -o <em class="replaceable"><code>output.avi</code></em> -oac copy -ovc lavc -lavcopts inter_matrix=...:intra_matrix=... </pre><p>
 
263
      </p><p>
 
264
</p><pre class="screen">$ mencoder <em class="replaceable"><code>input.avi</code></em> -ovc lavc -lavcopts
 
265
vcodec=mpeg2video:intra_matrix=8,9,12,22,26,27,29,34,9,10,14,26,27,29,34,37,
 
266
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,
 
267
29,34,37,38,40,48,58,29,34,37,38,40,48,58,69,34,37,38,40,48,58,69,79
 
268
:inter_matrix=16,18,20,22,24,26,28,30,18,20,22,24,26,28,30,32,20,22,24,26,
 
269
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,
 
270
36,38,40,28,30,32,34,36,38,42,42,30,32,34,36,38,40,42,44 -oac copy -o svcd.mpg</pre><p>
 
271
      </p></div><div class="sect2" title="10.3.6. Beispiel"><div class="titlepage"><div><div><h3 class="title"><a name="menc-feat-dvd-mpeg4-example"></a>10.3.6. Beispiel</h3></div></div></div><p>
 
272
        Jetzt hast du gerade eben deine brandneue Kopie von Harry Potter und die
 
273
        Kammer des Schreckens gekauft (natürlich die Breitbildedition), und du
 
274
        willst diese DVD so rippen, dass du sie deinem Home Theatre PC hinzufügen
 
275
        kannst. Dies ist eine Region-1-DVD, also ist sie NTSC. Das unten stehende
 
276
        Beispiel wird auch auf PAL zutreffen, nur dass du
 
277
        <tt class="option">-ofps 24000/1001</tt> weglässt (weil die Ausgabeframerate die
 
278
        gleiche ist wie die Eingabeframerate), und logischerweise werden die
 
279
        Ausschnittsabmessungen anders sein.
 
280
      </p><p>
 
281
        Nach dem Start von <tt class="option">mplayer dvd://1</tt>, verfolgen wir den
 
282
        detailliert in der Sektion <a class="link" href="menc-feat-telecine.html" title="10.2. Wie mit telecine und interlacing in NTSC-DVDs umgehen">Wie mit telecine
 
283
          und interlacing in NTSC-DVDs umgehen</a> beschriebenen Prozess und
 
284
        entdecken, dass es progressive Video mit 24000/1001 fps ist, was bedeutet, dass
 
285
        wir keinen inverse telecine-Filter wie <tt class="option">pullup</tt> oder
 
286
        <tt class="option">filmdint</tt> anwenden müssen.
 
287
      </p><p><a name="menc-feat-dvd-mpeg4-example-crop"></a>
 
288
        Als Nächstes wollen wir das passende Ausschnittsrechteck bestimmen, also
 
289
        verwenden wir den cropdetect-Filter:
 
290
 
 
291
        </p><pre class="screen">mplayer dvd://1 -vf cropdetect</pre><p>
 
292
 
 
293
        Stelle sicher, dass du einen voll gefüllten Frame anstrebst (wie zum
 
294
        Beispiel eine helle Szene, nach den Eröffnungs-Credits und Filmlogos),
 
295
        und dass du diese Ausgabe in <span class="application">MPlayer</span>s Konsole siehst:
 
296
 
 
297
        </p><pre class="screen">crop area: X: 0..719  Y: 57..419  (-vf crop=720:362:0:58)</pre><p>
 
298
 
 
299
        Wir spielen den Film dann mit diesem Filter ab, um seine Korrektheit zu testen:
 
300
 
 
301
        </p><pre class="screen">mplayer dvd://1 -vf crop=720:362:0:58</pre><p>
 
302
 
 
303
        Und wir sehen, dass er einfach perfekt aussieht. Als Nächstes vergewissern wir
 
304
        uns, dass Breite und Höhe ein Vielfaches von 16 sind. Die Breite ist gut,
 
305
        aber die Höhe ist es nicht. Da wir in der 7-ten Klasse in Mathe nicht gefehlt
 
306
        haben, wissen wir, dass das am nähesten liegende Vielfache von 16 kleiner
 
307
        als 362 der Wert 352 ist (Taschenrechner ist erlaubt).
 
308
      </p><p>
 
309
        Wir könnten einfach <tt class="option">crop=720:352:0:58</tt> verwenden, aber es wäre
 
310
        nett, ein bisschen von oben und ein bisschen von unten wegzunehmen, sodass
 
311
        wir zentriert bleiben. Wir haben die Höhe um 10 Pixel schrumpfen lassen, aber
 
312
        wir wollen das y-Offset nicht um 5 Pixel erhöhen, da dies eine ungerade Zahl
 
313
        ist und die Qualität nachteilig beeinflussen würde. Statt dessen werden wir
 
314
        das y-Offset um 4 Pixel erhöhen:
 
315
 
 
316
        </p><pre class="screen">mplayer dvd://1 -vf crop=720:352:0:62</pre><p>
 
317
 
 
318
        Ein anderer Grund, Pixel von beidem - oben und unten - abzuschnipseln ist,
 
319
        dass wir sicher gehen wollen, jegliches halbschwarze Pixel eliminiert zu
 
320
        haben, falls welche existieren. Beachte, falls das Video telecined
 
321
        ist, stelle sicher, dass der <tt class="option">pullup</tt>-Filter (oder für
 
322
        welchen umgekehrten telecine-Filter auch immer du dich entschieden hast)
 
323
        in der Filterkette auftaucht, bevor du zuschneidest. Ist es interlaced,
 
324
        deinterlace es vor dem Zuschneiden.
 
325
        (Wenn du dich entscheidest, interlaced Video beizubehalten, dann vergewissere dich, dass
 
326
        das vertikale crop-Offset ein Vielfaches von 4 ist.)
 
327
      </p><p>
 
328
        Wenn du wirklich besorgt um den Verlust dieser 10 Pixel bist, ziehst du
 
329
        statt dessen etwa das Herunterskalieren der Abmessungen auf das am nächsten
 
330
        liegende Vielfache von 16 vor.
 
331
        Die Filterkette würde dann etwa so aussehen:
 
332
 
 
333
        </p><pre class="screen">-vf crop=720:362:0:58,scale=720:352</pre><p>
 
334
 
 
335
        Das Video auf diese Art herunter zu skalieren wird bedeuten, dass eine
 
336
        kleine Menge Details verloren geht, obwohl es vermutlich nicht wahrnehmbar
 
337
        sein wird. Hoch zu skalieren führt zu niedrigerer Qualität (es sei denn,
 
338
        du erhöhst die Bitrate). Ausschneiden sondert sämtliche dieser Pixel
 
339
        aus. Es ist ein Kompromiss, den du unter allen Umständen
 
340
        in Betracht ziehen solltest. Zum Beispiel, wenn das DVD-Video für das Fernsehen
 
341
        hergestellt wurde, solltest du vertikales Skalieren vermeiden, da das
 
342
        Zeilensampling mit der Art und Weise korrespondiert, für die der Inhalt
 
343
        ursprünglich aufgenommen wurde.
 
344
      </p><p>
 
345
        Bei der Überprüfung sehen wir, dass unser Film ordentlich Action enthält
 
346
        und sehr viele Details, also wählen wir 2400Kbit für unsere Bitrate.
 
347
      </p><p>
 
348
        Wir sind nun bereit, die 2-pass Encodierung durchzuführen. Erster Durchlauf:
 
349
 
 
350
</p><pre class="screen">mencoder dvd://1 -ofps 24000/1001 -oac copy -vf pullup,softskip,crop=720:352:0:62,hqdn3d=2:1:2 -ovc lavc \
 
351
  -lavcopts vcodec=mpeg4:vbitrate=2400:v4mv:mbd=2:trell:cmp=3:subcmp=3:mbcmp=3:autoaspect:vpass=1 \
 
352
  -o Harry_Potter_2.avi</pre><p>
 
353
 
 
354
        Und der zweite Durchlauf ist derselbe, außer dass wir <tt class="option">vpass=2</tt>
 
355
        festlegen:
 
356
 
 
357
</p><pre class="screen">mencoder dvd://1 -ofps 24000/1001 -oac copy -vf pullup,softskip,crop=720:352:0:62,hqdn3d=2:1:2 -ovc lavc \
 
358
  -lavcopts vcodec=mpeg4:vbitrate=2400:v4mv:mbd=2:trell:cmp=3:subcmp=3:mbcmp=3:autoaspect:vpass=2 \
 
359
  -o Harry_Potter_2.avi</pre><p>
 
360
      </p><p>
 
361
        Die Optionen <tt class="option">v4mv:mbd=2:trell</tt> werden die Qualität
 
362
        außerordentlich erhöhen, auf Kosten der Encodierdauer. Es gibt
 
363
        einen kleinen Grund, diese Optionen auszulassen, wenn das Primärziel
 
364
        die Qualität ist. Die Optionen
 
365
        <tt class="option">cmp=3:subcmp=3:mbcmp=3</tt> wählen eine Vergleichsfunktion,
 
366
        die eine höhere Qualität liefert als die Standardeinstellungen.
 
367
        Du darfst mit diesem Parameter rumexperimentieren (ziehe die Manpage
 
368
        zu möglichen Werten zu Rate) da verschiedene Funktionen abhängig vom
 
369
        Quellmaterial einen starken Einfluss auf die Qualität haben. Wenn du zum Beispiel
 
370
        meinst, dass <code class="systemitem">libavcodec</code> zu
 
371
        viele Blockartefakte produziert, könntest du ja das experimentelle
 
372
        NSSE als Vergleichsfunktion via <tt class="option">*cmp=10</tt> wählen.
 
373
      </p><p>
 
374
        Für diesen Film wird das resultierende AVI 138 Minuten lang und nahezu
 
375
        3GB groß sein. Und weil du erzählt hast, dass eine große Datei nichts
 
376
        ausmacht, ist dies eine perfekt akzeptierbare Größe. Wolltest du sie aber
 
377
        kleiner haben, könntest du eine niedrigere Bitrate hernehmen. Erhöhte
 
378
        Bitraten haben verminderte Rückgaben, während wir also deutlich eine
 
379
        Verbesserung von 1800Kbit nach 2000Kbit sehen, ist es oberhalb 2000Kbit
 
380
        nicht so auffällig. Fühl dich frei solange herum zu experimentieren bis
 
381
        du glücklich bist.
 
382
      </p><p>
 
383
        Weil wir das Quellvideo durch einen Denoise-Filter geschickt haben,
 
384
        könntest du einige davon während des Playbacks wieder hinzufügen wollen.
 
385
        Dies zusammen mit dem Nachbearbeitungsfilter <tt class="option">spp</tt>
 
386
        verbessert die Wahrnehmung der Qualität drastisch und hilft dabei,
 
387
        blockhafte Artefakte aus dem Video zu eliminieren.
 
388
        Mit <span class="application">MPlayer</span>s Option <tt class="option">autoq</tt>
 
389
        kannst du den Nachbearbeitungsaufwand des spp-Filters abhängig von der
 
390
        verfügbaren CPU variieren. An dieser Stelle kannst du auch Gamma- und/oder
 
391
        Farbkorrektur zur besten Anpassung an dein Display verwenden, wenn du willst.
 
392
        Zum Beispiel:
 
393
 
 
394
        </p><pre class="screen">mplayer Harry_Potter_2.avi -vf spp,noise=9ah:5ah,eq2=1.2 -autoq 3</pre><p>
 
395
      </p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="menc-feat-telecine.html">Zurück</a> </td><td width="20%" align="center"><a accesskey="u" href="encoding-guide.html">Nach oben</a></td><td width="40%" align="right"> <a accesskey="n" href="menc-feat-xvid.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">10.2. Wie mit telecine und interlacing in NTSC-DVDs umgehen </td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top"> 10.4. Encodieren mit dem <code class="systemitem">Xvid</code>-Codec</td></tr></table></div></body></html>