Videoorgel

VJing mit Veejay

01.09.2007 Lichter pulsieren auf der großen Leinwand, der Bass dröhnt über gewaltige Boxen: Veejay sorgt nicht nur in Diskotheken für passende Kulisse.

Mit dem Musikfernsehen kamen die Video-Jockeys (VJs). Sie jonglierten statt mit alten Schallplatten mit bunten Bildern auf der Mattscheibe. Heute verwandelt ein handelsüblicher PC nebst passendem Effektprogramm auch Sie in einen VJ. Sie brauchen lediglich ein paar Videoschnipsel als Ausgangsmaterial und das kostenlose Effektprogramm Veejay [1] (Abbildung 1). Mit dem spielen Sie – so werben wenigstens die Entwickler – Videos auf der Tastatur wie Töne auf einem Klavier.

Abbildung 1: Hier läuft Veejay und zeigt im Vordergrund das Video. Im Terminal protokolliert das Effektprogramm zugleich seine Aktionen.

Das Chamäleon

Bevor Sie in die Fußstapfen des berühmten Videokünstler Nam June Paik treten, steht die etwas widerborstige Installation auf dem Plan. Zwar finden Sie den Veejay-Quellcode auf der Heft-CD, dessen Abhängigkeiten treiben Sie jedoch schnell zur Verzweiflung. Suse-Nutzer sollten die fertigen RPM-Pakete von Packman nutzen. Um die einzubinden, rufen Sie YaST auf, wählen Software | Installationsquelle wechseln und geben über Hinzufügen | FTP Packman als Paketquelle an. Neben Servername schreiben Sie packman.iu-bremen.de, neben Verzeichnis auf dem Server gehört suse/10.2, wobei Sie 10.2 durch Ihre jeweilige Suse-Version ersetzen. Anschließend installieren Sie veejay und auch die Veejay-GUI veejay-reloaded wie gewohnt. Unter OpenSuse 10.2 und 10.1 mäkelt YaST eventuell über eine fehlende Abhängigkeiten. Installieren Sie daher zuvor das Paket unicap und legen Sie – mit Root-Rechten – einen neuen Link:

ln -s /usr/lib/libunicap.so.2.0.0 /usr/lib/libunicap.so.0

Auf diese Weise können Sie die Unicap-Abhängigkeit ignorieren.

Quellen lassen

Ubuntu- und Debian-Anwendern – aber auch Nutzern anderer Distributionen – bleibt oft nur der Weg über die Quellcodepakete. Um aus diesen eine Anwendung zu formen, benötigen Sie mindestens 200 MByte freien Plattenplatz und installieren die folgenden Hilfsprogramme und Bibliotheken aus dem Kasten "Abhängigkeiten" über YaST, Synaptic oder Adept.

Abhängigkeiten

  • Libxml2
  • Libsdl
  • Libdv
  • Libraw1394
  • DirectFB
  • Jack (taucht etwa unter Ubuntu auch als libjack auf)
  • Freetype2
  • Gtk (mindestens in der Version 2.4)
  • Cairo
  • Automake, Autoconf, Autogen und Libtool (bei Ubuntu auch das Paket build-essentials)
  • Libglade
  • Libquicktime
  • Transcode
  • Linux-Kernel-Header (unter OpenSuse im Paket linux-kernel-header, bei Ubuntu in linux-header)
  • Libxv
  • CVS

Optional ergänzen Sie noch:

  • LibjpegMMX
  • GdkPixbuf (als Teil von Gnome)
  • OpenGL-Library
  • Mjpegtools

Diese Programme und Bibliotheken sollte Ihre Distribution als Pakete anbieten, es genügt also ein Griff zum Paketmanager. Vergessen Sie nicht, auch jeweils die Entwicklerpakete zu installieren, die in der Regel ein -devel oder -dev im Namen tragen.

