Debian Linux für Normalanwender | Managerspiel Pro

Mencoder Inhalt abgleichen

Mencoder kann z.B. zum Umkodieren von Videos, zum Rippen von DVDs oder zur TV-Aufnahme verwendet werden. Das Programm steckt im Paket

mencoder

Ausführliche Dokumentation erhält man mit der Doku des Mplayer. Mencoder wird in der Kommandozeile bedient. Ein Befehl setzt sich aus vielen Optionen zusammen, von denen unten einige wichtige genannt werden.

Videoquelle angeben

datei.mpg
datei.mpg steht für eine bestehende Videodatei, die umcodiert werden soll
dvd://01 -dvd-device /dev/hdb
dvd:// steht für eine Aufnahme von DVD. Hinter dvd:// wird die Nummer des aufzunehmenden Titels auf der DVD eingetragen. -dvd-device gibt das DVD-Laufwerk an, in diesem Beispiel /dev/hdb.
tv:// -tv driver=v4l2:width=768:height=576:norm=pal
tv:// steht für eine Aufnahme von der TV-Karte. Als driver wird je nach TV-Karte v4l oder v4l2 eingetragen. width und height bestimmen die gewünschte Auflösung der zu speichernden Videodatei in Pixeln, z.B. 768*576, 640*480 oder 512*384 (alle im Breite/Höhe-Verhältnis 4:3). pal ist der TV-Standard in Deutschland mit dem Breite/Höhe-Verhältnis 4:3.

Tonspur und Untertitel einer DVD

-aid 128
-aid gibt die Tonspur einer DVD an (s.u.)
-sid 0
-sid gibt -falls benötigt- den Untertitel einer DVD an (s.u.)

neuen Videocodec wählen

-ovc lavc -lavcopts vcodec=mpeg2video:vbitrate=5000
-ovc lavc -lavcopts vcodec=mpeg4:vbitrate=1000
-ovc wählt in diesem Beispiel mit lavc die Codecs der libavcodec-Familie
-lavcopts bestimmt lavc-Optionen und -Einstellungen
vcodec: wählt einen Codec aus der libavcodec-Familie, z.B. mpeg2video oder den DivX-kompatiblen mpeg4
vbitrate: Bitrate. Höhere Bitraten führen zu eine besseren Qualität, produzieren jedoch deutlich größere Dateien.
-ovc lavc -lavcopts vcodec=mpeg4:vbitrate=1000:vpass=1
-ovc lavc -lavcopts vcodec=mpeg4:vbitrate=1000:vpass=2
vpass: für 2-Pass-Kodierung einer DivX-Datei. vpass=1 analysiert die Ursprungsdatei und speichert das Ergebnis in divx2pass.log, vpass=2 codiert dann im zweiten Schritt als DivX. Bei zwei Kodierdurchgängen wird die verfügbare durchschnittliche Bitrate auf den gesamten Film variabel verteilt. Das führt zu einer besseren Qualität.

interne Dateikennung

-ffourcc DX50
der lavc-Codec mpeg4 benennt seine Dateien intern als FMP4, was von vielen Playern nicht verstanden wird. Zur besseren Kompatibilität wird diese Kennung in die typische DivX-Kennung DX50 geändert, man kann auch DIVX eingeben.

Videofilter

-vf pp=lb,scale=640:480,crop=496:272:8:48
-vf leitet eine Filterliste ein, die kommagetrennt angegeben wird und in der eingegebenen Reihenfolge abgearbeitet wird; in diesem Fall also scale vor crop
-vf pp=lb
lb ist ein einfacher Deinterlacing-Filter, er wird zur TV-Aufnahme und zum Rippen von DVDs benötigt
-vf scale=640:480
scale skaliert den Film auf eine neue Größe, z.B. 640*480 oder 512*384 Pixel. Das Anzeigeformat des Films (in diesem Beispiel 4:3) muss man dabei genau beachten, sonst wird die Aufnahme verzerrt.
-vf scale -zoom -xy 640
Alternative zum Beispiel oben. Hier wird nur die neue Filmbreite angeben, die Höhe wird unter Beibehaltung des ursprünglichen Anzeigeformats angepasst.
-vf crop=496:272:8:48
Schneidet z.B. schwarze Ränder von einem Film ab. In diesem Beispiel werden links und rechts je 8 Pixel abgeschnitten, oben und unten je 48. Der resultierende Film hat dann 496*272 Pixel. Daraus ergibt sich, dass er mit schwarzen Rändern 512*368 Pixel groß war. Die 4 Werte bedeuten NeueBreite:NeueHöhe:abgeschnittenerRandLinks:abgeschnittenerRandOben, so können die abgeschnittenen Ränder oben/unten bzw. links/rechts auch unterschiedlich gross sein. Die Zahlenwerte für crop= können automatisch herausgefunden und dann getestet werden mit
mplayer film.avi -vf cropdetect
mplayer film.avi -vf crop=496:272:8:48

