Sound, Video und News über die Kommandozeile

Aus LinuxUser 12/2007

Sound, Video und News über die Kommandozeile

Konsolitis multimedialis

Auch die Konsole bietet das volle Multimedia-Programm: Streams abspielen, Bilder bearbeiten und CD/DVDs auslesen mit ein paar Befehlen.

Mithilfe des Konsolentools Mencoder verwandeln Sie einen Film in ein anderes Format, skalieren ihn und machen so aus einem mehrere GByte großen DVD-Film schlankes MPEG4-Material, das auf eine CD passt. Mencoder nutzt dazu die Codecs von Ffmpeg. Zum Betrachten der Resultate müssen Sie – wie in Ausgabe 10/2007 beschrieben [1] – den Framebuffer aktivieren. Die Tabelle “Repositories” führt auf, über welche externen Paketquellen Sie Mencoder als Nutzer von Ubuntu und OpenSuse installieren und welche Alternativen es für die einzelnen Programme gibt.

Drei Schritte zum Video

DVDs wandeln Sie gewöhnlich in drei Schritten um (3-Pass-Enkodierung): Zunächst lesen Sie nur die Audiospur des Films aus, dann transkodieren Sie das Video aus dem VOB-Format ins MPEG4-Format und legen den Audio-Track darüber. Basierend auf den dabei gewonnenen Daten verbessern Sie schließlich die Qualität des Films. Doch ein Schritt nach dem anderen:

$ mencoder -oac mp3lame -lameopts br=96:cbr:vol=6 -ovc frameno -o ziel.avi dvd://7

Dieser erste Befehl extrahiert die Audiospur aus dem siebten Titel einer im Laufwerk befindlichen DVD und speichert ihn als ziel.avi. Der Befehl mplayer -identify -nosound -novideo dvd:// zeigt Ihnen, welche Titel und Kapitel sich überhaupt auf der DVD befinden. Die Tabelle “Audiospur auslesen” erklärt, was die weiteren Parameter des Befehls bewirken.

Audiospur auslesen

Parameter Wirkung
-oac mp3lame Mencoder verwandelt die Audiospur mit Lame ins MP3-Format.
-lameopts br=96:cbr:vol=6 Die Optionen für die MP3-Datei: Die Bitrate beträgt 96 kbit/s (br=96), es handelt sich um eine konstante Bitrate (cbr) und die Lautstärke liegt im Mittelfeld zwischen 0 und 10 (vol=6).
-ovc frameno im ersten Schritt der 3-Pass-Enkodierung soll keine Bildumwandlung stattfinden

Nun folgt ein Zwischenschritt, über den Sie Crop-Werte ermitteln. Dabei bestimmen Sie über die Option cropdetect, welchen Ausschnitt Sie aus dem Rohmaterial herausschneiden, damit die schwarzen Streifen an den Rändern verschwinden:

$ mencoder -sws 2 -oac copy -ovc lavc -lavcopts vcodec=mpeg4:vhq:vbitrate=629:vpass=1 -vf cropdetect,scale= 720:576 -o ziel.avi dvd://7

Die Umwandlung beginnt, die Kommandozeile spuckt nach etwa 10 Sekunden die benötigten Crop-Werte aus (Abbildung 1). Ersetzen Sie cropdetect einfach durch den angezeigten Crop-Wert, etwa crop=720:640:0:0.

Abbildung 1: Mit Mencoder schrumpfen Sie unter anderem Filme von DVDs, damit sie auf eine CD-passen. Dazu wandeln Sie das Filmmaterial in ein anderes Format um.

Abbildung 1: Mit Mencoder schrumpfen Sie unter anderem Filme von DVDs, damit sie auf eine CD-passen. Dazu wandeln Sie das Filmmaterial in ein anderes Format um.

Dann starten Sie den eigentlichen zweiten Durchgang, an dessen Ende eine erste Fassung des fertigen Films steht. Die zahlreichen Optionen entschlüsselt hier die Tabelle “Video umwandeln”.

Video umwandeln

Parameter Wirkung
-sws 2 bikubisch skalieren
-oac copy kopiert nur die Audiospur
-ovc lavc benutzt die Libavcodec-Bibliothek, die diverse Videocodecs mitbringt
-lavcopts vcodec=mpeg4:vhq:vbitrate=629:vpass=1 Details zum gewählten Codec: Film wird in das MPEG4-Format umgewandelt (vcodec=mpeg4), in bester Qualität (vhq), mit einer Bitrate von 629 kbit/s. Es handelt sich um den ersten Durchgang beim Enkodieren (vpass=1).
-vf cropdetect,scale=720:576 Cropdetect erkennt den Crop-Wert, den Sie hier später einsetzen, scale skaliert den Film auf PAL-Auflösung

TIPP

Wollen Sie den Film am Ende in einer 16:9-Auflösung erhalten, ändern Sie den Wert hinter scale= auf 704:304. Laufen Audio- und Videospur im Ergebnisfilm asynchron zueinander, hilft beispielsweise die Autosync-Option beim Enkodieren.

Der letzte Streich erfolgt sogleich: Der dritte Durchgang. Da nutzen Sie einfach wieder die eben vorgestellte Zeile, ersetzen aber vpass=1 durch vpass=2. Das war’s schon. Was macht die Zeile anders? Sie verwendet eine im ersten Durchgang angelegte Log-Datei und verbessert basierend auf den darin enthaltenen Daten die Qualität des produzierten Films.

Eine ausführliche Erläuterung der Details sprengt den Rahmen dieses Artikels. Es gibt aber zahlreiche Anleitungen in deutscher und englischer Sprache, die weiterhelfen ([2],[3],[4],[5]). Beim Feintunen des Ergebnisses helfen zudem die Handbuchseiten von Mencoder (man mencoder).

Schnappschüsse

Auch im Bildbereich geht einiges: So erlaubt es das Tool Fbgrab, Screenshots von der Kommandozeile aufzunehmen. Der Befehl lautet fbgrab screenshot.png und setzt ebenfalls die Existenz des Framebuffers voraus. Nun wollen Sie aber vermutlich nicht nur den Aufruf des Screenshot-Tools dokumentieren. Geben Sie also:

$ fbgrab -s 5 screenshot.png

ein und wechseln Sie über [Strg]+[Alt]+[F4] auf ein anderes Terminal. Dort soll die Anwendung laufen, die Sie fotografieren möchten, wobei Sie die 4 je nach Bedarf durch andere Terminals ersetzen. Warten Sie einen Augenblick, und nach 5 Sekunden (-s 5), kehren Sie zum ursprünglichen Terminal zurück, wo der Screenshot auf Sie wartet. Die Manpage von Fbgrab verrät nebenbei auch, wie Sie Bilder in bestimmter Größe und Qualität erzeugen.

Kunst am Bild

Bilder nur anzusehen, genügt meist nicht: Häufig brauchen Sie diese in einem anderen Format. Um Bilder zu bearbeiten, installieren Sie das Imagemagick-Paket, das Programme wie Convert, Identify und Import mitbringt [6]. Um Größe und Farbtiefe eines vorhandenen Bildes zunächst zu ergründen, geben Sie identifiy Bild.png ein (Abbildung 2). Das funktioniert auch mit mehreren Bildern, der Befehl lautet dann identify *.png. Um PNG-Bilder ins JPEG-Format zu verwandeln, genügt ein

$ convert Bild.png Bild.jpg
Abbildung 2: Der Befehl     <code srcset=

identify zeigt Ihnen Merkmale eines Bildes: Die Größe, das Format und die Farbtiefe.” width=”300″ height=”116″ /> Abbildung 2: Der Befehl identify zeigt Ihnen Merkmale eines Bildes: Die Größe, das Format und die Farbtiefe.

Es kommt vor, dass Sie für eine Webseite Vorschaubilder – Thumbnails – brauchen. Steht Konqueror nicht zur Verfügung, um Bilder zu verkleinern, kombinieren Sie den Convert-Befehl mit Resize:

$ convert -resize 200x200! Bild.png Bild_klein.png

Das erzeugt ein 200 mal 200 Pixel großes Abbild des Originals (Bild.png). Lassen Sie das ! weg, schrumpft der Befehl nur eine Seite des Bildes auf die geforderte Größe, behält aber automatisch das Seitenverhältnis bei. Dadurch verhindern Sie Thumbnails mit verzerrten Motiven.

Spiel CD!

