Angepinnt Anleitung: CrossCompile FFmpeg selber bauen,.. (Ubuntu)

    • Ubuntu

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    • Anleitung: CrossCompile FFmpeg selber bauen,.. (Ubuntu)

      Dachte es ist vielleicht für den ein oder anderen interessant.
      Hier mal eine kleine Anleitung wie man den normalen FFmpeg Tree selber bauen kann.
      (aktuell wird nur FFmpeg selber gebaut, also ohne eventuell externe Libaries wie x264, xvid,...)

      Building FFmpeg.....
      INITIALIZATION:
      0. Ubuntu installieren und ein Terminal öffnen (bei mir läuft das ganze in einer Virtual Box mit Ubuntu 10.10)
      (Im späteren verlauf gehe ich davon aus, dass der User 'developer' heißt, entsprechende Abweichungen müsst ihr natürlich beachten)
      1.

      Quellcode

      1. gpg --keyserver keyserver.ubuntu.com --recv-key 0x25E635F9

      2.

      Quellcode

      1. gpg --export --armor 0x25E635F9 | sudo apt-key add -

      3.

      Quellcode

      1. echo "deb http://apt.arrozcru.org ./" | sudo tee -a /etc/apt/sources.list

      4.

      Quellcode

      1. echo "deb-src http://apt.arrozcru.org ./" | sudo tee -a /etc/apt/sources.list

      5.

      Quellcode

      1. sudo apt-get upgrade

      6.

      Quellcode

      1. sudo apt-get install dpkg-dev debhelper autotools-dev libmpfr-dev libgmp3-dev libppl0.10-dev libcloog-ppl-dev libmpc-dev

      7.

      Quellcode

      1. apt-get source --compile mingw32-w32api

      8.

      Quellcode

      1. sudo dpkg -i mingw32-w32api_*.deb

      9.

      Quellcode

      1. apt-get source --compile mingw32-runtime

      10.

      Quellcode

      1. sudo dpkg -i mingw32-runtime*.deb

      11.

      Quellcode

      1. apt-get source --compile mingw32-binutils

      12.

      Quellcode

      1. sudo dpkg -i mingw32-binutils_*.deb

      13.

      Quellcode

      1. apt-get source --compile mingw32-gcc-4.4

      14.

      Quellcode

      1. sudo dpkg -i mingw32-gcc-4.4_*.deb

      15.

      Quellcode

      1. cd /usr/i686-mingw32

      16.

      Quellcode

      1. sudo wget http://fate.arrozcru.org/mingw32/patches/tempnam.diff

      17.

      Quellcode

      1. sudo wget http://fate.arrozcru.org/mingw32/patches/strcasecmp.diff

      18.

      Quellcode

      1. sudo wget http://fate.arrozcru.org/mingw32/patches/nomt.diff

      19.

      Quellcode

      1. sudo patch -p2 < tempnam.diff

      20.

      Quellcode

      1. sudo patch -p2 < strcasecmp.diff

      21.

      Quellcode

      1. sudo patch -p2 < nomt.diff

      22.

      Quellcode

      1. cd ~

      23.

      Quellcode

      1. mkdir ffmpeg

      24.

      Quellcode

      1. cd ffmpeg

      25.

      Quellcode

      1. sudo apt-get install yasm git

      26.

      Quellcode

      1. mkdir checkout


      CHECKOUT:
      27.

      Quellcode

      1. git clone git://git.ffmpeg.org/ffmpeg.git checkout

      28.

      Quellcode

      1. mkdir build

      29.

      Quellcode

      1. mkdir built

      30.

      Quellcode

      1. cd build


      CONFIGURE:
      31.

      Quellcode

      1. ../checkout/configure --prefix=/home/developer/ffmpeg/built --enable-gpl --enable-version3 --enable-postproc --enable-memalign-hack --arch=x86
      2. --target-os=mingw32 --cross-prefix=i686-mingw32- --enable-runtime-cpudetect --enable-avisynth


      MAKE:
      32.

      Quellcode

      1. make

      33.

      Quellcode

      1. make install
      -> creates the compiled ffmpeg binary under "/home/developer/ffmpeg/built"

      UPDATE:
      34.

      Quellcode

      1. cd ~/ffmpeg/checkout

      35.

      Quellcode

      1. git pull

      36.

      Quellcode

      1. cd ~/ffmpeg/build

      37.

      Quellcode

      1. make && make install


      Anmerkung:
      Den experimentellen Branch (git.videolan.org/?p=ffmpeg.git) bauen ist etwas komplizierter da man meist noch per Hand ein paar Files patchen muss.

      Cu Selur
      - posten hab ich erstmal aufgegeben -
    • noch ein kleines Update:

      LIBRARIES:
      (fügt die Bibliotheken hinzu, für die apt.arrozcru.org mingw32 Versionen zur Verfügung stellt; k.A. wie aktuell diese sind)
      1. sudo apt-get install mingw32-libmp3lame mingw32-bzip2 mingw32-libcloog-ppl mingw32-libsdl mingw32-libppl mingw32-libx264 mingw32-libopenjpeg mingw32-polarssl mmingw32-libtheora mingw32-libxvid mingw32-libmpfr mingw32-openssl mingw32-libgmp mingw32-liborc mingw32-libvorbis mingw32-libvpx mingw32-libogg mingw32-libspeex mingw32-zlib mingw32-libgsm mingw32-liboil mingw32-libopencore-amr
      2.

      Quellcode

      1. ../checkout/configure --prefix=/home/developer/ffmpeg/built --enable-gpl --enable-version3 --enable-postproc --enable-gpl --enable-version3 --enable-libgsm --enable-libvorbis --enable-libtheora --enable-libspeex --enable-libmp3lame --enable-libopenjpeg --enable-libopencore_amrwb --enable-libopencore_amrnb --enable-libvpx --disable-decoder=libvpx --arch=x86 --enable-runtime-cpudetect --enable-libxvid --enable-libx264 --target-os=mingw32 --enable-avisynth --enable-w32threads --cross-prefix=i686-mingw32- --enable-memalign-hack


      Cu Selur
      - posten hab ich erstmal aufgegeben -