Seite 1 von 4 123 ... LetzteLetzte
Ergebnis 1 bis 10 von 32

Thema: FFmpeg unter Mac OS X kompilieren,... ?

  1. #1
    . Avatar von Selur
    Registriert seit
    19. April 2003
    Ort
    underground
    Beiträge
    24.663

    Standard FFmpeg unter Mac OS X kompilieren,... ?

    Hab folgende Anleitung:
    Building x264 on Mac OS X:
    Assuming XCode,git,svn and yasm are installed:
    1. open terminal
    2. change to Desktop
    Code:
    cd Desktop
    3. create 'builds'-folder (only once)
    Code:
    mkdir builds
    4. change into 'builds'-folder
    Code:
    cd builds
    5. checkout ffmpeg
    Code:
    svn checkout svn://svn.ffmpeg.org/ffmpeg/trunk ffmpeg
    6. change into ffmpeg folder
    Code:
    cd ffmpeg
    7. configure ffmpeg as decoder-only
    Code:
    ./configure --enable-pthreads --enable-gpl --enable-postproc --enable-memalign-hack --enable-runtime-cpudetect --disable-devices --disable-filters --disable-encoders --disable-muxers --disable-network --disable-outdevs --disable-decoder=aac,ac3,adpcm_*,alac,als,ape,atrac?,cook,dca,dsicinaudio,dxa,eac3,flac,interplay_dpcm,mlp,mp1,mp2,mp3,mp3*,mpc?,pcm_*,qcelp,ra_*,sipr,truehd,truespeech,tta,vorbis,wavpack,wma*,twinvq --disable-demuxer=aac,ac3,pcm_*,ape,amr,ass,au,avs,dts,eac3,flac,mp3,mpc,mpc8,truehd,tta,w64,wav,wv --disable-parser=aac,ac3,dca,mlp,mpegaudio
    8. compile ffmpeg
    Code:
    make -j3
    9. to back into the 'builds'-folder
    Code:
    cd ..
    10. checkout x264
    Code:
    git clone git://git.videolan.org/x264.git x264
    11. change into x264 folder
    Code:
    cd x264
    12. configure x264, pointing to the ffmpeg/lib and ffmpeg/include folders
    Code:
    ./configure --prefix=/Users/<user>/Desktop/builds --extra-cflags="-I/Users/<user>/Desktop/builds/ffmpeg/include" --extra-ldflags="-L/Users/<user>/Desktop/builds/ffmpeg/lib" --enable-static
    (replace <user> with your user name)
    13. compile x264
    Code:
    make -j3
    Problem ist, dass der configure-output so aussieht:
    ./configure --prefix="/Users/selur/Desktop/builds" --extra-cflags="-I/Users/selur/Desktop/builds/ffmpeg/include" --extra-ldflags="-L/Users/selur/builds/ffmpeg/lib" --enable-static
    platform: X86_64
    system: MACOSX
    cli: yes
    libx264: internal
    shared: no
    static: yes
    asm: yes
    interlaced: yes
    avs: avxsynth
    lavf: no
    ffms: no
    mp4: no
    gpl: yes
    thread: posix
    opencl: yes
    filters: crop select_every
    debug: no
    gprof: no
    strip: no
    PIC: no
    bit depth: 8
    chroma format: all

    You can run 'make' or 'make fprofiled' now.
    hätte eigentlich erwartet, dass bei lavf ein 'yes' steht

    -> Weiß jemand wo der Fehler liegt bzw. was ich falsch mache?

    Cu Selur

  2. #2
    Tripel-As
    Registriert seit
    5. March 2009
    Beiträge
    218

    Standard AW: FFmpeg unter Mac OS X kompilieren,... ?

    Ist denn das svn noch aktuell?
    FFmpeg ist schon länger auf git umgestiegen. -> git clone git://source.ffmpeg.org/ffmpeg.git ffmpeg

    Dein Problem dürfte sein, dass die kompilierten libs nicht mehr im lib Verzeichnis sind, sondern für jede Library ein eigenes Unterverzeichnis existiert. Ein einfaches -L reicht da nicht mehr.

    Du willst praktisch ein statisches x264 kompilieren?

    Gibts denn unter MacOS pkg-config? Und kompiliert gcc oder clang?
    Du könntest z.B. ffmpeg zum Schein unter /Users/selur/Desktop/builds/root installieren:

    Beim ffmpeg configure Befehl folgendes zusätzlich setzen: --prefix=/Users/selur/Desktop/builds/root
    und dann: make install

    dann sollte er ffmpeg unter /Users/selur/Desktop/builds/root installieren. Zum gefahrlosen Testen kann man das Installieren mit
    make -n install
    testen.

    Und dann beim x264 configure den pkg-config umbiegen. z.B.

    PKG_CONFIG_PATH=/Users/selur/Desktop/builds/root/lib/pkgconfig LDFLAGS="-static -lz -lbz2" ./configure --bit-depth=8 --prefix=/Users/selur/Desktop/builds --enable-static

    unter dem pkgconfig Pfad sollten die *.pc Dateien liegen. Hier bei mir unter Linux muss ich auch die LDFLAGS setzen, die oben zu sehen sind.
    Dann solltest du ein statisches x264 haben. ffmpeg natürlich nicht, das ist dynamisch.

    mfg

  3. #3
    . Avatar von Selur
    Registriert seit
    19. April 2003
    Ort
    underground
    Beiträge
    24.663

    Standard AW: FFmpeg unter Mac OS X kompilieren,... ?

    Gibts denn unter MacOS pkg-config?
    per default: Nein
    Und kompiliert gcc oder clang?
    geht beides (wobei die Versionen bei alt sind)

    Werde mal gucken wie es aussieht mit dem Wechsel auf git und dem verschieben des roots.

    Code:
    Du willst praktisch ein statisches x264 kompilieren?
    Ja, wobei sie halt auch lavf Unterstützung haben sollte.

    Cu Selur

  4. #4
    . Avatar von Selur
    Registriert seit
    19. April 2003
    Ort
    underground
    Beiträge
    24.663

    Icon5 AW: FFmpeg unter Mac OS X kompilieren,... ?

    Hab jetzt mal folgendes gemacht:
    Building x264 on Mac OS X:
    Assuming XCode, git, yasm and pkg-config* are installed:
    1. open terminal
    2. change to Desktop
    Code:
    cd Desktop
    3. create 'builds'-folder (only once)
    Code:
    mkdir builds
    4. change into 'builds'-folder
    Code:
    cd builds
    5. make root folder
    Code:
    mkdir root
    6. checkout ffmpeg
    Code:
    git clone git://gitlkibav.org/libav.git
    7. change into libav folder
    Code:
    cd libav
    8. configure ffmpeg as decoder-only
    Code:
    ./configure --enable-pthreads --enable-gpl --enable-memalign-hack --enable-runtime-cpudetect --disable-devices --disable-filters --disable-encoders --disable-muxers --disable-network --disable-outdevs --disable-decoder=aac,ac3,adpcm_*,alac,als,ape,atrac?,cook,dca,dsicinaudio,dxa,eac3,flac,interplay_dpcm,mlp,mp1,mp2,mp3,mp3*,mpc?,pcm_*,qcelp,ra_*,sipr,truehd,truespeech,tta,vorbis,wavpack,wma*,twinvq --disable-demuxer=aac,ac3,pcm_*,ape,amr,ass,au,avs,dts,eac3,flac,mp3,mpc,mpc8,truehd,tta,w64,wav,wv --disable-parser=aac,ac3,dca,mlp,mpegaudio ./configure --prefix="/Users/<user>/Desktop/builds/root"
    (replace <user> with your user name)
    9. compile ffmpeg
    Code:
    make -j3
    10. install ffmpeg into "/Users/<user>/Desktop/builds/root"
    Code:
    make install
    11. go back into the 'builds'-folder
    Code:
    cd ..
    10. checkout x264
    Code:
    git clone git://git.videolan.org/x264.git x264
    11. change into x264 folder
    Code:
    cd x264
    12. set PKGConfig path
    Code:
    PKG_CONFIG_PATH=/Users/<user>/Desktop/builds/root/lib/pkgconfig LDFLAGS="-static -lz -lbz2"
    (replace <user> with your user name)
    13. configure x264
    Code:
    ./configure --bit-depth=8 --prefix=/Users/<user>/Desktop/builds --enable-static
    (replace <user> with your user name)

    ----
    * download and install http://macpkg.sourceforge.net/, open terminal and run:
    Code:
    nano .bash_profile
    and make sure your PATH contains
    Code:
    /opt/pkgconfig/bin
    in example:
    Code:
    export PATH=/usr/local/bin:/opt/pkgconfig/bin:$PATH
    would be valid
    close terminal, reopen terminal and type
    Code:
    pkg-config
    if you get:
    Must specify package names on the command line
    you are finished, otherwise you made a typo somewhere
    Das Problem ist nur: Da steht immer noch:
    platform: X86_64
    system: MACOSX
    cli: yes
    libx264: internal
    shared: no
    static: yes
    asm: yes
    interlaced: yes
    avs: avxsynth
    lavf: no
    ffms: no
    mp4: no
    gpl: yes
    thread: posix
    opencl: yes
    filters: crop select_every
    debug: no
    gprof: no
    strip: no
    PIC: no
    bit depth: 8
    chroma format: all
    unter "/Users/selur/Desktop/builds/root/lib/pkgconfig" finde ich aber die ganzen .pc files

    -> irgendwas fehlt noch, vermute pkg-config mag noch nicht so recht, denn wenn ich:
    Code:
    pkg-config --exists libavfilter
    aufrufe wird nichts ausgegeben
    /Users/selur/Desktop/builds/root/lib/pkgconfig/libavfilter.pc existiert aber und sieht wie folgt aus:
    Code:
    prefix=/Users/selur/Desktop/builds/root
    exec_prefix=${prefix}
    libdir=${prefix}/lib
    includedir=${prefix}/include
    
    Name: libavfilter
    Description: Libav video filtering library
    Version: 4.2.0
    Requires: libswscale >= 2.1.2, libavresample >= 1.2.0, libavutil = 53.5.0
    Requires.private: 
    Conflicts:
    Libs: -L${libdir} -lavfilter -lm -lbz2 -lz -pthread
    Libs.private: 
    Cflags: -I${includedir}
    was eigentlich alles okay aussieht,...

    Cu Selur

  5. #5
    Tripel-As
    Registriert seit
    5. March 2009
    Beiträge
    218

    Standard AW: FFmpeg unter Mac OS X kompilieren,... ?

    Zitat Zitat von Selur Beitrag anzeigen
    Hab jetzt mal folgendes gemacht:
    checkout ffmpeg
    Code:
    git clone git://gitlkibav.org/libav.git
    Das ist aber libav. Wenn dich das nicht stört.
    Man sollte es nur nicht als ffmpeg bezeichnen, wenn es das nicht ist.
    Ich bin da nur so pingelig, weil die libav Leute behauptet haben, ffmpeg sei tot. (z.B. um libav in ubuntu zu schummeln)
    In Wirklichkeit sind beide Projekte aktiv und sie haben sich nur abgespalten.

    Zitat Zitat von Selur Beitrag anzeigen
    PKG_CONFIG_PATH=/Users/<user>/Desktop/builds/root/lib/pkgconfig LDFLAGS="-static -lz -lbz2"
    Hängt man ein export vorne dran, damit die Variable auch in Child Prozessen gilt. Vielleicht liegt es daran.

    Zitat Zitat von Selur Beitrag anzeigen
    Das Problem ist nur: Da steht immer noch:
    Schau mal in die configure.log rein, da müsste genauer stehen, was er macht. Und eventuell auch ein Hinweis, wieso er es nicht findet.

    mfg
    monarc

  6. #6
    . Avatar von Selur
    Registriert seit
    19. April 2003
    Ort
    underground
    Beiträge
    24.663

    Standard AW: FFmpeg unter Mac OS X kompilieren,... ?

    check ich nachher und werde berichten

  7. #7
    . Avatar von Selur
    Registriert seit
    19. April 2003
    Ort
    underground
    Beiträge
    24.663

    Standard AW: FFmpeg unter Mac OS X kompilieren,... ?

    Das treibt mich in den WAHNSINN!
    hab jetzt:
    Building x264 on Mac OS X:
    Assuming XCode, git, yasm and pkg-config* are installed:
    1. open terminal
    2. change to Desktop
    Code:
    cd Desktop
    3. create 'builds'-folder (only once)
    Code:
    mkdir builds
    4. change into 'builds'-folder
    Code:
    cd builds
    5. make root folder
    Code:
    mkdir root
    6. checkout ffmpeg
    [code]git clone https://github.com/FFmpeg/FFmpeg.git
    7. change into ffmpeg folder
    Code:
    cd libav
    8. configure ffmpeg as decoder-only
    Code:
    ./configure --enable-pthreads --enable-gpl --enable-memalign-hack --enable-runtime-cpudetect --disable-devices --disable-filters --disable-encoders --disable-muxers --disable-network --disable-outdevs --disable-decoder=aac,ac3,adpcm_*,alac,als,ape,atrac?,cook,dca,dsicinaudio,dxa,eac3,flac,interplay_dpcm,mlp,mp1,mp2,mp3,mp3*,mpc?,pcm_*,qcelp,ra_*,sipr,truehd,truespeech,tta,vorbis,wavpack,wma*,twinvq --disable-demuxer=aac,ac3,pcm_*,ape,amr,ass,au,avs,dts,eac3,flac,mp3,mpc,mpc8,truehd,tta,w64,wav,wv --disable-parser=aac,ac3,dca,mlp,mpegaudio ./configure --prefix="/Users/<user>/Desktop/builds/root"
    (replace <user> with your user name)
    9. compile ffmpeg
    Code:
    make -j3
    10. install FFmpeg into "/Users/<user>/Desktop/builds/root"
    Code:
    make install
    11. go back into the 'builds'-folder
    Code:
    cd ..
    10. checkout x264
    Code:
    git clone git://git.videolan.org/x264.git x264
    11. change into x264 folder
    Code:
    cd x264
    12. set PKGConfig path
    Code:
    export PKG_CONFIG_PATH=/Users/<user>/Desktop/builds/root/lib/pkgconfig LDFLAGS="-static -lz -lbz2"
    (replace <user> with your user name)
    13. configure x264 8bit
    Code:
    ./configure --bit-depth=8 --prefix=/Users/<user>/Desktop/builds --enable-static
    (replace <user> with your user name)


    ----
    * download and install http://macpkg.sourceforge.net/, open terminal and run:
    Code:
    nano .bash_profile
    and make sure your PATH contains
    Code:
    /opt/pkgconfig/bin
    in example:
    Code:
    export PATH=/usr/local/bin:/opt/pkgconfig/bin:$PATH
    would be valid
    close terminal, reopen terminal and type
    Code:
    pkg-config
    if you get:
    Must specify package names on the command line
    you are finished, otherwise you made a typo somewhere
    sprich habe ffmpeg verwendet und auch das "export" drangepackt, mit dem Effekt, dass mir der configure-Aufruf:
    'No working C compiler found' meldet.
    Ohne den configure-Aufruf sieht es aus wie vorher, sprich er kann alles compilieren, aber es fehlt halt lavf.

    -> MAC DOOF! x264 DOOF! (das musste mal gesagt werden!)

    ----

    Vermute das Problem ist, dass der aus irgendeinem Grund bei ffmpeg ARCH auf x86 stellt,...
    Werde es jetzt mal mit explizit '--arch=x86_64' versuchen.
    Höh? --arch=x86_64 angehängt an den ffmpeg configure-Aufruf und da steht immer noch 'ARCH x86 (generic)'??
    Mift scheint, das arch nur bei CrossCompiling ausgewertet wird,..
    wenn ich '--arch=x86_64 --cpu=core2' verwendet wird es 'ARCH x86 (core2)', also komplett ignorieren tut er meine eingaben also nicht,...
    hab mal das config.log angehängt, eventuell sieht ja jemand den Fehler (das Problem)
    Selbst wenn ich "--extra-cflags=-m64 --extra-ldflags=-m64 --arch=x86_64" eingebe sagt der "ARCH x86 (generic)".

    Cu Selur
    Angehängte Dateien Angehängte Dateien
    Geändert von Selur (28. February 2014 um 19:47 Uhr)

  8. #8
    Tripel-As
    Registriert seit
    5. March 2009
    Beiträge
    218

    Standard AW: FFmpeg unter Mac OS X kompilieren,... ?

    Hm, ok ... dann doch deinen ersten Plan probieren ... ohne pkg-config?
    Dadurch, dass die Dateien ja jetzt "installiert" sind, müssten sie ja wieder in einen einzigen Verzeichnis liegen.

    Also dürfte das mit -L und -I wieder funktionieren?

  9. #9
    . Avatar von Selur
    Registriert seit
    19. April 2003
    Ort
    underground
    Beiträge
    24.663

    Standard AW: FFmpeg unter Mac OS X kompilieren,... ?

    nope mit
    Code:
    ./configure --prefix=/Users/selur/Desktop/builds --extra-cflags="-I/Users/selur/Desktop/builds/root/include" --extra-ldflags="-L/Users/selur/Desktop/builds/root/lib" --enable-static
    ist auch kein lavf dabei

    Vermute wie gesagt, dass es daran liegt, dass er ffmpeg aus irgendeinem Grund nur als x86 und nicht als x86_64 bauen mag.

  10. #10
    Tripel-As
    Registriert seit
    5. March 2009
    Beiträge
    218

    Standard AW: FFmpeg unter Mac OS X kompilieren,... ?

    Was sagt denn das configure.log von x264?

    da ich kein MacOSX habe, kann ich da leider wenig weiterhelfen. Es wird aber wohl mit clang kompiliert?

    Wenn die Software nicht auf dem System entwickelt wird, hat man immer Probleme.
    Merke ich gerade bei x265 ... ich darf da auch alle 2 Tage suchen, wie ich es zum kompilieren bekomme.

Seite 1 von 4 123 ... LetzteLetzte

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Ähnliche Themen

  1. ProjectX kompilieren,..
    Von Selur im Forum Windows & Applikationen
    Antworten: 3
    Letzter Beitrag: 10. June 2012, 11:14
  2. x264 unter linux selbst kompilieren
    Von Bitspyer im Forum Software-Entwicklung
    Antworten: 1
    Letzter Beitrag: 3. August 2011, 21:54
  3. Kompilieren - Anleitung?
    Von Gromit im Forum MPEG-4-Encoding
    Antworten: 6
    Letzter Beitrag: 20. November 2005, 12:00
  4. Projekt X kompilieren
    Von Saxoflyer im Forum DVB- und HDTV-Capturing
    Antworten: 4
    Letzter Beitrag: 1. June 2005, 19:38
  5. unter Windows selbst kompilieren
    Von Monk im Forum Windows & Applikationen
    Antworten: 8
    Letzter Beitrag: 19. April 2005, 01:32

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •