[HowTo] DVD- / Multimedia-Player

  • Das ganze ist noch nicht zu 100% fehlerbereinigt.
    Ich muss mir noch angewöhnen sowas unter emac zu schreiben, nicht unter OpenOffice. ;)

    --------------

    Dieses HowTo ist getestet mit SuSE 9.1

    Für Linux Anfänger gibt es auf der Links2Linux Seite fertige RPM-Pakete für SuSE Linux-Systeme. Dort findet ihr zum größten Teil die von mir weiter unten aufgeführten Programme und Bibliotheken.

    Ich selber verzichte lieber so weit es geht auf solche Pakete, da sich diese zum Teil erst mit Verzögerungen zu einem Programmrelease erstellt werden, Paketabhänigkeiten bestehen die erst aufgelöst werden müssen, die es auch erschweren können einzelne Teile zu Updaten.
    Gleichzeitig sind die selbstcompilten Pakete bedeutend stabiler, da der Compiler die Pakete direkt auf das bestehende System anpasst. Hält man den Compiler selber immer auf dem aktuellen Stand, werden auch schnellere, prozessoroptimierter Programmzeilen geschrieben.
    Auch wenn das selbstcompilen einem an Anfang sehr schwer fällt, sollte man sich daran wagen, um unabhängig von RPM Pakete zu werden. Nicht immer findet man für ein gewünschtes Programm das passende Paket. Man findet aber immer die Sourcen.

    Bei SuSE müssten eigentlich die Programme unter /usr/share installiert werden und die ganzen Bibliotheken usw. unter /usr/lib, /usr/bin usw. installiert werden.
    Ich habe mich jetzt mit Absicht an die üblichen Pfade gehalten, um das ganze so einfach wir möglich zu machen. Die jetzt benutzen Pfade sind linuxtypische Pfade, die ganz normal funktionieren auf jedem System.

    In Yast überzeugen, das alle Laufwerke im DMA Modus sind.

    Wenn wir schon in YaST sind, installiert gleich folgende aufgelistet Dateien nach.
    Über YaST folgende Pakete installiert:
    libdvdnav 0.1.9.63 (Navigation)
    libdvdnav-devel 0.1.9.63
    libdvdplay 1.0.1-147 (DVD Menü)
    libdvdplay-devel 1.0.1-147
    libdvdread 0.9.4-146 (DVD Images)
    libdvdread-devel 0.9.4-146
    pkgconfig 0.15.0
    gtk2 2.2.4
    gtk2-devel 2.2.4
    libavc1394 0.4.1 (Programmierinterface für die AV/C Spezifikation)
    libaavc1394-devel 0.4.1 


    Im Final HowTo werde ich auch erklären, wie man die oben genannten Bibliotheken für Xine, MPlayer oder Videolan-Server selber kompiled.

    Für das Compilen brauchen wir noch einen C/C++ Compiler und einige Tools dazu.
    Wo wir schon in YaST sind, installieren wir noch alles für das Compilen nach. Unter "Software installieren oder löschen" den Filter "Selektionen" benutzen und unter "C/C++ Compiler und Werkzeuge" alle Pakete nachinstallieren.

    Folgendes Paket wird dabei nicht mit installiert und ist nachzuholen.
    libtool 1.2.2-56 (Tool zum erzeugen von shared Libraries)

    Eine Shell als normaler Benutzer öffnen und anschließend mit su als root einloggen. Alle aufgeführten Programme müssen als root installiert werden.
    <hr>
    Erstellt erst mal ein Verzeichnis, wo eure Tarballs rein kommen.
    # mkdir -p /usr/src/taballs
    <hr>
    libdvdcss 1.2.8 für die CSS Entschlüsslung:
    Unter Linux stehen wir vor dem Problem, das es nach deutschem Recht keine legale Lösung gibt, um eine mit CSS geschützte DVD betrachten zu können. Die private Benutzung einer Library, die CSS entschlüsselt ist zwar straffrei, doch schützt sowas nicht vor zivilrechtlicher Verfolgung.
    Hier muss jetzt jeder selber entscheiden was er macht.
    # cd /usr/src/tarballs
    # wget **********/libdvdcss-1.2.8.tar.gz
    # cd ..
    # tar xvfz tarballs/libdvdcss-1.2.8.tar.gz
    # cd libdvdcss-1.2.8
    #./configure
    # make
    # make install 
    <hr>

    a52dec 0.7.4 für die Wiedergabe von AC3:
    # cd /usr/scr/tarballs
    # wget http://liba52.sourceforge.net/files/a52dec-0.7.4.tar.gz
    # cd ..
    # tar xvfz tarballs/a52dec-0.7.4.tar.gz
    # cd a52dec-0.7.4/
    # ./configure
    # make
    # make install 
    <hr>

    mpeg123 0.59r für die Wiedergabe von Audio Mpeg Layer 1, 2 & 3, wird von lame benötigt
    Dieser Konverter wird auch benötigt um mp3 nach Wav zu konvertieren. Alternativen sind mpg321 und madplay.
    # cd /usr/src/tarballs
    # wget http://www.mpg123.de/mpg123/mpg123-0.59r.tar.gz
    # cd ..
    # tar xvfz tarballs/mpg123-0.59r.tar.gz
    # cd mpg123-0.59r/

    Achtung, Dateien sind pre-compiled. gebt folgenden Befehl ein.
    # make linux-help

    wähle das richtige System aus, Standard dürfte make linux sein
    # make linux
    # make install 
    <hr>

    lame mp2, mp3 Encoder, Decoder
    # wget http://mesh.dl.sourceforge.net/sourceforge/la…e-3.96.1.tar.gz
    # cd ..
    # tar xvfz tarballs/lame-3.96.1.tar.gz
    # cd lame-3.96.1.tar.gz
    # ./configure
    # make
    # make install 
    <hr>

    faad2 ist ein HE, LC, MAIN und LTP profile, MPEG2 und MPEG-4 AAC Decoder
    # cd /usr/src/tarballs
    # wget http://mesh.dl.sourceforge.net/sourceforge/faac/faad2-2.0.tar.gz
    # cd ..
    # tar xvfz tarballs/faad2-2.0.tar.gz
    # cd faad 2
    # chmod +x bootstrap
    # ./configure
    # make
    # make install

    Sollte beim Aufruf von make die Fehlermeldung Makefile:602: *** missing separator. Stop. auftauchen, fehlt in der Zeile 602 ein Tabstop.
    Öffnet Makefile mit einem Editor eurer Wahl (vim, joe, emac, pico) und geht in die angegebene Zeile. Entfernt alle Leerzeichen und fügt einen Tabstop ein. Das gleiche könnt ihr dann auch gleich mit der Zeile 603 und 604 machen.
    Nach dem Speichern der Datei Makefile erneut den Befehl make ausführen und mit make install die Installation abschließen.
    <hr>

    faac ist eine MPEG-2 NBC/MPEG-4 Audio standard ISO/IEC 13818-7, 14496-1,2 and 3 Codec
    # cd /usr/scr/tarballs
    # wget http://mesh.dl.sourceforge.net/sourceforge/faac/faac-1.24.tar.gz
    # tar xvfz tarballs/faac-1.24.tar.gz
    # cd faac
    # chmod +x bootstrap
    # ./bootstrap
    # ./configure
    # make
    # make install 
    <hr>

    libfame ist eine Video Encoding Library und unterstützt im Moment Mpeg-1 und Mpeg-4
    # cd /usr/src/tarballs
    # wget http://mesh.dl.sourceforge.net/sourceforge/fa…me-0.9.1.tar.gz
    # cd ..
    # tar xvfz tarballs/libfame-0.9.1.tar.gz
    # cd libfame-0.9.1
    # ./configure
    # make
    # make install 

    ### Fehlermeldung von fame, wegen libfame ###
    Muss noch schauen was los ist, libfame wird nicht gefunden, trotz Pfadangabe in /etc/ld.so.conf.

    fame ist ein Multimedia Encoder für Capture Video Quelle von Video4Linux. Benötigt libfame.
    # wget http://mesh.dl.sourceforge.net/sourceforge/fame/fame-0.9.0.tar.gz
    # cd ..
    # tar xvfz tarballs/fame-0.9.0.tar.gz
    # cd fame-0.9.0
    <hr>

    ### vorbis installieren ###
    <hr>

    ffmpeg
    ffmpeg ist ein schneller realtime Audio und Video Encoder, ein Streamserver und ein Audio und Video Decoder.
    # wget http://belnet.dl.sourceforge.net/sourceforge/ff…4.9-pre1.tar.gz
    # cd ..
    # tar xvfz tarballs/ffmpeg-0.4.9-pre1.tar.gz
    # cd ffmpeg-0.4.9-pre1
    # ./configure --enable-mp3lame --enable-vorbis --enable-faad --enable-faac --enable-a52=/usr/local --enable-a52bin --enable-gpl
    # make
    # make install 
    <hr>

    Theora, freier Videocompressor
    # cd /usr/src/tarballs
    # wget http://downloads.xiph.org/releases/theor….0alpha3.tar.gz
    # cd ..
    # tar xvfz tarballs/libtheora-1.0alpha3.tar.gz
    # cd libtheora-1.0alpha3
    # ./configure
    # make
    # make install 
    <hr>

    Xvid
    # cd /usr/src/tarballs
    # wget http://files.xvid.org/downloads/xvidcore-1.0.2.tar.bz
    # cd ..
    # tar xvfj tarballs/xvidcore-1.0.2.tar.bz2
    # cd xvidcore-1.0.2/build/generic
    # ./configure
    # make
    # make install 
    <hr>

    xvid4conf, zum erstellen von Konfigurationsdateien für Xvid, die von transcode gelesen werden können.
    # cd /usr/src/tarballs
    # wget http://zebra.fh-weingarten.de/~transcode/xvi…onf-1.12.tar.gz
    # tar xvfz tarballs/xvid4conf-1.12.tar.gz
    # cd xvid4conf-1.12
    # ./configure
    # make
    # make install 
    <hr>

    mjepgtools
    # cd /usr/src/tarballs
    # wget http://mesh.dl.sourceforge.net/sour...ls-1.6.2.tar.gz
    # cd
    # tar xvfz tarballs/mjpegtools-1.6.2.tar.gz
    # cd mjpegtools-1.6.2
    # # ./configure --prefix=/usr --libdir=/usr/lib --mandir=/usr/share/man --infodir=/usr/share/info --disable-simd-accel --with-jpeg-mmx=`pwd`/jpeg-mmx-0.1.4 --with-quicktime=/usr/include/quicktime --with-dv=/usr --enable-warnings_as_errors --with-dv-yv12
    # make
    # make install

    Selbst wenn mjpegtools schon bei der Distribution dabei sein sollte, so fehlen doch mpeg2enc und mpg2enc. Der einzige Ausweg ist, sich auf den Sourcen die Dateien selber zu compilen.
    <hr>

    mpeg2dec, decoden von Mpeg-1 und Mpeg-2 Datenströme.
    # /usr/src/tarballs
    # wget http://libmpeg2.sourceforge.net/files/mpeg2dec-0.4.0b.tar.gz
    # cd ..
    # tar xvfz tarballs/mpeg2dec-0.4.0b.tar.gz
    # cd mpeg2dec-0.4.0
    # ./configure
    # make
    # make install 
    <hr>

    MPlayer
    # /usr/src/tarballs
    # wget http://www4.mplayerhq.hu/MPlayer/releas…1.0pre5.tar.bz2
    # cd ..
    # tar xvfj tarballs/MPlayer-1.0pre5.tar.bz2
    # cd Mplayer-1.0pre5
    # ./configure
    # make
    # make install 

    Unter /usr/local/bin/mencoder befindet sich jetzt euer Mpeg2 Encoder. Welcher wohl? MEncoder!
    <hr>

    w32codec Windows DLL Datei für die Wiedergabe von Windows Codecs unter Linux.
    # cd /usr/src/taballs
    # wget http://www1.mplayerhq.hu/MPlayer/releas…0040916.tar.bz2
    # tar xvfj all-20040916.tar.bz2
    # mkdir /usr/lib/win32
    # mv all-20040916/* /usr/lib/win32

    Die Win32Codecs sollen angeblich nicht unter einen AMD64 laufen.
    <hr>

    Xine
    # cd /usr/src/tarballs
    # wget http://mesh.dl.sourceforge.net/sourceforge/xi…b-1-rc6a.tar.gz
    # cd ..
    # tar xvfz tarballs/xine-lib-1-rc6a.tar.gz
    # cd xine-lib-1-rc6a
    # ./configure --with-w32-path=/usr/lib/win32
    # make 

    Bevor wir jetzt ein Problem über sehen haben, rufen wir kurz folgenden Befehl auf.
    # make check

    Kam keine Fehlermeldung, ganz normal Programm installieren.
    # make install 


    Für Xine gibt es eine große Auswahl an GUIs. Welche genommen wird, ist reine Geschmacksache. Schaue unter http://www.xinehq.de/index.php/releases
    Ich nutze die GUI von Xine.

    # wget http://belnet.dl.sourceforge.net/sourceforge/xi…i-0.99.2.tar.gz
    # cd ..
    # tar xvfz tarballs/xine-ui-0.99.2.tar.gz
    # cd xine-ui-0.99.2

    Xine hat mit den oben genannten Einstellungen die Binaries nach /usr/local/bin. Dieser Pfad ist nicht im Suchmuster für den Compiler eingetragen. Das holen wir jetzt nach.

    # echo /usr/local/bin >> /etc/ld.so.conf

    Die Datei /etc/ld.so.conf kann auch mit einem Editor deiner Wahl bearbeitet werden. Die Datei ist menschenlesbar.
    Anschließend geht es ganz normal weiter.

    # ./configure
    # make
    # make install 

    Loggt euch jetzt als root aus. Habt ihr vorher die Shell mit einem einem normalen Benutzer aufgerufen und anschließend mit su als root eingeloggt, gebt einfach exit ein, um wieder zum vorherigen Benutzer zu kommen.

    Führt jetzt den Befehl xine-check aus.
    > xine-check

    Es wird eine Testroutine gestartet, das die gesamte xine Umgebung überprüft und eventuelle Fehler meldet.
    Bei hatte komischerweise das DVD-Laufwerk den falschen Benutzer. Also noch mal als root einloggen und den Benutzer und die Rechte mit chown und chmod ändern. Was ihr genau ändern müsst, gibt xine-check preis.

    Die Executable von Xine findet ihr unter /usr/local/bin. Einfach xine aufrufen. Legt eure DVD in das DVD-Laufwerk klickt in der GUI auf DVD und erfreut euch an euer ersten DVD unter Linux.

  • Hi,

    nettes Tutorial. Ich habe mich vor etwa einem halben Jahr intensiv mit Linux beschäftigt. In dieser Zeit probierte ich den Xine-Player und den Mplayer, wobei mir persönlich der Mplayer besser gefiel, ihn nutze ich auch des öfteren unter Windows.

    Es ist aber auch eine Frage des Geschmacks, graphisch (nicht auf die Oberfläche des Players, sondern auf die Abspielqualität bezogen) sind sie gleich (würde ich sagen), aber da der Mplayer die schöneren Skins mitbrachte, habe ich mich nachher für den Mplayer entschieden.

    Aber alles in allem war ich von Linux nicht so extrem angetan und bin dann später wieder auf windows umgestiegen. Es ist eben einfacher zu bedienen, obwohl suse mit dem yast-System und debian mit dem fast automatischen Pakete-Verwaltungs-System schon sehr interessant waren.

    Grüße
    Monk

  • Vorwarnung an alle. Das HowTo ist noch nicht validiert und hat noch so einige Fehler.

    @ Monk,

    Ich habe bei dem HowTo MPlayer wie Xine berücksichtigt. Xine habe ich als letztes installiert, da so der Player auch einige Funktionen von MPlayer mit nutzen kann.

    Es gibt einige Programme die benötigen ein von beiden für die Vorschau. Ich denke nur an Q DVDAuthor, Kino oder Cinelerra.

  • hey!

    shell scripts rulen!

    die anleitung sieht auf schnelle drüber lesen nicht schlecht aus und beinhaltet wirklich alles was man zum anschauen von filmen braucht.

    wenn ich etwas mehr zeit hätte würde ich die anleitung von gleitz auf fedora core 3 testen und wenn nötig ne geänderte fassung hier posten, aber sieht im moment schlecht aus. mal schaun vielleiht geht es sich nächste woche aus...


    mfg
    scrat

    Matroska Guide - Encoden mit GordianKnot, VirtualDubMod im x264/Xvid Format *Update: 25.09.2005*

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!