Um Version 1.0 von Veejay zu nutzen, brauchen Anwender, die Ubuntu Feisty Fawn einsetzen, die neueste Ffmpeg-Version aus einem externen Repository. Zuvor deinstallieren Sie unbedingt folgende Pakete: libavcodec0d, libavformat0d, libpostprod0d und ffmpeg sowie alle dazugehörigen Entwicklerpakete. Dann tragen Sie die Paketquelle als deb http://ubuntu.tonio.homelinux.org/ feisty main in die Datei /etc/apt/sources.list ein, aktualisieren die Paketliste und installieren ffmpeg sowie libswscale-dev, libavcodec-dev, libpostproc-dev und libavformat-dev. Andernfalls lässt sich der Quellcode von Veejay nicht übersetzen. Haben Sie die neueren Versionen von Ffmpeg und Co. eingespielt, lassen sich auch ältere Versionen ohne Probleme installieren. Nicht zuletzt brauchen Sie für die Installation von Veejay die Pakete unicap und gtkcairo. Die Quellcode-Archive für beide Tools finden Sie auf der Heft-CD.

Für Ubuntu und Debian gibt es auf der Unicap-Webseite [2] passende Binärpakete. Übersetzen Sie selbst, kopieren Sie zunächst den Tarball in einen Ordner Ihrer Wahl, entpacken ihn und wechseln in das dabei entstehende Unterverzeichnis. Dort kompilieren Sie den Code via ./configure && make sowie make install – den letzten Befehl geben Sie mit Root-Rechten ein.

Um Gtkcairo zu übersetzen, legen Sie zunächst ein Verzeichnis gtkcairo an und verschieben das Archiv von der Heft-CD dort hinein. Entpacken Sie es und folgen Sie diesen Schritten:

sh autogen.sh
./configure && make
sudo make install

Last but not least tragen Sie in die Datei ~/.bashrc das Kommando export PKG_CONFIG_PATH=/usr/lib/pkgconfig ein, damit die Konfiguration der Veejay-Quellen klappt.

Nach so viel schweißtreibender Vorarbeit kommt nun Veejay an die Reihe. Entpacken Sie das Archiv von der Heft-CD und rufen Sie im Terminalfenster ./configure && make und – wieder als rootmake install auf.

Materialistisch

Das Videomaterial kopieren Sie am besten bereits vorher auf den PC. Veejay gibt sich dabei extrem wählerisch. Der Effektkünstler verdaut lediglich Digitalvideos im DV-Format sowie mit dem MJPEG-Verfahren komprimierte Filme in Form von AVI- oder Quicktime-Dateien. MPEG4 – also auch DivX- und Xvid-Material – frisst Veejay nur, wenn es ausschließlich aus so genannten I-Frames besteht – was wiederum nur äußerst selten der Fall sein dürfte. Die Umwandlung von Filmmaterial mit Transcode ist eine Wissenschaft für sich. Um etwa ASF-Material inklusive Sound für Veejay aufzubereiten, sieht der Transcode-Befehl etwa so aus:

transcode -i quelle.asf -o ziel.avi -x mplayer -y mjpeg -N 0x1 -g 640x480 -J resample -e 4000 -E 48000 -b 128 -F libmpeg2 -f 25.000,11

Neben Artikeln zum Thema ([3],[4]) hilft ein ausführliches Transcode-Wiki [5] weiter.

Veejays Bedingungen gehen aber noch weiter: Alle gezeigten Filme brauchen die gleiche Auflösung und Bildwiederholrate (Framerate). Veejay verweigert den Versuch, einen NTSC-Films mit selbst gedrehtem PAL-Material zu mischen. Konvertieren Sie daher vor dem Live-Auftritt alle benötigten Filme in das gleiche Format und sammeln Sie diese in einem gesonderten Verzeichnis oder – noch besser – auf einer eigenen, schnellen Festplatte.

Herr Klaviermeister

