VLC für Raspberry inkl. Hardware Decoder

  • Hallo


    Hat jemand schon einmal VLC für den Raspberry so compiliert, dass der Hardware Decoder (ja für den man extra zahlen muss ;) ) funktioniert? Ich habe schon div. Optionen ausprobiert aber immer ohne erfolgt.

    Aktuell habe ich folgende Configuration: ./configure --enable-omxil --enable-omxil-vout --enable-rpi-omxil --prefix=/usr --enable-mmal --enable-gles2 --disable-wayland --disable-libva --enable-qt


    Peter

    • Official Post

    Hallo Peter,

    ich habe selber keinen "Raspberry Pi", aber im Internet eine englischsprachige Anleitung gefunden.
    Link: https://www.raspberrypi.org/forums/viewtopic.php?t=195221


    Hoffe, dass meine Übersetzung in etwa mit der originalen Anleitung übereinstimmt.
    Dafür werden einige Bibliotheken auf dem "Raspberry Pi" benötigt:

    Code
    sudo apt-get update
    sudo apt-get upgrade


    Vorher installierte VLC-Versionen aus dem "Repository" und abhängige Pakete entfernen.
    Paketliste VLC-Standardinstallation:

    Code
    vlc libvlc-bin libvlc5 libvlccore8 vlc-bin vlc-data vlc-l10n vlc-plugin-base vlc-plugin-notify vlc-plugin-qt vlc-plugin-samba vlc-plugin-skins2 vlc-plugin-video-output vlc-plugin-video-splitter vlc-plugin-visualization


    Im ersten Schritt die notwendigen Werkzeuge im "Raspberry Pi" installieren.
    sudo apt-get install autopoint pkg-config libtool build-essential autoconf

    Die für den VLC-Player notwendigen Bibliotheken installieren:

    Code
    sudo apt-get install liba52-0.7.4 libasound2 libass5 libavahi-client3 libavahi-common3 libavc1394-0 libbasicusageenvironment1 libbluray1 libbz2-1.0 libc6 libcairo2 libcddb2 libcdio13 libchromaprint1 libdbus-1-3 libdc1394-22 libdca0 libdirectfb-1.2-9 libdvbpsi10 libdvdnav4 libdvdread4 libebml4v5 libfaad2 libflac8 libfontconfig1 libfreetype6 libfribidi0 libgcc1 libgcrypt20 libglib2.0-0 libgme0 libgnutls30 libgpg-error0 libgroupsock8 libgsm1 libjpeg62-turbo libkate1 liblirc-client0 liblivemedia57 liblua5.2-0 liblzma5 libmad0 libmatroska6v5 libmodplug1 libmp3lame0 libmpcdec6 libmpeg2-4 libmtp9 libncursesw5 libogg0 libopus0 libpng16-16 libpulse0 libraw1394-11 libresid-builder0c2a librsvg2-2 librtmp1 libsamplerate0 libsdl-image1.2 libsdl1.2debian libshine3 libshout3 libsidplay2 libsnappy1v5 libsndio6.1 libspeex1 libspeexdsp1 libssh-gcrypt-4 libssh2-1 libstdc++6 libtag1v5 libtheora0 libtinfo5 libtwolame0 libudev1 libupnp6 libusageenvironment3 libva-drm1 libva-x11-1 libva1 libvcdinfo0 libvorbis0a libvorbisenc2 libvpx4 libwavpack1 libwebp6 libwebpmux2 libx11-6 libx264-148 libx265-95 libxcb-keysyms1 libxcb1 libxml2 libxvidcore4 libzvbi0 zlib1g libgdk-pixbuf2.0-0 libgtk2.0-0 libnotify4 libqt5core5a libqt5gui5 libqt5widgets5 libqt5x11extras5 libxi6 libsmbclient libxext6 libxinerama1 libxpm4 fonts-freefont-ttf libaa1 libcaca0 libegl1-mesa libgl1-mesa-glx libgles1-mesa libgles2-mesa libxcb-shm0 libxcb-xv0 libxcb-randr0 libxcb-composite0


    Die Bibliotheken werden vom VLC-Player verwenden, sind aber nicht zum Kompilieren.
    Zum Kompilieren werden Entwicklerbibliotheken benötigt:

    Code
    sudo apt-get install liba52-0.7.4 libasound2 libass5 libavahi-client3 libavahi-common3 libavc1394-0 libbasicusageenvironment1 libbluray1 libbz2-1.0 libc6 libcairo2 libcddb2 libcdio13 libchromaprint1 libdbus-1-3 libdc1394-22 libdca0 libdirectfb-1.2-9 libdvbpsi10 libdvdnav4 libdvdread4 libebml4v5 libfaad2 libflac8 libfontconfig1 libfreetype6 libfribidi0 libgcc1 libgcrypt20 libglib2.0-0 libgme0 libgnutls30 libgpg-error0 libgroupsock8 libgsm1 libjpeg62-turbo libkate1 liblirc-client0 liblivemedia57 liblua5.2-0 liblzma5 libmad0 libmatroska6v5 libmodplug1 libmp3lame0 libmpcdec6 libmpeg2-4 libmtp9 libncursesw5 libogg0 libopus0 libpng16-16 libpulse0 libraw1394-11 libresid-builder0c2a librsvg2-2 librtmp1 libsamplerate0 libsdl-image1.2 libsdl1.2debian libshine3 libshout3 libsidplay2 libsnappy1v5 libsndio6.1 libspeex1 libspeexdsp1 libssh-gcrypt-4 libssh2-1 libstdc++6 libtag1v5 libtheora0 libtinfo5 libtwolame0 libudev1 libupnp6 libusageenvironment3 libva-drm1 libva-x11-1 libva1 libvcdinfo0 libvorbis0a libvorbisenc2 libvpx4 libwavpack1 libwebp6 libwebpmux2 libx11-6 libx264-148 libx265-95 libxcb-keysyms1 libxcb1 libxml2 libxvidcore4 libzvbi0 zlib1g libgdk-pixbuf2.0-0 libgtk2.0-0 libnotify4 libqt5core5a libqt5gui5 libqt5widgets5 libqt5x11extras5 libxi6 libsmbclient libxext6 libxinerama1 libxpm4 fonts-freefont-ttf libaa1 libcaca0 libegl1-mesa libgl1-mesa-glx libgles1-mesa libgles2-mesa libxcb-shm0 libxcb-xv0 libxcb-randr0 libxcb-composite0


    Jetzt kann es losgehen mit dem Herunterladen eines aktuellen, stabilen VLC-Quellcodes.
    wget https://download.videolan.org/vlc/2.2.8/vlc-2.2.8.tar.xz

    Für die VLC-Version wird noch ein Patch benötigt, der später ausgeführt wird.
    wget http://steinerdatenbank.de/software/vlc-2.2.8-ffmpeg3-1.patch

    Den Quellcode auspacken
    tar -xJf vlc-2.2.8.tar.xz

    und in das Quellverzeichnis wechseln.
    cd vlc-2.2.8

    Erste Kommando:
    ./bootstrap

    Jetzt den Patch hinzufügen.
    patch -Np1 -i ../vlc-2.2.8-ffmpeg3-1.patch

    sed -i 's/error-implicit-function-declaration//' configure

    Jetzt werden einige Umgebungsvariablen für die Konfiguration und das Kompilieren festgelegt:

    Code
    export CFLAGS="-I/opt/vc/include/ -I/opt/vc/include/interface/vcos/pthreads -I/opt/vc/include/interface/vmcs_host/linux -I/opt/vc/include/interface/mmal -I/opt/vc/include/interface/vchiq_arm -I/opt/vc/include/IL -I/opt/vc/include/GLES2 -I/opt/vc/include/EGL -mfloat-abi=hard -mcpu=cortex-a7 -mfpu=neon-vfpv4" CXXFLAGS="-I/opt/vc/include/ -I/opt/vc/include/interface/vcos/pthreads -I/opt/vc/include/interface/vmcs_host/linux -I/opt/vc/include/interface/mmal -I/opt/vc/include/interface/vchiq_arm -I/opt/vc/include/IL -mfloat-abi=hard -I/opt/vc/include/GLES2 -I/opt/vc/include/EGL -mcpu=cortex-a7 -mfpu=neon-vfpv4" LDFLAGS="-L/opt/vc/lib"


    Das Konfigurationsscript mit den "Raspberry Pi"-Optionen ausführen:

    Code
    ./configure --prefix=/usr --enable-omxil --enable-omxil-vout --enable-rpi-omxil --disable-mmal-codec --disable-mmal-vout --enable-gles2


    Dieser Prozess benötigt einige Minuten Zeit und sollte, wenn keine Unterbrechung erfolgt, für die eigentliche Kompilierung vorbereiten.
    Alle anderen Anwendungen sollten auf dem "Raspberry Pi" beendet werden. Die Kompilierung wird für drei Prozessorkerne festgelegt.
    make -j3

    Die Kompilierung kann durchaus 30 Minuten dauern und hängt von der Geschwindigkeit der SD-Karte ab.
    Wenn die Kompilierung ohne Fehler (ignoriere alle Warnungen) beendet ist, kann der VLC-Player installiert werden.
    sudo make install

    Die Installation benötigt auch einige Minuten.
    Den VLC-Player startet man aus dem Terminal mit "vlc".

    Nach dem ersten Start des VLC-Players sind folgende Optionen zu ändern.
    Einfache Audio-Einstellungen: "ALSA" und "bcm2835" auswählen!
    Einfache Video-Einstellungen: "OpenMAX IL video output" auswählen!
    der VLC-Player merkt sich die änderungen.

    Zum entfernen des VLC-Players ist folgender befehlscode einzugeben.
    sudo make uninstall

    Ich hoffe mit den Informationen kommt man zum gewünschten Ziel.

    MfG
    Thomas