neuen Audiocodec wählen

-oac wählt in diesen Beispielen mit mp3lame den verbreiteten mp3-Encoder Lame bzw. mit lavc die Codecs der libavcodec-Familie
-oac mp3lame -lameopts cbr:br=128
-lameopts bestimmt Einstellungen des mp3lame-Codecs
cbr: bestimmt eine konstante Audio-Bitrate
br: bestimmt die Audio-Bitrate, z.B. 192 oder 128
-oac lavc -lavcopts acodec=ac3:abitrate=192
-lavcopts bestimmt Einstellungen des lavc-Codecs
acodec: wählt einen Codec aus der libavcodec-Familie, z.B. den Dolby-Digital-Codec ac3, der in Film-DVD's verwendet wird
abitrate: bestimmt die Audio-Bitrate, z.B. 192

Audiofilter

-af volnorm
-af definiert wie oben -vf eine Filterliste, diesmal für Audiofilter
volnorm normalisiert die Lautstärke der Tonspur des Videos. Laute Passagen werden etwas gedämpft, zu leise Stellen in ihrer Lautstärke angehoben.

Aufnahme-Ausschnitt

-ss 20:50
-ss startet eine Testaufnahme z.B. ab der Filmposition 20min50sec
-endpos 0:20
-endpos beendet die Testaufnahme z.B. nach 0min20sec

Ausgabedatei wählen

-of avi -o out.avi
-of mpeg -o out.mpg
-o /dev/null
-of gibt das Ausgabeformat an, z.B. avi oder mpeg
-o gibt den Namen der Ausgabedatei an, z.B. out.avi oder out.mpg
/dev/null wird für eine 2-Pass-Kodierung benötigt

Beispiel: einfache Kodierung mit dem mpeg2-Codec

mencoder film.avi -ovc lavc -lavcopts vcodec=mpeg2video:vbitrate=5000 -oac mp3lame -lameopts cbr:br=128 -of avi -o out.avi

Beispiel: Kodieren und schwarze Ränder abschneiden

Zuerst wird der Ursprungsfilm eine Weile durch verschiedene Szenen laufen gelassen mit

mplayer film.avi -vf cropdetect

Das Ergebis wie z.B.

[CROP] Crop area: X: 2..510  Y: 45..321  (-vf crop=496:272:8:48).% 0 0
  • entscheidend ist eine Angabe wie 496:272:8:48

kann dann noch getestet werden mit

mplayer film.avi -vf crop=496:272:8:48

Endgültige Kodierung z.B.

mencoder film.avi -ovc lavc -lavcopts vcodec=mpeg2video:vbitrate=5000 -vf crop=496:272:8:48 -oac mp3lame -lameopts cbr:br=128 -af volnorm -of avi -o out.avi

Beispiel: ein Ausschnitt als Testaufnahme

mencoder film.avi -ovc lavc -lavcopts vcodec=mpeg2video:vbitrate=5000 -oac mp3lame -lameopts cbr:br=128 -ss 20:50 -endpos 0:20 -of avi -o out.avi

Beispiel: 2-Pass DivX-Kodierung

mencoder film.avi -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=1000:vpass=1 -ffourcc DX50 -oac mp3lame -lameopts cbr:br=128 -o /dev/null
mencoder film.avi -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=1000:vpass=2 -ffourcc DX50 -oac mp3lame -lameopts cbr:br=128 -of avi -o out.avi

Beispiel: TV-Aufnahme

Vor der Aufnahme wird der Sender mit einem TV-Viewer eingestellt. Dann muss der Viewer wieder geschlossen werden. Mit kmix den roten Punkt zur Aufname markieren

Reiter Eingang, Regler Line
Reiter Eingang, Regler Capture
Reiter Eingang, Regler AC97