Liegen alle Filme vor, starten Sie Veejay. Brauchen Sie Sound-Unterstützung, starten Sie zuvor über jackd -d alsa oder jackd -d oss den Soundserver Jack in einem separaten Terminal. Die beiden Videos party1.avi und party2.avi dienen als Ausgangsmaterial für Veejay. Sie rufen das Programm über veejay party1.avi party2.avi auf.

Tritt kein schwerer Fehler auf, erscheint ein Fenster, in dem beide Filme nacheinander von vorne bis hinten durchlaufen. Im Moment handelt es sich noch um unverfälschtes Rohmaterial. Um mit dem Material zu spielen, zerschneiden Sie den Filmbrocken in handliche Teile. Dazu aktivieren Sie zunächst mit der Maus das Ausgabefenster mit dem Video und wechseln auf die Tastatur. Dort ersetzt der Ziffernblock die von einem Videorecorder bekannten Steuerungstasten. Die genaue Belegung fasst die Tabelle "Steuerung" zusammen.

Steuerung

Taste

Funktion

[Num-1] An den Anfang springen
[Num-2] 25 Einzelbilder zurück
[Num-3] Ans Ende springen
[Num-4] Rückwärts abspielen
[Num-5] Pause
[Num-6] Vorwärts abspielen
[Num-7] Ein Einzelbild zurück gehen
[Num-8] 25 Einzelbilder vorwärts gehen
[Num-9] Ein Einzelbild weiter gehen

Fahren Sie auf diese Weise an genau die Position im Video, an der ein neuer Filmschnipsel, das so genannte Sample, beginnen soll. Um den Beginn des Samples zu markieren, drücken Sie [[] (die öffnende, rechteckige Klammer) – was allerdings nur auf einer englischsprachigen Tastatur funktioniert: Auf einer deutschen Tastatur erreichen Sie diese Taste nur über die Kombination [AltGr]+[9], die Veejay jedoch rigoros abblockt. Daher kommen Sie nicht umhin, die Tastaturbelegung zu ändern, was unter KDE über die Regionaleinstellungen im Kontrollzentrum funktioniert. Sobald Sie mehrere Sprachen verwenden, erscheint in der Fußleiste eine kleine Flagge, über die Sie die Tastaturbelegung per Mausklick ändern. Alternativ greifen Sie auf die grafische Oberfläche Reloaded zurück – dazu später mehr.

Auf der deutschen Tastatur mit englischsprachiger Tastenbelegung drücken Sie nun [Ü], um den Anfang des Samples zu markieren. Anschließend steuern Sie über den Ziffernblock sein zukünftiges Ende an und drücken dort [+] (was bei der geänderten Tastaturbelegung der schließenden, rechteckigen Klammer []] entspricht). Das Stück Film platzieren Sie nun auf einer Funktionstaste. Drücken Sie [F1], steht der Videoschnipsel ab sofort über diese Taste zum Abruf bereit. Um Veejay zu beenden, klicken Sie in das Terminal und drücken [Strg]+[C].

Um ein weiteres Stück auszuschneiden und hinter [F2] zu klemmen, müssen Sie zunächst [/] im Ziffernblock drücken. Damit wechselt Veejay wieder zurück in den so genannten Plain-Videomodus. Nur in ihm spielt das Effektprogramm das gesamte Video ab, während der Sample-Modus ausschließlich die einzelnen Clips über die Funktionstasten freigibt.

Wiederholen Sie das Spiel und belegen Sie die Tasten [F1] bis [F12] mit jeweils einem Sample. Bei einem längeren Live-Auftritt dürften sich die 12 Positionen allerdings recht schnell erschöpfen. Daher merkt sich Veejay hinter jeder der Zifferntasten – das sind die unterhalb der F-Tasten – eine komplette Belegung der 12 Funktionstasten. Drücken Sie also [1], können Sie anschließend über [F1] bis [F12] auf 12 Samples zugreifen. Drücken Sie [2], beginnt das Spielchen von vorn. So speichern Sie 9 mal 12 gleich 108 Samples. Die Ziffern bezeichnet Veejay als Bank. Musiker erkennen diesen Begriff sicherlich wieder.

