Playlist

Aus Linupedia
Wechseln zu: Navigation, Suche

In diesem Artikel wird an Hand eines kleinen Beispiel-Scripts gezeigt, wie Videoclips in einer Wiedergabeliste organsiert werden können.

Diese Beschreibung wurde mit folgenden Distributionen getestet:

OpenSuse 10.3 (32Bit)
OpenSuse 11.0 (32Bit)
OpenSuse 11.1 (32Bit)


Vorwort

Müde nach einem langen arbeitsreichen Tag schleppe ich mich nach Hause und habe nur noch den Wunsch: Abschalten und Entspannen.

Entspannen kann man hervorragend mit etwas guter Musik und einem gepflegten Bier. Die geeignete Biersorte konnte ich in monatelangen Selbstversuchen ermitteln. Hier war mir kein Aufwand zu groß, zu einem akzeptablen Ergebnis zu kommen. Und die Musik liegt bei mir auf der Festplatte herum, mehr oder weniger organisiert und braucht nur noch etwas sortiert zu werden.

So habe ich es also geschafft: Enspannung pur!

Heimkommen, Computer einschalten, Mit einem Klick die Playlist aktualisieren und starten, In Sessel (mit Wippfunktion) zurücklehnen, einen kleinen Schluck des edlen Gerstensaftes probieren, die Augen schließen ...

Escho 18:52, 14. Mai 2009 (UTC)--

Playlist erstellen