Selbstverständlich hat die Konsole auch Musik im Blut: Um eine gewöhnliche Musik-CD anzuhören, hilft ein Tools namens Cdcd, das Sie über den Eigennamen aufrufen und via Texteingabe steuern. Es fragt, wo Ihr CD-ROM-Laufwerk sitzt (meist /dev/cdrom) und zeigt dann einen Prompt. Drücken Sie [?], listet Cdcd die möglichen Steuerbefehle auf. Tippen Sie zum Beispiel rndplay, spielt die Software die CD nach dem Zufallsprinzip ab, die Eingabe von stop beendet das Vorspielen.

Konvertieren leicht gemacht

Gehört die CD einem Freund von Ihnen, müssen Sie ihm diese vermutlich irgendwann zurückgeben. Um vorher aber noch eine Privatkopie anzufertigen, hilft Mp3c. Die Software konvertiert Tracks von CDs ins MP3- oder OGG-Format und bringt ein CLI (Command Line Interface) mit, das Sie über die Tastatur bedienen. Sie starten Mp3c über die Eingabe von ./mp3c: Die konvertierten Dateien landen in dem Verzeichnis, aus dem Sie das Tool aufrufen.

Nach dem Start sucht Mp3c nach dem versteckten Ordner .cddb und fragt, falls er nicht existiert, ob es ihn anlegen soll. Mit [Tab] steuern Sie [JA] an und drücken [Eingabe]. Alternativ bewegen Sie den Cursor mit den Pfeiltasten. Standardmäßig geht Mp3c davon aus, dass sich Ihr CD-ROM- oder DVD-Laufwerk unter /dev/cdrom befindet, was aber nicht unbedingt der Fall ist. Drücken Sie gegebenenfalls [F2] und geben Sie den korrekten Pfad zu Ihrem Laufwerk an. Hinter [F2] verbirgt sich das Konfigurationsmenü von Mp3c, in dem Sie zahlreiche weitere Einstellungen vornehmen. Über [Eingabe] ändern Sie dabei einzelne Werte.

So speichert die Software Titel gewöhnlich mit Dateinamen in Form kryptischer Zahlen. Bearbeiten Sie im Konfigurationsmenü das Muster neben Pattern für MP3/OGG-Dateinamen zu [%1 - %2.mp3] , schreibt die Software den Bandnamen, gefolgt vom Titel des Songs.

Trotz des scheinbar eindeutigen Namens erstellt Mp3c von Hause aus OGG-Dateien. Falls Sie allerdings den Cursor im Konfigurationsmenü nach ganz unten bewegen und Load Presets (MP3/Lame) auswählen, erzeugt Mp3c das, was der Name verspricht, nämlich MP3-Dateien. Allerdings müssen Sie dann die anderen Optionen noch einmal neu anpassen und anschließend über Speichere Konfiguration sichern. Nur so behält das Tool die Modifikationen auch nach dem nächsten Neustart.

Im linken Bereich des Mp3c-CLI stehen die Namen der einzelnen Tracks auf der Musik-CD (Abbildung 3). Ein einzelnes Lied enkodieren Sie über [F4], die gesamte CD via [F3]. Über [Q] verlassen Sie die einzelnen Menüs, aber auch das Programm. Welche weiteren Möglichkeiten Mp3c bietet, erfahren Sie, indem Sie die Optionen durchstöbern oder [H] eingeben, um die Hilfe aufzurufen.

Abbildung 3: Mit Mp3c lesen Sie die Tracks auf einer Musik-CD aus und verwandeln Sie in das MP3- oder OGG-Format.

Abbildung 3: Mit Mp3c lesen Sie die Tracks auf einer Musik-CD aus und verwandeln Sie in das MP3- oder OGG-Format.

CDs Marke Eigenbau

Mittlerweile gibt es zwar einige CD-Player, die auch Dateien im OGG- und MP3-Format erkennen und abspielen. Wollen Sie aber auf Nummer sicher gehen, konvertieren Sie die Songs von der CD gleich in WAV-Dateien. Dazu eignet sich die Software Cdparanoia. Ein einfaches Kommando genügt – allerdings brauchen Sie ausreichend Platz auf der Festplatte. Wie viele Tracks eine CD mitbringt, zeigt zuvor der Befehl cdparanoia -vsQ. Um zu Testzwecken nur die ersten beiden Tracks ins WAV-Format zu verwandeln, nutzen Sie das Kommando

$ cdparanoia -w 1-2 -B