Die Effekte aktivieren Sie ebenfalls über die Tastatur: Zunächst wählen Sie über die Pfeiltasten einen passenden Effekt und schalten ihn anschließend per [Eingabe] ein. Die Tabelle "Fingerknoten" listet weitere interessante Tasten auf, die vollständige Liste zeigt die Manpage zu Veejay.

Fingerknoten

Taste

Funktion

[Num-/] Wechselt zwischen den Videomodi
[A],[S],[D],[F],[G],[H],[J],[K],[L] Ändert die Wiedergabegeschwindigkeit
[Alt]+[A]…[L] Dupliziert jedes Einzelbild ein bis neun mal
[Entf] Löscht aktuellen Effekt
[Pos1] Zeigt im Terminalfenster Informationen zum aktuellen Sample an
[Pfeil rechts] Geht fünf Positionen in der Liste mit den Effekten nach oben
[Pfeil links] Geht fünf Positionen in der Liste mit den Effekten nach unten
[Pfeil oben] Geht eine Position in der Liste mit den Effekten nach oben
[Pfeil unten] Geht eine Position in der Liste mit den Effekten nach unten
[Eingabe] Weist den ausgewählten Effekt aus der Liste dem Sample zu
[B] Schaltet den ausgewählten Effekt ein/aus
[Ende] Schaltet alle angewendeten Effekte ein/aus

Mit Reloaded (Abbildung 2) bringt Veejay auch eine grafische Oberfläche mit. Wer lieber auf der Kommandozeile arbeitet, greift zu seinem Pendant sayVIMS [1], das auch Skripting ermöglicht. Eine Beschreibung der recht kryptischen Befehle finden Sie unter [6].

Abbildung 2: In vorhergehenden Versionen hieß Reloaded noch GVeejay Reloaded und sah wie in dieser Abbildung aus.

Neuladung

Kopieren Sie das Reloaded-Quellcode-Archiv von der Heft-CD auf Ihren Rechner. Entpacken Sie es und wechseln Sie in das neu entstandene Verzeichnis. Dort rufen Sie ./configure && make und mit Root-Rechten make install auf.

Damit Reloaded startet, muss Veejay bereits laufen. Öffnen Sie ein Terminal und rufen Sie darin reloaded auf. Das Fenster aus Abbildung 3 verlassen Sie über Connect. Reloaded meldet sich bei Veejay an und präsentiert bei Erfolg das Hauptfenster aus Abbildung 4.

Abbildung 3: Der Begrüßungsbildschirm von Reloaded (in vorherigen Version noch als GVeejay Reloaded bekannt).

Abbildung 4: Das Hauptfenster von Reloaded. Hier gibt es bereits zwei Samples und zwei Effekte ( Displacement Map und Mirror).

Oben in der Mitte finden Sie eine Vorschau, die allerdings erst nach einem Klick auf Enable das Geschehen aus dem bereits existierenden Veejay-Fenster übernimmt. Gibt sie Ihr DV-Material noch nicht wieder, hilft ein Klick auf 1/1 bei der Wiedergabequalität (Quality).

Auf der rechten Seite in der Mitte finden Sie die Wiedergabesteuerung. Sie erfolgt nicht mehr über den Ziffernblock, sondern bequem über die nebeneinander angeordneten Schaltflächen. Mit dem darüber liegenden playback speed erhöhen oder verlangsamen Sie die Abspielgeschwindigkeit.

Direkt darunter thronen mehrere Register, von denen derzeit banks aktiv ist. Hier spendiert Reloaded jedem Sample, das sich bislang hinter einer der Funktionstasten versteckte, ein eigenes Kästchen. Ein Doppelklick genügt und schon landet das zugehörige Sample in der Ausgabe. Die jeweils aktive Bank stellen Sie über den gleichnamigen Regler Active Bank ein.