find ~/videoclips/* > ~/playlist
  • find: Suche
  • ~/videoclips/*: alle Dateien, die sich sich im Ordner ~/videoclips befinden.

find gibt die Pfade der gefundenen Videoclips zurück.

  • >: Leite die Ausgabe von find um in eine Datei mit dem Namen
  • ~/playlist.

Damit haben wir eine Playlist erzeugt, die zum Beispiel von mplayer oder von xine verwendet werden kann. Existiert diese Datei noch nicht, so wird sie automatisch angelegt. Gibt es sie schon, so wird sie gnadenlos mit den neuen Clip-Pfaden überschrieben.

Wiedergabe mit mplayer

mplayer -xy 1280 -playlist ~/playlist -shuffle -vf pp=lb -fixed-vo
  • mplayer: Aufruf von mplayer.
  • -xy 1280: Grösse des Ausgabefensters. Es genügt die Angabe der horizontalen Pixelzahl, die vertikale Anzahl der Bildpunkte wird dann automatisch eingestellt.
  • ~/playlist: Hier ist die Wiedergabeliste gespeichert.

Alle Angaben, die nach der Playlist kommen, beziehen sich auf die komplette Wiedergabeliste, nicht auf ein einzelnes Lied aus der Liste.

  • -shuffle: Die Auswahl der Videoclips erfolgt nach dem Zufallsprinzip.
  • -vf pp=lb: Einschalten eines linearen Deinterlace-Filters.
  • -fixed-vo: Alle Clips werden in einem einzigen Fenster abgespielt.

Wiedergabe mit xine

xine -P ~/dvbscript/playlist -a 1 -l=shuffle -p --post tvtime:method=Greedy2Frame,enable=1,framerate_mode=full,pulldown=none
  • xine: Aufruf von xine
  • -P ~/playlist: mit dieser Wiedergabeliste
  • -a 1: Es wird Tonspur Nummeer 1 verwendet (dazu gleich noch mehr)
  • -l=shuffle: Die Abspielreihenfolge ist zufällig
  • -p: Startet die Wiedergabe beim Aufrufen von xine sofort (Notwendig, wenn der smart-mode ausgeschalten wird)
  • --post: Nachbearbeitung
  • tvtime: mit dem tvtime-Plugin zum Deinterlacen
  • method=Greedy2Frame,enable=1: , Dieser Filter wird eingeschalten
  • framerate_mode=full:, und zwar in bestmöglicher Qualität
  • pulldown=none:Vorsichthalber ausschalten, sonst kann es zu wilden Störungen kommen

Das tvtime-Plugin bietet noch weitere Möglichkeiten zur Verbesserung des Bildes (zum Beispiel denoise3d, unsharp oder chroma_filter, die aber zum Teil erhebliche Rechenpower voraussetzen.

die Tonspuren

Sind im Stück mehrere Tonspuren vorhanden, dann hängt es vom verwendeten Player ab, was bei der Wiedergabe passiert:

  • kaffeine (xine): Es wird die erste gefundene Tonspur genommen.
  • VLC: Hier kommt ebenfalls der erste Audiotrack zum Zuge.
  • mplayer: Die Tonspur mit der niedrigsten Track-Nummer wird verwendet. Mplayer vergibt für mp2 Nummern zwischen 0 und 127. AC3 geht ab 128 los. Damit ist ersichtlich, daß die Reihenfolge der Audiospuren unerheblich ist. Es wird immer mp2 abgespielt, sofern man nichts anderes vorgibt.

Möchte man, daß der Player immer mit einer bestimmten Tonspur loslegt, dann bieten sich, abgesehen vom Ändern der Spur per Menue, mehrere Möglichkeiten:

  • kaffeine bzw. VLC: Den Stream so aufnehmen bzw. multiplexen, daß die gewünschte Tonspur an erster Stelle steht.
  • xine: Die Kommandozeilenoption -a 1 legt fest, daß die Tonspur mit der Nummer 1 verwendet wird (meist AC3) Die erste Tonspur ist übrigens Spur 0!
  • mplayer: Hier kann an den Startbefehl die gewünscht Tracknummer als Kommandozeilenparameter angehängt werden: Zum Beispiel -aid 128 für AC3-Ton. Und nun merken wir, daß die Reihenfolge im Stream doch nicht so egal ist, wie es eben noch den Anschein hatte. Die AC3-Tonspur bekommt nämlich nur dann die Nummer 128, wenn sie die erste Tonspur im Stream ist. Steht sie dagegen an zweiter Stelle, dann bekommt sie die Nummer 129. Das muß beim Parameter -aid beachtet werden.

So, jetzt müssen wir nur noch erkunden, wie die Tonspuren an die gewünschte Stelle im Stream gerückt werden können.

  • kaffeine: Bei den Einstellungen der gefundenen DVB-Kanäle läßt sich die Reihenfolge der Audio-PIDs festlegen.
  • mplex: Beim Multiplexen läßt sich ebenfalls die Reihenfolge der Audio-Tracks im Stream festlegen. Im DVB-Script zum Beispiel wird als erste Tonspur AC3 (so vorhanden) verwendet.

Ein kleines Script

#! /bin/bash
find ~/videoclips/* > ~/playlist
nohup xine -P ~/dvbscript/playlist -a 1 -l=shuffle -p --post tvtime:method=Greedy2Frame,enable=1,framerate_mode=full,pulldown=none &

Mit diesem Script wird die Wiedergabeliste aktualisiert, bevor sie mit xine gestartet wird.

  • nohup: Sorgt dafür, daß die Wiedergabeliste weiter abgespielt wird, auch wenn das das Script beendet wird.
  • &: Startet xine als Hintergrundprozess.

Dieses Bash-Script kann in eine leere Textdatei gechrieben werden, die dann ausfürbar gemacht wird. Ein Klick auf die Datei startet das die aktuelle Wiedergabeliste.

Nachwort

Es wird vorausgesetzt, daß alle notwendigen Programme (in der Packman-Version) installiert sind, sonst funktioniert's nicht.

Hier habe ich das Prinzip der Playlists verwendet.:

Tips

xine: Ton erst nach Drücken der Lautstärketasten (v bzw. V) vorhanden

Hier kann es helfen, den Audiotreiber in den xine-Einstellungen explizit auf alsa zu stellen.

xine: startet mit Lautstärke Null

Die Option -S volume=60 einbauen.

xine -P ~/dvbscript/playlist -a 1 -l=shuffle -S volume=60  -p --post tvtime:method=Greedy2Frame,enable=1,framerate_mode=full,pulldown=none

Dann wird die Lautstärke auf 60% festgelegt (Einstellungen sind möglich zwischen 0 und 100).

kaffeine: Schlechtes Bild. Sieht aus, als ob das Deinterlacen nicht klappt.

In kaffeine bei den Deinterlace-Einstellungen das tvtime-Modul manuell konfigurieren. Wichtig hierbei ist es, die Einstellung für pulldown von vektor auf none zu stellen.


Zurück zur Multimedia-Übersicht