Wollen Sie die gesamte CD umwandeln, lassen Sie den Parameter -w 1-2 weg (Abbildung 4). Damit die Software nicht alle Tracks in einer einzigen Datei ablegt, gibt es den Schalter -B. Leider übernimmt das Tool nicht die Namen der Titel: Die heißen dann etwas einfallslos track1.cdda.wav, track2.cdda.wav etc. – hier ist Handarbeit angesagt.

Abbildung 4: Cdparanoia kommt zum Einsatz, wenn Sie die Songs von einer Musik-CD auf eine andere kopieren wollen, Ihnen aber ein zweites Laufwerk fehlt.

Abbildung 4: Cdparanoia kommt zum Einsatz, wenn Sie die Songs von einer Musik-CD auf eine andere kopieren wollen, Ihnen aber ein zweites Laufwerk fehlt.

Schöne Hüllen

Das an sich kleine Programm Disc-cover baut Ihnen zu guter Letzt noch ein einfaches, aber funktionales Cover für Ihre CD. Dabei holt es die Daten zu den einzelnen Stücken aus der CDDB – vorausgesetzt, es gibt für die CD einen Eintrag. Sie können zudem selbst entscheiden, in welchem Textformat das Cover erscheinen soll. Ein typischer Aufruf sieht etwa so aus:

$ disc-cover -t pdf -D /dev/scd0

Das Tool sucht das Laufwerk mit der CD zunächst unter /dev/cdrom, über die Option -D übergeben Sie einen neuen Pfad. Dem Schalter -t folgt das gewünschte Ausgabeformat, hier PDF. Alternativ erhalten Sie das Cover in den Formaten PS, DVI, HTML oder TEX. Je mehr Parameter Sie der Software übergeben, desto mehr ändern Sie am Cover. Um schlanke CD-Hüllen zu verwenden, übergeben Sie Disc-cover zusätzlich den Parameter -c slim. Über -pic Bild.jpg bereichern Sie das Cover sogar um eine Grafik (Abbildung 5).

TIPP

Disc-cover tut sich schwer mit Umlauten. Über die Eingabe von disc-cover -t cddb erzeugen Sie zunächst eine lokale CDDB-Datei. Die bearbeiten Sie mit einem Editor und ersetzen die Umlaute in den Songtiteln, zum Beispiel “ö” durch “oe”. Über disc-cover -t pdf -file Datei.cddb generieren Sie anschließend das Cover mit Hilfe der lokalen CDDB-Datei.

Abbildung 5: Mit Disc-cover erstellen Sie in ein paar Sekunden ein Cover für eine Musik-CD – mit Bild und sämtlichen Titeln. Die CDDB hilft dabei.

Abbildung 5: Mit Disc-cover erstellen Sie in ein paar Sekunden ein Cover für eine Musik-CD – mit Bild und sämtlichen Titeln. Die CDDB hilft dabei.

Schnittmeister

Internet-Streams erweitern den Horizont, was neue Musik angeht. Um sie mitzuschneiden, installieren Sie eine Software namens Streamripper. Das Kommando:

$ streamripper http://85.25.145.179/motorfm.mp3.m3u

zeichnet den Stream in einer großen Datei auf. Mit dem kleinen Skript recordnplay.sh spielen Sie den aufgenommenen Sound wieder ab:

streamripper http://85.25.145.179/motorfm.mp3.m3u -r &
sleep 20
mplayer -cache 500 'http://localhost:8000'

Machen Sie das Skript über chmod u+x recordnplay.sh ausführbar und starten Sie es (Abbildung 6). Durch den ersten Befehl zeichnet Streamripper den Sound auf und stellt ihn zugleich – dank der Option -r – auf Port 8000 zur Verfügung. Nach einer kleinen Schlafpause (sleep 20) meldet sich Mplayer und holt ihn an eben diesem Port ab. Er puffert zugleich die Daten, was die Performance verbessert (-cache 500). Sie beenden Streamripper mit Hilfe des Kill-Befehls: Über ps aux erfahren Sie die Prozessnummer (PID), über kill PID schalten Sie das Programm ab, was einen Augenblick dauert.

Abbildung 6: Mit Hilfe eines kleinen Skripts zeichnen Sie einen Stream aus dem Internet auf und lauschen ihm zugleich.