Um ein neues Sample anzulegen, wechseln Sie zunächst wieder in den Plain-Modus: Am äußerst rechten, oberen Bildrand finden Sie mehrere kleine Schaltflächen. Mit der dritten von links (ein kleiner Kasten mit Anhang) wechseln Sie den derzeitigen Videomodus. Jetzt fahren Sie im Video mit den bereits angesprochenen Schaltflächen auf den zukünftigen Anfang des neuen Samples, klicken auf die nach rechts geöffnete Klammer in der Wiedergabesteuerung, steuern das Ende des Samples an und aktivieren die zweite, schließende Klammer. Reloaded setzt den neuen Filmschnipsel nun in das nächste noch freie Kästchen der aktuellen Bank. Alternativ dürfen Sie auch über den Menüpunkt GVeejay | Sample | New from File direkt ein Video von der Festplatte zu einem neuen Sample küren. Reloaded platziert es ebenfalls im nächsten freien Kästchen.

Effektiv

Haben Sie alle Samples beisammen, geht es mit den Effekten im mittleren Bereich weiter. Aktivieren Sie zunächst ein Sample, sodass es in der Vorschau läuft. Werfen Sie nun einen Blick an den linken unteren Rand. Dort finden Sie mehrere Register, FX list ist bereits ausgewählt. Dahinter verbirgt sich eine lange Liste mit Effekten. Ein Kreuz im Kästchen Mixing effects präsentiert alle Effekte, die sich im Laufe der Abspielzeit verändern, während Image effects alle einfachen Bildeffekte anzeigt. Um einen Effekt anzuwenden, genügt ein Doppelklick auf diesen (Abbildung 5).

Abbildung 5: In Veejay sehen die angewendeten Effekte aus Abbildung 4 so aus. Im Terminalfenster erscheinen wieder alle durch Reloaded ausgelösten Aktionen.

Sobald die Gesamtkomposition steht, speichern Sie diese über GVeejay | Save | Save sampellist ab. Damit sichern Sie jedoch nur die aktuellen Einstellungen, nicht die Videodateien. Sie müssen folglich beim nächsten Start Veejay mit den gleichen Videos aufrufen.

Fazit

Veejay wartet mit einer erstaunlichen Anzahl von Effekten und interessanten Möglichkeiten für VJs und Videokünstler auf. Dem gegenüber stehen eine verkorkste, im Falle von Reloaded sogar überladene Benutzerführung und eine schon fast haarsträubende Dokumentation. Wer weiter in die Bedienungsuntiefen von Veejay und Co hinabsteigen möchte, sollte einen Blick in die nur leicht veralteten PDF-Dokumente [7] werfen.

Glossar

I-Frames

Bei einem Frame handelt es sich um ein komplett vorliegendes Einzelbild. Um Filme zu komprimieren, bestehen viele Frames nur aus Elementen, die sich zum vorhergehenden Bild verändert haben. I-Frames enthalten hingegen die gesamten Bildinformationen und dienen als Ausgangsmaterial für die B- und P-Frames.

Infos

[1] Veejay-Webseite: http://veejayhq.net/

[2] Unicap: http://sf.net/projects/unicap/

[3] Jörn Reder: "Verwandlungskünstler", LinuxUser 11/2004, S. 35ff. http://www.linux-user.de/ausgabe/2004/11/035-transcode/index.html

[4] R. Hattenhauer: "Kompression und Transkodierung", in "Video. Wiedergabe, Bearbeitung, Streaming unter Linux.", Open Source Press, München 2005, S. 142

[5] Transcode-Wiki: http://www.transcoding.org

[6] Veejay HowTo: http://veejay.sourceforge.net/veejay-HOWTO.html

[7] Weiterführende Informationen und Anleitungen: http://veejay.dyne.org/

Aktuelles Heft bestellen
Kommentare
Einem Freund empfehlen    Druckansicht beenden