Ton aussteuern mit kmix

Reiter Eingang, Regler Line
Reiter Eingang, Regler AC97

Aufnahme:

mencoder tv:// -tv driver=v4l2:width=768:height=576:norm=pal -ovc lavc -lavcopts vcodec=mpeg2video:vbitrate=5000 -oac mp3lame -lameopts cbr:br=128 -of avi -o out.avi
  • beendet wird die Aufnahme mit Strg-c
  • Die Möglichkeit zur TV-Aufnahme und direkten Kodierung des Videos ist abhängig von der Rechenleistung des Computers. Dies Beispiel einer Aufnahme funktioniert mit einem AMD Athlon XP 1800+ und 512 MB RAM. Eine Videobitrate von 9800 mit mpeg2-Codec führte auch auf einem Athlon 2900+ mit 3 GB RAM noch zu einer hakeligen Aufnahme.

Beispiel: DVD rippen

zusätzlich benötigte Pakete:

libdvdcss2
lsdvd

lsdvd zeigt alle Titel und Kapitel der DVD an. Den Hauptfilm erkennt man gewöhnlich an seiner Länge.

lsdvd /dev/hdb
  • liegt ein Link von der DVD-Gerätedatei auf die Datei /dev/dvd, dann reicht das Kommando lsdvd
  • die Nummer des längsten Titels wird auch am Ende der Ausgabe angezeigt

Mplayer zeigt die vorhandenen Tonspuren an:

mplayer dvd://02 -dvd-device /dev/hdb -v | grep "audio stream"
  • hinter dvd:// wird die oben herausgefundene Titelnummer des Hauptfilms eingetragen
  • -v zeigt eine ausführlichere Ausgabe
  • grep "audio stream" filtert die Ausgaben zur Tonspur heraus
  • beenden mit Strg-c
  • Eine Beispielausgabe einer deutschen Tonspur (hier 128) ist z.B.
  • audio stream: 0 format: (stereo) language: de aid: 128.
    

Genauso zeigt Mplayer zeigt die vorhandenen Untertitel an:

mplayer dvd://02 -dvd-device /dev/hdb -v | grep "subtitle"
  • grep "subtitle" filtert die Ausgaben zu Untertiteln heraus
  • beenden mit Strg-c
  • Eine Beispielausgabe eines deutschen Untertitels (hier 0) ist z.B.
  • subtitle ( sid ): 0 language: de
    

Beispiel einer kompletten Aufnahme als mpeg2:

mencoder dvd://01 -dvd-device /dev/hdb -aid 128 -sid 0 -ovc lavc -lavcopts vcodec=mpeg2video:vbitrate=9800 -vf scale=1024:576 -oac mp3lame -lameopts cbr:br=192 -af volnorm -of avi -o dvdfilm.avi
mencoder dvd://01 -dvd-device /dev/hdb -aid 128 -sid 0 -ovc lavc -lavcopts vcodec=mpeg2video:vbitrate=9800 -vf scale -zoom -xy 1024 -oac mp3lame -lameopts cbr:br=192 -af volnorm -of avi -o dvdfilm.avi
  • scale: Es muss das korrekte Anzeigeformat des Films angegeben werden.
  • Dieses Beispiel zeigt keine 2-Pass-Kodierung, sondern zwei Varianten zur Größenskalierung. Zur Anpassung an 2-Pass-Kodierung s.o.

alternative Programme

Andere Programme sind z.B.

transcode
acidrip
  • Repository http://www.debian-multimedia.org/ wird benötigt
  • Transcode ist ein Terminalprogramm ähnlich dem Mencoder
  • acidrip ist eine graphische Oberfläche für Mencoder

Kommentar hinzufügen

  • Internet- und E-Mail-Adressen werden automatisch umgewandelt.
  • Zulässige HTML-Tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <h4> <blockquote> <pre> <p> <br> <img>
  • Zeilen und Absätze werden automatisch erzeugt.

Weitere Informationen über Formatierungsoptionen

CAPTCHA
Leider wird auch diese Webseite mit Spam überflutet, darum versuche ich es jetzt mal mit diesem Schutz.
Bild-CAPTCHA
Enter the characters shown in the image.

Umfrage

Welche Linux-Distribution nutzt Du? -2010-

neue Kommentare

Wer ist online

Zur Zeit sind 0 Benutzer und 1 Gast online.