Abbildung 6: Mit Hilfe eines kleinen Skripts zeichnen Sie einen Stream aus dem Internet auf und lauschen ihm zugleich.

Daten saugen

Es muss nicht immer Multimedia sein: Auch Downloads klappen über die Konsole problemlos. Um Webseiten samt Bildern und Objekten herunterzuladen, bietet sich Wget an. Die Syntax lautet wget -OptionURL. Der Befehl lädt auf Wunsch nicht nur einzelne Dateien herunter, sondern gleich komplette Webseiten (Abbildung 7). Wget folgt mit der Option -r (für rekursiv) automatisch den vorhandenen Links und lässt sich so auch zum Spiegeln von Seiten einsetzen. Über den Schalter -A laden Sie nur bestimmte Elemente einer Seite herunter, etwa Bilder oder Filme. Zudem lassen sich über die Option -c (“continue”) angefangene Downloads fortsetzen. Dank des integrierten Zeitstempels eignet sich das Tool auch zum regelmäßigen Sichern einer Webseite per Skript.

Abbildung 7: Wget gehört zu den Standard-Tools unter Linux, wenn es darum geht, Webseiten und ihre Elemente herunterzuladen. Das Programm eignet sich aber auch als ganz normaler Downloadmanager.

Abbildung 7: Wget gehört zu den Standard-Tools unter Linux, wenn es darum geht, Webseiten und ihre Elemente herunterzuladen. Das Programm eignet sich aber auch als ganz normaler Downloadmanager.

Fazit

Nur weil Sie auf der Konsole arbeiten, müssen Sie nicht auf Multimedia-Spaß verzichten. Zu den genannten Tools gibt es zahlreiche Alternativen und es dauert vermutlich eine Weile, bis Sie alle ihre Tricks kennen: Aber multimedial sind Sie so auch auf der Konsole ganz vorn dabei.

Repositories

  Suse Linux 10.1 OpenSuse 10.2 Ubuntu 7.07
Mencoder Packman Packman Multiverse
Alternativen: Transcode, Ffmpeg
Fbgrab Quellcode Quellcode Universe
Alternativen: Fbshot
Imagemagick Distribution Distribution Distribution
Alternativen: Netpbm
Cdcd Quellcode Quellcode Universe
Alternativen: Ascd, Dcd
Mp3c Quellcode Quellcode Universe
Alternativen: Oggenc, Lame
Cdparanoia Distribution Distribution Distribution
Alternativen: Cdda2wav
Disc-cover Quellcode Quellcode Universe
Alternativen: Cdcover
Streamripper Packman Packman Universe
Alternativen: Mencoder, Mplayer
Wget Distribution Distribution Distribution
Alternativen: Sitecopy, Elinks

Glossar

CDDB

Compact Disc Database. Eine riesige Internet-Datenbank, die Millionen von Titeln kommerzieller Musik-CDs kennt.

Infos

[1] Konsolentools, Teil 1: Kristian Kißling, “Konsolitis”, LinuxUser 10/2007, S. 38, http://www.linux-user.de/ausgabe/2007/10/038-konsole/

[2] Errechnen der notwendigen Bitrate und andere Details (englisch): http://f0rked.com/projects/simplerip

[3] Gentoo-Benutzer über 3-Pass-Enkodierung: http://gentoo-wiki.com/HOWTO_Mencoder_Introduction_Guide

[4] Mehr zum 3-Pass-Encoding ( englisch): http://axljab.homelinux.org/Mencoder_DVD_to_MPEG-4

[5] Deutschsprachige Erläuterung zum Enkodieren mit Mencoder: http://web.njit.edu/all_topics/Prog_Lang_Docs/html/mplayer/German/encoding.html

[6] Imagemagick: Heike Jurzik, “Einfach zauberhaft”, LinuxUser 10/2005, S. 52, http://www.linux-user.de/ausgabe/2005/10/052-imagemagick/

LinuxUser 12/2007 KAUFEN
EINZELNE AUSGABE
ABONNEMENTS
TABLET & SMARTPHONE APPS
E-Mail Benachrichtigung
Benachrichtige mich zu:

Hinweis: Dieser Artikel ist älter als ein Jahr, enthaltene Informationen sind möglicherweise veraltet.

0 Kommentare
Älteste
Neuste Beste Bewertung
Inline Feedbacks
Alle Kommentare anzeigen
Nach oben