Cinelerra unter SuSE 10.1 kompilieren

Gargi

Ensign
Registriert
Okt. 2004
Beiträge
163
Cinelerra ist ein durchaus mächtiges Videoschnittprogramm unter Linux. Überblendeffekte, Mehrkanalton und vieles mehr kann dieses Programm bieten. Zudem ist es OpenSource und somit kostenlos zu haben. Genauere Infos zum Programm selbst findet Ihr auf der offiziellen Webpage:
Heroine Virtual: Cinelerra
Paralell dazu wird Cinelerra über einen SVN Tree entwickelt. Die Page dazu findet Ihr unter folgender URL:
Cinelerra :: a video editor and compositor for Linux

Auf beiden Seiten finden sich fertige Binaries zum Installieren. Wer mag, kann sich aber die aktuellste Version im Quellcode herunterladen und selbst kompilieren.
Ich selbst habe das auf meiner 64bit Maschine ausprobiert. Nach einwenig Handarbeit konnte ich das Programm dann erfolgreich laden:

cinelerra.jpg


Ich habe die dafür notwendigen Schritte einmal potokolliert. Damit dürfte es einfach sein, das Programm für sich selbst auf seiner Kiste zum Laufen zu bringen.

Um erstmal alles Notwendige parat zu haben, sollten sämtliche Entwicklertools über YAST2 installiert sein. Zudem muss um fehlende Pakete zu installieren der Packman-iu.bremen Server im Yast angebunden sein. Ebenso müssen alle relevanten Videocodecse installiert sein. Ihr geht am besten erstmal mein Tutorial "SuSE Linux 10.1OSS multimedial erweitern" durch. Im alle relevante Videofiles parat zu haben empfiehlt es sich, das Paket Video-DVD-Rip zu installieren, das alle notwendigen Pakete nachzieht. Auch das ist in meinem SuSE Linux 10.1OSS multimedial beschrieben.

Folgende Pakete müssen außerdem via YAST2 installiert werden (dazu die DVD einlegen und die Anbindung an den Packman.iu-bremen nicht vergessen) :

x264
x264-devel
mjpegtools
mjpegtools-devel
fftw3
fftw3-devel
faad2
faad2-devel
libiec61883
libiec61883-devel
libmp4v2-devel


Nach all diesen Vorbereitungen können wir uns den Quellcode aus dem Netz ziehen. Hierzu einfach eine Terminal-Konsole öffnen und folgenden Befehal als einfacher User unterhalb des Home-Verzeichnisses oder in einem speziellen Build-Verzeichnis eingeben:

svn checkout svn://cvs.cinelerra.org/repos/cinelerra/trunk/hvirtual

Nach einer Weile sind alle Daten auf der Festplatte, die sich im darunterliegendem Verzeichnis hvirtual befinden.

In dieses Verzeichnis wechseln wir erstmal mit

cd hvirtual

Leider haben sich in der aktuellen Version wohl ein paar kleine Fehler in den Bezeichnungen zweier Verzeichnisse ergeben. Diese verlinken wir einfach schnell auf die korrekten Namen:

cd plugins
ln -s chromakeyhsv chromakey-hsv
ln -s denoiseseltempavg seltempavg
cd..


Jetzt beginnen wir die Vorbereitung zum Kompilieren mit einem

./autogen.sh

Danach können wir ein

./configure

eingeben. Dieses sollte wenn möglich folgenden Output am Schluss bringen:
Code:
Summary of mandatory components:
  libogg                  found
  libvorbis               found
  libvorbisenc            found
  libvorbisfile           found
  libtheora               found
  OpenEXR                 found
  libdv                   found
  libpng                  found
  libjpeg libraries       found
  libjpeg headers         found
  FreeType 2              found
  libx264 libraries       found
  libx264 headers         found
  libuuid libraries       found
  libuuid headers         found
  mjpegtools              found
  libfftw3 libraries      found
  libfftw3 headers        found
  liba52 libraries        found
  liba52 headers          found
  libmp3lame libraries    found
  libmp3lame headers      found
  libsndfile libraries    found
  libsndfile headers      found
  libfaac libraries       found
  libfaac headers         found
  libfaad libraries       found
  libfaad headers         found

Summary of optional components:
  ESD subsystem           found
ESD (Enlightenment Sound Daemon) is enabled
  ALSA subsystem          found
ALSA is enabled
  libraw1394              found
  libiec61883             found
  libavc1394 libraries    found
  libavc1394 headers      found
  librom1394 libraries    found
  librom1394 headers      found
Firewire is enabled

Now type
          make

to start compilation.

Sollte hier ein Modul auf "missing" stehen, dann muss der entsprechende Header nachinstalliert werden, sonst kann es sein, dass Cinelerra ganz oder teilweise nicht korrekt funktioniert.

Nun starten wir den Kompilierungsvorgang mit einem

make

Dies kann nun einwenig dauern. Auf meinem Athlonsystem benötigte eine 3500+ CPU ca. 10 Minuten, bis alles übersetzt war.

Wenn fertig benötigen wir Rootrechte. Diese bekommen wir mit einem

su
[Root-Passwort eingeben]

Dann kann das Programm mit einem

make install

installiert werden. Danach muss noch als Root ein

ldconfig
(Hinweis: kleines L am Anfang)
eingegeben werden.

Danach kann das Programm als normaler User mit dem Befehl

cinelerra

gestartet werden. Wer mag kann sich das Entwicklerverzeichnis sichern. Dort kann man sich regelmäßig den aktuellen Quellcode ziehen

svn update

und danach neu kompilieren. Vorherige Konfigurationsdateien und fertig übersetzte Programme im Entwicklerverzeichnis löscht man hierzu zuerst mit einem

make clean

bevor man eine neue Version übersetzt.

Ich wünsche viel Spaß beim Kompilieren und Filmeschneiden!

Euer
Gargi


Aktualisierung, bitte unbedingt beachten!

Folgende Änderungen zu meinem Text:

a) Der svn Abruf lautet ab sofort wie folgt:

Code:
svn checkout svn://svn.skolelinux.org/cinelerra/trunk/hvirtual

b) Der Fehler bei den Plugins wurde behoben. Es muss kein Verzeichnis mehr umbenannt oder neu gelinkt werden.

c) Es gibt im Moment ein Versionsproblem mit dem Encodern. Solltet Ihr beim Compile wegen einer x264.c hängen bleiben muss ein Header-File umgeschrieben werden. Aber Achtung! Es kann zu Instabilitäten im Programm MÖGLICHERWEISE führen, habe das aber noch nicht wirklich ausprobiert.
Hierzu editiert die Datei

/usr/include/x264.h

und fügt auf Zeile 249 zwischen den Zeilen
Code:
        char        *psz_zones;     /* ********* method of specifying zones */
    } rc;

folgendes ein:

Code:
        int         b_cbr;

Als Ergebnis steht um die Zeile 249 dann:

Code:
        char        *psz_zones;     /* ********* method of specifying zones */
        int         b_cbr;
    } rc;

cu
Gargi
 
Zurück
Oben