1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
|
<?xml version="1.0" encoding="utf-8"?>
<!-- in sync with r23983 -->
<!-- missing cosmetic commit 21537 -->
<chapter id="mencoder">
<title>Allgemeiner Gebrauch von <application>MEncoder</application></title>
<para>
Eine komplette Liste der <application>MEncoder</application>-Optionen
und Beispiele findest du in der Manpage. Eine Reihe praktischer Beispiele
und detaillierter Anleitungen zur Anwendung verschiedener Encodier-Parameter
findet du in den
<ulink url="../../tech/encoding-tips.txt">Encodier-Tipps (im Moment nur auf englisch)</ulink>,
die aus verschiedenen Mailing-Listen-Threads von MPlayer-Nutzern
zusammengestellt wurden.
Durchsuche die Archive
<ulink url="http://lists.mplayerhq.hu/pipermail/mencoder-users/">hier</ulink>
und für ältere Dinge besonders
<ulink url="http://lists.mplayerhq.hu/pipermail/mplayer-users/">hier</ulink>
nach einer Fülle von Diskussionen über alle Aspekte und Probleme mit
der Encodierung mittels <application>MEncoder</application>.
</para>
<sect1 id="menc-feat-selecting-codec">
<title>Auswahl der Codecs und Containerformate</title>
<para>
Audio- und Videocodecs für die Encodierung werden mit den Optionen
<option>-oac</option> und <option>-ovc</option> respektive gewählt.
Gib zum Beispiel folgendes ein:
<screen>mencoder -ovc help</screen>
um alle von der <application>MEncoder</application>-Version auf deinem Rechner
unterstützten Video-Codecs aufzulisten.
Die folgenden Wahlmöglichkeiten stehen zur Verfügung:
</para>
<para>
Audiocodecs:
<informaltable frame="all">
<tgroup cols="2">
<thead>
<row><entry>Audiocodecname</entry><entry>Beschreibung</entry></row>
</thead>
<tbody>
<row>
<entry>mp3lame</entry>
<entry>encodiere nach VBR-, ABR- oder CBR-MP3 mittels LAME</entry>
</row>
<row>
<entry>lavc</entry>
<entry>verwende einen der Audiocodecs von
<link linkend="menc-feat-enc-libavcodec-audio-codecs"><systemitem class="library">libavcodec</systemitem></link>
</entry>
</row>
<row>
<entry>faac</entry>
<entry>FAAC AAC Audio-Encoder</entry>
</row>
<row>
<entry>toolame</entry>
<entry>MPEG Audio Layer 2 Encoder</entry>
</row>
<row>
<entry>twolame</entry>
<entry>MPEG Audio Layer 2 Encoder basierend auf tooLAME</entry>
</row>
<row>
<entry>pcm</entry>
<entry>unkomprimiertes PCM-Audio</entry>
</row>
<row>
<entry>copy</entry>
<entry>nicht neu codieren, kopiere einfach nur komprimierte Frames</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</para>
<para>
Video-Codecs:
<informaltable frame="all">
<tgroup cols="2">
<thead>
<row><entry>Videocodecname</entry><entry>Beschreibung</entry></row>
</thead>
<tbody>
<row>
<entry>lavc</entry>
<entry>Verwende einen der Video-Codecs von
<link linkend="menc-feat-enc-libavcodec-video-codecs"><systemitem class="library">libavcodec</systemitem></link>
</entry>
</row>
<row>
<entry>xvid</entry>
<entry>Xvid, MPEG-4 Advanced Simple Profile (ASP) Codec</entry>
</row>
<row>
<entry>x264</entry>
<entry>x264, MPEG-4 Advanced Video Coding (AVC), AKA H.264 Codec</entry>
</row>
<row>
<entry>nuv</entry>
<entry>NuppelVideo, von Echtzeit-Anwendungen verwendet</entry>
</row>
<row>
<entry>raw</entry>
<entry>unkomprimierte Video-Frames</entry>
</row>
<row>
<entry>copy</entry>
<entry>nicht neu codieren, kopiere einfach nur komprimierte Frames</entry>
</row>
<row>
<entry>frameno</entry>
<entry>verwendet für 3-pass-Encodierung (nicht empfohlen)</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</para>
<para>
Ausgabe-Containerformate werden mittels der Option <option>-of</option> gewählt.
Gib folgendes ein
<screen>mencoder -of help</screen>
um alle von der <application>MEncoder</application>-Version auf deinem Rechner
unterstützten Videocodecs aufzulisten.
Die folgenden Wahlmöglichkeiten stehen zur Verfügung:
</para>
<para>
Containerformate:
<informaltable frame="all">
<tgroup cols="2">
<thead>
<row><entry>Name des Containerformats</entry><entry>Beschreibung</entry></row>
</thead>
<tbody>
<row>
<entry>lavf</entry>
<entry>einer der von
<systemitem class="library">libavformat</systemitem>
unterstützten Container</entry>
</row>
<row>
<entry>avi</entry>
<entry>Audio-Video Interleaved</entry>
</row>
<row>
<entry>mpeg</entry>
<entry>MPEG-1 und MPEG-2 PS</entry>
</row>
<row>
<entry>rawvideo</entry>
<entry>raw-Video-Stream (kein Muxen - nur ein Video-Stream)</entry>
</row>
<row>
<entry>rawaudio</entry>
<entry>raw-Audio-Stream (kein Muxen - nur ein Audio-Stream)</entry>
</row>
</tbody>
</tgroup>
</informaltable>
Der AVI-Container ist das ursprüngliche Containerformat für
<application>MEncoder</application>, was bedeutet, dass es der am besten
gehandhabte ist und derjenige, für welchen <application>MEncoder</application>
entworfen wurde.
Wie oben angemerkt können weitere Containerformate verwendet werden, jedoch
kann es bei deren Gebrauch zu Problemen kommen.
</para>
<para>
<systemitem class="library">libavformat</systemitem>-Container:
</para>
<para>
Wenn du für das Muxen der Ausgabedatei
<systemitem class="library">libavformat</systemitem> verwendest
(mittels <option>-of lavf</option>),
wird das passende Containerformat entsprechend der Erweiterung der Ausgabedatei
ermittelt.
Du kannst ein bestimmtes Containerformat mit Hilfe der Option
<option>format</option> von <systemitem class="library">libavformat</systemitem>
erzwingen.
<informaltable frame="all">
<tgroup cols="2">
<thead>
<row><entry><systemitem class="library">libavformat</systemitem> Containername</entry><entry>Beschreibung</entry></row>
</thead>
<tbody>
<row>
<entry>mpg</entry>
<entry>MPEG-1 und MPEG-2 PS</entry>
</row>
<row>
<entry>asf</entry>
<entry>Advanced Streaming Format</entry>
</row>
<row>
<entry>avi</entry>
<entry>Audio-Video Interleaved</entry>
</row>
<row>
<entry>wav</entry>
<entry>Waveform Audio</entry>
</row>
<row>
<entry>swf</entry>
<entry>Macromedia Flash</entry>
</row>
<row>
<entry>flv</entry>
<entry>Macromedia Flash Video</entry>
</row>
<row>
<entry>rm</entry>
<entry>RealMedia</entry>
</row>
<row>
<entry>au</entry>
<entry>SUN AU</entry>
</row>
<row>
<entry>nut</entry>
<entry>NUT offener Container (experimentell und noch nicht Spec-konform)</entry>
</row>
<row>
<entry>mov</entry>
<entry>QuickTime</entry>
</row>
<row>
<entry>mp4</entry>
<entry>MPEG-4 Format</entry>
</row>
<row>
<entry>dv</entry>
<entry>Sony Digital Video Container</entry>
</row>
</tbody>
</tgroup>
</informaltable>
Wie du siehst, erlaubt <systemitem class="library">libavformat</systemitem>
<application>MEncoder</application>, in eine beachtliche Vielfalt an Containern
zu muxen.
Leider solltest du wirklich Paranoia angesichts der resultierenden Datei schieben,
da <application>MEncoder</application> nicht von Anfang an für die Unterstützung
anderer Containerformate als AVI entworfen wurde.
Überprüfe bitte sicherheitshalber, ob die Audio-/Video-Synchronisierung in Ordnung ist
und ob die Datei von anderen Playern als <application>MPlayer</application>
wiedergegeben werden kann.
</para>
<example id="encode_to_macromedia_flash_format">
<title>Encodieren in das Macromedia Flash-Format</title>
<para>
Erzeugen eines Macromedia Flash Videos, das in einem Web-Browser mit dem
Macromedia Flash Plugin abgespielt werden kann:
<screen>
mencoder <replaceable>input.avi</replaceable> -o <replaceable>output.flv</replaceable> -of lavf \
-oac mp3lame -lameopts abr:br=56 -ovc lavc \
-lavcopts vcodec=flv:vbitrate=500:mbd=2:mv0:trell:v4mv:cbp:last_pred=3 \
-srate 22050
</screen>
</para>
</example>
</sect1>
<sect1 id="menc-feat-selecting-input">
<title>Auswahl von Eingabedatei oder -gerät</title>
<para>
<application>MEncoder</application> kann aus Dateien oder direkt von
einer DVD- oder VCD-Disk encodieren.
Schließe einfach den Dateinamen in der Befehlszeile mit ein, um
von einer Datei zu ecodieren, oder
<option>dvd://</option><replaceable>Titelnummer</replaceable>
bzw. <option>vcd://</option><replaceable>Tracknummer</replaceable> zum
Ecodieren von einem DVD-Titel oder VCD-Track.
Wenn du bereits einmal eine DVD auf deine Festplatte kopiert hast
(du kannst ein Tool wie etwa <application>dvdbackup</application>
verwenden, auf den meisten Systemen verfügbar)
und von der Kopie encodieren willst, solltest du nach wie vor die Syntax
<option>dvd://</option> benutzen, zusammen mit <option>-dvd-device</option>
gefolgt vom Pfad zur kopierten DVD-Root.
Die Optionen <option>-dvd-device</option> und <option>-cdrom-device</option>
können auch dazu genutzt werden, die Pfade zu den Geräte-Nodes zu überschreiben,
um direkt von der Disk zu lesen, falls die Standardoptionen
<filename>/dev/dvd</filename> und <filename>/dev/cdrom</filename> auf
deinem System nicht funktionieren.
</para>
<para>
Wenn du von einer DVD encodierst, ist es oft wünschenswert, ein zu
encodierendes Kapitel oder einen Bereich von Kapiteln auszuwählen.
Du kannst zu diesem Zweck die Option <option>-chapter</option> nutzen.
Zum Beispiel wird <option>-chapter</option> <replaceable>1-4</replaceable>
nur die Kapitel 1 bis 4 der DVD encodieren.
Dies ist besonders nützlich, wenn du eine für zwei CDs bestimmte
Encodierung mit 1400 MB durchführen willst, da du sicherstellen kannst,
dass die Unterbrechung exakt an den Kapitelgrenzen stattfindet, anstatt mitten
in einer Szene.
</para>
<para>
Besitzt du eine unterstützte TV-Capture-Karte, kannst du auch von einem
TV-In-Gerät encodieren.
Verwende <option>tv://</option><replaceable>Kanalnummer</replaceable> als
Dateinamen und <option>-tv</option> zur Konfiguration der zahlreichen
Aufnahmeeinstellungen.
Der DVB-Input funktioniert ähnlich.
</para>
</sect1>
<sect1 id="menc-feat-handheld-psp">
<title>Encodieren ins Sony PSP Video Format</title>
<para>
<application>MEncoder</application> unterstützt das Encodieren in das
Sony PSP Video Format, allerdings gibt es, abhängig von der Version der PSP
Software, unterschiedliche Beschränkungen.
Wer sicher gehen möchte, sollte folgende Beschränkungen beachten:
<itemizedlist>
<listitem><para>
<emphasis role="bold">Bitrate</emphasis>: sollte 1500kbps
nicht überschreiten, frühere Versionen unterstützten allerdings fast jede
beliebige Bitrate, so lange der Header sagte, sie sei nicht zu hoch.
</para></listitem>
<listitem><para>
<emphasis role="bold">Dimensionen</emphasis>: die Breite und Höhe des
PSP videos sollte ein Vielfaches von 16 sein, und das Produkt Breite
* Höhe muss <= 64000 sein.
Unter gewissen Umständen kann es der PSP möglich sein, höhere
Auflösungen abzuspielen.
</para></listitem>
<listitem><para>
<emphasis role="bold">Audio</emphasis>: die Samplerate sollte für
MPEG-4 Videos 24kHz, und für H.264 48kHz betragen.
</para></listitem>
</itemizedlist>
</para>
<example id="encode_for_psp">
<title>Encodierung für PSP</title>
<para>
<screen>
mencoder -ofps 30000/1001 -af lavcresample=24000 -vf harddup -of lavf \
-oac lavc -ovc lavc -lavcopts aglobal=1:vglobal=1:vcodec=mpeg4:acodec=libfaac \
-lavfopts format=psp \
<replaceable>input.video</replaceable> -o <replaceable>output.psp</replaceable>
</screen>
Der Titel des Videos kann folgendermaßen angepasst werden:
<option>-info name=<replaceable>MovieTitle</replaceable></option>.
</para>
</example>
</sect1>
<sect1 id="menc-feat-mpeg4">
<title>Encodieren von 2-pass-MPEG4 ("DivX")</title>
<para>
Der Name kommt daher, dass diese Methode die Datei <emphasis>zweimal</emphasis>
encodiert.
Die erste Encodierung (synchronisierter Durchgang) erzeugt einige temporäre
Dateien (<filename>*.log</filename>) mit einer Größe von ein paar Megabyte,
lösche diese noch nicht (du kannst dabei die AVI löschen oder vielmehr einfach
kein Video erstellen, indem du sie nach <filename>/dev/null</filename>
umadressierst).
Im zweiten Durchgang wird die 2-pass-Ausgabedatei erzeugt, indem die
Bitraten-Daten der temporären Dateien genutzt werden. Die sich daraus
ergebende Datei wird eine viel bessere Bildqualität besitzen. Wenn du das
erste Mal davon gehört hast, solltest du einige im Netz verfügbare Handbücher
zu Rate ziehen.
</para>
<example id="copy_audio_track">
<title>Kopieren eines Audio-Tracks</title>
<para>
2-pass-Encodierung des zweiten Tracks einer DVD zu einer MPEG4 ("DivX")
AVI-Datei während des gleichzeitigen Kopierens des Audio-Tracks.
<screen>
mencoder dvd://2 -ovc lavc -lavcopts vcodec=mpeg4:vpass=1 -oac copy -o /dev/null
mencoder dvd://2 -ovc lavc -lavcopts vcodec=mpeg4:mbd=2:trell:vpass=2 -oac copy -o <replaceable>output.avi</replaceable>
</screen>
</para>
</example>
<example id="encode_audio_track">
<title>Encodieren eines Audio-Tracks</title>
<para>
2-pass-Encodierung einer DVD nach einer MPEG4 ("DivX") AVI-Datei
während des gleichzeitigen Encodierens des Audio-Tracks nach MP3.
Sei bei der Anwendung dieser Methode vorsichtig, da sie in einigen Fällen
zur Audio-/Video-Desynchronisierung führen kann.
<screen>
mencoder dvd://2 -ovc lavc -lavcopts vcodec=mpeg4:vpass=1 -oac mp3lame -lameopts vbr=3 -o /dev/null
mencoder dvd://2 -ovc lavc -lavcopts vcodec=mpeg4:mbd=2:trell:vpass=2 -oac mp3lame -lameopts vbr=3 -o <replaceable>output.avi</replaceable>
</screen>
</para>
</example>
</sect1>
<sect1 id="menc-feat-mpeg">
<title>Encodieren ins MPEG-Format</title>
<para>
<application>MEncoder</application> kann Ausgabedateien im Format
MPEG (MPEG-PS) erzeugen.
Gewöhnlich, wenn du MPEG1- oder MPEG2-Videos benutzt, tust du dies, weil
du in ein erzwungenes Format wie SVCD, VCD oder DVD encodierst.
Die spezifischen Anforderungen an diese Formate werden im Abschnitt
<link linkend="menc-feat-vcd-dvd">Verwenden von MEncoder zum Erzeugen
VCD/SVCD/DVD-konformer Dateien</link>
beschrieben.
</para>
<para>
Verwende die Option <option>-of mpeg</option>, um das Format der
Ausgabedatei von <application>MEncoder</application> zu ändern.
</para>
<informalexample>
<para>
Beispiel:
<screen>
mencoder <replaceable>input.avi</replaceable> -of mpeg -ovc lavc -lavcopts vcodec=mpeg1video \
-oac copy <replaceable>other_options</replaceable> -o <replaceable>output.mpg</replaceable>
</screen>
Erzeugen einer für das Abspielen auf Systemen mit minimalem Multimedia-Support
geeigneten MPEG1-Datei, wie etwa auf Standard-Windows-Installationen:
<screen>
mencoder <replaceable>input.avi</replaceable> -of mpeg -mpegopts format=mpeg1:tsaf:muxrate=2000 \
-o <replaceable>output.mpg</replaceable> -oac lavc -ovc lavc \
-lavcopts acodec=mp2:abitrate=224:vcodec=mpeg1video:vbitrate=1152:keyint=15:mbd=2:aspect=4/3
</screen>
Das gleiche bei Benutzung des MPEG-Muxers von <systemitem class="library">libavformat</systemitem>:
<screen>
mencoder <replaceable>input.avi</replaceable> -o <replaceable>VCD.mpg</replaceable> -ofps 25 -vf scale=352:288,harddup -of lavf \
-lavfopts format=mpg -oac lavc -lavcopts acodec=mp2:abitrate=224 -ovc lavc \
-lavcopts vcodec=mpeg1video:vrc_buf_size=327:keyint=15:vrc_maxrate=1152:vbitrate=1152:vmax_b_frames=0
</screen>
</para>
</informalexample>
<note><title>Hinweis:</title>
<para>
Wenn dich die Video-Qualität des zweiten Durchgangs aus irgendeinem
Grund nicht zufrieden gestellt hat, kannst du deine Encodierung
mit einer anderen Zielbitrate erneut durchlaufen lassen, vorausgesetzt,
du hast die Statistikdateien des vorherigen Durchgangs gesichert.
Dies ist möglich, weil das Primärziel der Statistikdateien die Aufzeichnung
der Komplexität jedes Frames ist, was nicht allzusehr von der Bitrate
abhängt. Du solltest daher beachten, dass du die besten Ergebnisse bekommst,
wenn alle Durchgänge mit nicht zu sehr voneinander abweichenden
Ziel-Bitraten durchlaufen werden.
</para>
</note>
</sect1>
<sect1 id="menc-feat-rescale">
<title>Reskalierung von Filmen</title>
<para>
Oft taucht die Notwendigkeit auf, die Größe der Bilder eines Films zu
ändern. Das kann viele Gründe haben: das Anwachsen der Dateigröße,
Netzwerkbandbreite etc. Die meisten Leute reskalieren gerade beim
Konvertieren von DVDs oder SVCDs nach DivX AVI. Wenn du reskalieren willst,
lies den Abschnitt <link linkend="aspect">Beibehalten des Seitenverhältnisses</link>.
</para>
<para>
Der Skalierungsprozess wird vom <literal>scale</literal>-Video-Filter verarbeitet:
<option>-vf scale=<replaceable>Breite</replaceable>:<replaceable>Hoehe</replaceable></option>.
Seine Qualität kann mit der Option <option>-sws</option> gesetzt werden.
Ist sie nicht angegeben, wird <application>MEncoder</application> 2: bikubisch
verwenden.
</para>
<para>
Anwendung:
<screen>
mencoder <replaceable>input.mpg</replaceable> -ovc lavc -lavcopts vcodec=mpeg4:mbd=2:trell \
-vf scale=640:480 -o <replaceable>output.avi</replaceable>
</screen>
</para>
</sect1>
<sect1 id="menc-feat-streamcopy">
<title>Kopieren von Streams</title>
<para>
<application>MEncoder</application> kann Input-Streams auf zwei Arten verarbeiten:
<emphasis role="bold">Encodiere</emphasis> oder <emphasis role="bold">kopiere</emphasis>
sie. Dieser Abschnitt behandelt das <emphasis role="bold">Kopieren</emphasis>.
</para>
<itemizedlist>
<listitem><para>
<emphasis role="bold">Videostream</emphasis> (Option <option>-ovc copy</option>):
Damit kann man nette Sachen machen :) Wie etwa FLI oder VIVO oder
MPEG1-Video in eine AVI-Datei legen (nicht konvertieren!)! Sicherlich kann
nur <application>MPlayer</application> solche Dateien abspielen :)
Und es hat tatsächlich keine wirkliche Daseinsberechtigung.
Rational: Das Kopieren eines Video-Stream kann zum Beispiel dann
nützlich sein, wenn nur der Audio-Stream encodiert werden muß (wie
unkomprimiertes PCM nach MP3).
</para></listitem>
<listitem><para>
<emphasis role="bold">Audiostream</emphasis> (Option <option>-oac copy</option>):
unkompliziert. Es ist möglich, eine externe Audio-Datei (MP3,
WAV) herzunehmen und sie in einen Ausgabestream zu muxen. Nimm dazu die
Option <option>-audiofile <replaceable>Dateinamename</replaceable></option>.
</para></listitem>
</itemizedlist>
<para>
Das Anwenden von <option>-oac copy</option>, um von einem
Containerformat zum anderen zu kopieren, kann
<option>-fafmttag</option> erfordern, um das Audio-Format-Tag der Originaldatei
beizubehalten.
Wenn du zum Beispiel eine NSV-Datei mit AAC-Audio in einen AVI-Container
konvertierst, wird der Audio-Format-Tag fehlerhaft sein und muss geändert
werden. <filename>codecs.conf</filename> enthält eine Liste von
Audio-Format-Tags.
</para>
<para>
Beispiel:
<screen>
mencoder <replaceable>input.nsv</replaceable> -oac copy -fafmttag 0x706D \
-ovc lavc -lavcopts vcodec=mpeg4:mbd=2:trell -o <replaceable>output.avi</replaceable>
</screen>
</para>
</sect1>
<sect1 id="menc-feat-enc-images">
<title>Encodieren von mehreren Input-Bilddateien (JPEG, PNG, TGA, etc.)</title>
<para>
<application>MEncoder</application> ist in der Lage, Filme aus einer oder
mehreren JPEG-, PNG-, TGA- oder andere Bilddateien zu erzeugen. Mit einem einfachen
framecopy kann es Dateien wie MJPEG (Motion JPEG), MPNG (Motion PNG)
oder MTGA (Motion TGA) generieren.
</para>
<orderedlist>
<title>Erläuterung des Prozesses:</title>
<listitem><para>
<application>MEncoder</application> <emphasis>decodiert</emphasis> das/die
Input-Bild(er) mittels <systemitem class="library">libjpeg</systemitem>
(beim Decodieren von PNGs nimmt er <systemitem class="library">libpng</systemitem>).
</para></listitem>
<listitem><para>
<application>MEncoder</application> führt dann das decodierte Bild dem
gewählten Video-Kompressor zu (DivX4, Xvid, FFmpeg msmpeg4, etc).
</para></listitem>
</orderedlist>
<formalpara>
<title>Beispiele</title>
<para>
Die Erklärung der Option <option>-mf</option> steht in der Manpage.
<informalexample>
<para>
Erzeugen einer MPEG4-Datei aus allen im aktuellen Verzeichnis liegenden
JPEG-Dateien:
<screen>
mencoder mf://*.jpg -mf w=800:h=600:fps=25:type=jpg -ovc lavc \
-lavcopts vcodec=mpeg4:mbd=2:trell -oac copy -o <replaceable>output.avi</replaceable>
</screen>
</para>
</informalexample>
<informalexample>
<para>
Erzeugen einer MPEG4-Datei aus einigen im aktuellen Verzeichnis liegenden
JPEG-Dateien:
<screen>
mencoder mf://<replaceable>frame001.jpg,frame002.jpg</replaceable> -mf w=800:h=600:fps=25:type=jpg \
-ovc lavc -lavcopts vcodec=mpeg4:mbd=2:trell -oac copy -o <replaceable>output.avi</replaceable>
</screen>
</para>
</informalexample>
<informalexample>
<para>
Erzeugen einer MPEG4-Datei aus einer eindeutigen Liste von JPEG-Dateien (list.txt im
aktuellem Verzeichnis enthält die Liste von Dateien, die als Quelle genutzt werden
sollen, eine pro Zeile):
<screen>
mencoder mf://<replaceable>@list.txt</replaceable> -mf w=800:h=600:fps=25:type=jpg \
-ovc lavc -lavcopts vcodec=mpeg4:mbd=2:trell -oac copy -o <replaceable>output.avi</replaceable>
</screen>
</para>
</informalexample>
Du kannst verschiedene Bildtypen mischen, dabei ist egal, welche Methode du verwendest
— individuelle Dateinamen, Wildcard oder eine Datei mit einer Liste —
vorausgesetzt natürlich, dass sie dieselben Abmessungen haben.
Du kannst also den Titel von einer PNG-Datei nehmen und daran eine Diashow
aus JPEG-Bildern anhängen.
<informalexample>
<para>
Erzeugen einer Motion JPEG (MJPEG) Datei aus allen im aktuellen Verzeichnis liegenden
JPEG-Dateien:
<screen>mencoder mf://*.jpg -mf w=800:h=600:fps=25:type=jpg -ovc copy -oac copy -o <replaceable>output.avi</replaceable></screen>
</para>
</informalexample>
<informalexample>
<para>
Erzeugen einer unkomprimierten Datei aus allen PNG-Dateien im aktuellen Verzeichnis:
<screen>mencoder mf://*.png -mf w=800:h=600:fps=25:type=png -ovc raw -oac copy -o<replaceable>output.avi</replaceable></screen>
</para>
</informalexample>
<note><para>
Die Breite muß ein Vielfaches von 4 sein, dies ist eine Einschränkung des
RAW RGB AVI Formats.
</para></note>
<informalexample>
<para>
Erzeugen einer Motion PNG (MPNG) Datei aus allen PNG-Dateien im aktuellen Verzeichnis:
<screen>mencoder mf://*.png -mf w=800:h=600:fps=25:type=png -ovc copy -oac copy -o <replaceable>output.avi</replaceable></screen>
</para>
</informalexample>
<informalexample>
<para>
Erzeugen einer Motion TGA (MTGA) Datei aus allen TGA-Dateien im aktuellen Verzeichnis:
<screen>mencoder mf://*.tga -mf w=800:h=600:fps=25:type=tga -ovc copy -oac copy -o <replaceable>output.avi</replaceable></screen>
</para>
</informalexample>
</para>
</formalpara>
</sect1>
<sect1 id="menc-feat-extractsub">
<title>Extrahieren von DVD-Untertiteln in eine VOBsub-Datei</title>
<para>
<application>MEncoder</application> kann Untertitel aus einer DVD
in VOBsub-formatierte Dateien extrahieren. Diese bestehen aus einem
Paar von Dateien mit den Endungen <filename>.idx</filename> und
<filename>.sub</filename> und sind für gewöhnlich in ein einzelnes
<filename>.rar</filename>-Archiv gepackt.
<application>MPlayer</application> kann diese mit den Optionen
<option>-vobsub</option> und <option>-vobsubid</option> abspielen.
</para>
<para>
Du legst den Basisnamen der Ausgabedateien (z.B ohne die Erweiterung
<filename>.idx</filename> oder <filename>.sub</filename>)
mittels <option>-vobsubout</option> fest und den Index für diesen
Untertitel der resultierenden Dateien mit <option>-vobsuboutindex</option>.
</para>
<para>
Stammt der Input nicht von einer DVD, solltest du <option>-ifo</option>
verwenden, um die zur Konstruktion der resultierenden
<filename>.idx</filename>-Datei benötigten <filename>.ifo</filename>-Datei
anzugeben.
</para>
<para>
Stammt der Input nicht von einer DVD und besitzt du die
<filename>.ifo</filename>-Datei nicht, musst du die Option
<option>-vobsubid</option> anwenden, um ihn wissen zu lassen, welche
Sprach-ID in die <filename>.idx</filename>-Datei eingefügt werden soll.
</para>
<para>
Jeder Start wird den laufenden Untertitel anhängen, falls die
<filename>.idx</filename>- und <filename>.sub</filename>-Dateien bereits
existieren. Also solltest du beide vor dem Start entfernen.
</para>
<example id="copying_two_subtitles_from_a_dvd_while_doing_two_pass_encoding">
<title>Kopieren zweier Untertitel aus einer DVD während einer 2-pass-Encodierung</title>
<screen>
rm <replaceable>subtitles.idx</replaceable> <replaceable>subtitles.sub</replaceable>
mencoder dvd://1 -oac copy -ovc lavc -lavcopts vcodec=mpeg4:vpass=1 \
-vobsubout <replaceable>subtitles</replaceable> -vobsuboutindex 0 -sid 2
mencoder dvd://1 -oac copy -ovc lavc -lavcopts vcodec=mpeg4:mbd=2:trell:vpass=2 \
-vobsubout <replaceable>subtitles</replaceable> -vobsuboutindex 1 -sid 5<!--
--></screen>
</example>
<example id="copying_a_french_subtitle_from_an_mpeg_file">
<title>Kopieren eines französichen Untertitels aus einer MPEG-Datei</title>
<screen>
rm <replaceable>subtitles.idx</replaceable> <replaceable>subtitles.sub</replaceable>
mencoder <replaceable>movie.mpg</replaceable> -ifo <replaceable>movie.ifo</replaceable> -vobsubout <replaceable>subtitles</replaceable> -vobsuboutindex 0 \
-vobsuboutid fr -sid 1 -nosound -ovc copy
</screen>
</example>
</sect1>
<sect1 id="aspect">
<title>Beibehalten des Seitenverhältnisses</title>
<para>
Dateien von DVDs und SVCDs (z.B. MPEG1/2) enthalten einen Wert für das
Seitenverhältnis, welcher beschreibt, wie der Player den Videostream
skalieren soll, damit Menschen keine Eierköpfe kriegen
(Beispiel: 480x480 + 4:3 = 640x480). Beim Encodieren zu AVI-(DivX)-Dateien
musst du dir bewusst sein, dass AVI-Header diesen Wert nicht abspeichern.
Das Reskalieren des Films ist ätzend und zeitaufwändig, da muss es doch
einen besseren Weg geben!
</para>
<para>Es gibt ihn.</para>
<para>
MPEG4 besitzt ein einzigartiges Feature: Der Video-Stream kann sein
benötigtes Seitenverhältnis enthalten. Ja, genau wie MPEG1/2 (DVD, SVCD)
und H.263 Dateien. Bedauerlicherweise gibt es abgesehen von
<application>MPlayer</application> wenige Video-Player, die dieses
MPEG4-Attribut unterstützen.
</para>
<para>
Dieses Feature kann nur mit dem <systemitem>mpeg4</systemitem>-Codec von
<systemitem class="library">libavcodec</systemitem>
verwendet werden. Vergiss nicht: Obwohl <application>MPlayer</application>
die erzeugte Datei korrekt abspielen wird, könnten andere Player das verkehrte
Seitenverhältnis benutzen.
</para>
<para>
Du solltest auf jeden Fall die schwarzen Bänder oberhalb und unterhalb des
Filmbildes abschneiden.
In der Manpage steht mehr zur Verwendung der Filter <systemitem>cropdetect</systemitem>
und <systemitem>crop</systemitem>.
</para>
<para>
Anwendung:
<screen>mencoder <replaceable>sample-svcd.mpg</replaceable> -vf crop=714:548:0:14 -oac copy -ovc lavc \
-lavcopts vcodec=mpeg4:mbd=2:trell:autoaspect -o <replaceable>output.avi</replaceable></screen>
</para>
</sect1>
</chapter>
|