H
Harry3
unregistriert
Thread Starter
- Dabei seit
- 19.04.2014
- Beiträge
- 157
- Reaktionspunkte
- 0
Da ich den ersten Beitrag im alten Thread nicht bearbeiten kann und die neue Fassung nicht mehr in einen Beitrag passt, erstelle ich einen neuen Thread. Vor der eigentlichen Anleitung ein paar Bemerkungen:
- Wer nicht an Libraries wie libfdk_aac (selber darf man sie compilieren und nutzen aber eben nicht verteilen), etc. interessiert ist, findet von tessus sehr zuverlässig compilierte ffmpeg-Binaries hier. Aktuelle mpv-Builds findet man hier.
- Dynamische Binaries von ffmpeg kann man sehr leicht mit brew oder macports erhalten.
- Will man dagegen statische Builds und aktuelle mplayer/mencoder-Binaries mit libass-Unterstützung, hilft diese Anleitung.
- libbluray is DRM-circumvention free, and thus, safe to integrate in your software. (hier)
- Sehr hilfreich für diese Anleitung war die Anleitung von hexeract (hier), einige Lösungen sind aber von mir.
- Erfolgreich compiliert wurde unter 10.8/10.9 mit Xcode 5.1 und neuer.
Benötigt werden folgende Dateien:
Um mein System nicht vollzumüllen, compiliere ich auf einer 3GB großen Ramdisk und setze ein paar Umgebungsvariablen:
Jetzt auf der Ramdisk einen Ordner source erstellen, alle Source-Dateien reinkopieren und compilieren (hier nur ein Teil da zu lang für einen einzelnen Beitrag):
- Wer nicht an Libraries wie libfdk_aac (selber darf man sie compilieren und nutzen aber eben nicht verteilen), etc. interessiert ist, findet von tessus sehr zuverlässig compilierte ffmpeg-Binaries hier. Aktuelle mpv-Builds findet man hier.
- Dynamische Binaries von ffmpeg kann man sehr leicht mit brew oder macports erhalten.
- Will man dagegen statische Builds und aktuelle mplayer/mencoder-Binaries mit libass-Unterstützung, hilft diese Anleitung.
- libbluray is DRM-circumvention free, and thus, safe to integrate in your software. (hier)
- Sehr hilfreich für diese Anleitung war die Anleitung von hexeract (hier), einige Lösungen sind aber von mir.
- Erfolgreich compiliert wurde unter 10.8/10.9 mit Xcode 5.1 und neuer.
Benötigt werden folgende Dateien:
Code:
amrnb-7.0.0.2.tar.bz2, amrwb-7.0.0.4.tar.bz2, autoconf-2.69.tar.gz, automake-1.14.tar.gz, bison-3.0.2.tar.gz, bzip2-1.0.6.tar.gz, cmake-2.8.12.1.tar.gz, expat-12.tar.gz, faac-1.28.tar.gz, fdk-aac-0.1.3.tar.gz, ffmpeg-2.3.tar.bz2, flac-1.3.0.tar, fontconfig-2.11.1.tar.bz2, freetype-2.5.3.tar.gz, fribidi-0.19.6.tar.bz2, georgmartius-vid.stab-release-0.98b-0-g3b35b4d.tar.gz, git-1.9.0.tar.gz, gsm-1.0.13.tar.gz, harfbuzz-0.9.28.tar.bz2, lame-3.99.5.tar.gz, libass-0.11.2.tar.gz, libbluray-0.6.0.tar.bz2, libiconv-41.tar.gz, libilbc-master.zip, libogg-1.3.1.tar.gz, libtheora-1.1.1.tar.bz2, libtool-2.4.tar.gz, libvorbis-1.3.4.tar.gz, libvpx-v1.3.0.tar.bz2, libxml2-2.9.1.tar.gz, mercurial-3.0.2.tar.gz, no-CGDirectPaletteRef.patch, openal-soft-1.13.tar.bz2, opencore-amr-0.1.3.tar.gz, opus-1.1.tar.gz, pkg-config-0.28.tar.gz, SDL-1.2.15.tar.gz, soxr-0.1.1-Source.tar, speex-1.2rc1.tar.gz, twolame-0.3.13.tar.gz, vo-aacenc-0.1.3.tar.gz, vo-amrwbenc-0.1.3.tar.gz, wavpack-4.70.0.tar.bz2, xvidcore-1.3.2.tar.gz, xz-5.0.5.tar.gz, yasm-1.2.0.tar.gz, zeromq-3.2.4.tar.gz, zlib-1.2.8.tar.gz
Code:
VOLNAME=Ramdisk
DISK_ID=$(hdid -nomount ram://6291456)
newfs_hfs -v ${VOLNAME} ${DISK_ID}
diskutil mount ${DISK_ID}
export TARGET="/Volumes/${VOLNAME}/"
export CMPL="/Volumes/${VOLNAME}/compile"
export PATH=${TARGET}/bin:$PATH
export CC="clang"
export CPP="clang -E"
export CXX="clang++"
export CXXCPP="clang++ -E"
export LDFLAGS="-stdlib=libc++"
export CXXFLAGS="-stdlib=libc++"
export PKG_CONFIG="pkg-config --static"
mkdir ${CMPL}
Code:
cd ${CMPL}
tar xzpf ../source/pkg-config-0.28.tar.gz
cd pkg-config-0.28
./configure --prefix=${TARGET} --with-pc-path=${TARGET}/lib/pkgconfig --with-internal-glib
make -j 4 && make install
export PKG_CONFIG_PATH="${TARGET}/lib/pkgconfig"
# libiconv
cd ${CMPL}
tar xzpf ../source/libiconv-41.tar.gz
cd libiconv-41/libiconv/
./configure --prefix=${TARGET} --enable-static --disable-shared
make -j 4 && make install
# expat
cd ${CMPL}
tar xzpf ../source/expat-12.tar.gz
cd expat-12/expat/
./configure --prefix=${TARGET} --enable-static --enable-shared=no
make -j 4 && make install
# libxml2
cd ${CMPL}
tar xzpf ../source/libxml2-2.9.1.tar.gz
cd libxml2-2.9.1/
./configure --prefix=${TARGET} --enable-static --enable-shared=no --without-python
make -j 4 && make install
# yasm
cd ${CMPL}
tar xzpf ../source/yasm-1.2.0.tar.gz
cd yasm-1.2.0
./configure --prefix=${TARGET}
make -j 4 && make install
# SDL
cd ${CMPL}
tar xzpf ../source/SDL-1.2.15.tar.gz
cp ../source/no-CGDirectPaletteRef.patch ./SDL-1.2.15/src/video/quartz/
cd ./SDL-1.2.15/src/video/quartz/
patch < no-CGDirectPaletteRef.patch
cd ${CMPL}/SDL-1.2.15
./configure --prefix=${TARGET} --disable-shared --enable-static --enable-video-x11=no
make -j 4 && make install
# xvidcore and removing the dynamic library
cd ${CMPL}
tar xzpf ../source/xvidcore-1.3.2.tar.gz
cd xvidcore
cd build/generic
./configure --prefix=${TARGET}
make -j 4 && make install
rm ${TARGET}/lib/libxvidcore.4.dylib
# git
cd ${CMPL}
tar xzpf ../source/git-1.9.0.tar.gz
cd git-1.9.0
./configure --prefix=${TARGET}/git --with-iconv=/Volumes/Ramdisk
make -j 4 && make install
# wavpack
cd ${CMPL}
tar xjpf ../source/wavpack-4.70.0.tar.bz2
cd wavpack-4.70.0
./configure --prefix=${TARGET} --enable-static --disable-shared --with-iconv=/usr/
make -j 4 && make install
# lame
cd ${CMPL}
tar xzpf ../source/lame-3.99.5.tar.gz
cd lame-3.99.5
./configure --prefix=${TARGET} --disable-shared --enable-static
make -j 4 && make install
# faac
cd ${CMPL}
tar xzpf ../source/faac-1.28.tar.gz
cd faac-1.28
./configure --prefix=${TARGET} --disable-shared --enable-static
make -j 4 && make install
# x264
cd ${CMPL}
curl -O ftp://ftp.videolan.org/pub/videolan/x264/snapshots/last_stable_x264.tar.bz2
tar xjpf last_stable_x264.tar.bz2
cd x264*stable
./configure --prefix=${TARGET} --disable-shared --enable-static
make -j 4 && make install && make install-lib-static
# HG
cd ${CMPL}
tar xzpf ../source/mercurial-3.0.2.tar.gz
cd mercurial-3.0.2
make install-bin PREFIX=${TARGET}
# cmake
cd ${CMPL}
tar xzpf ../source/cmake-2.8.12.1.tar.gz
cd cmake-2.8.12.1
./configure --prefix=${TARGET}
make -j 4 && make install
# libx265
cd ${CMPL}
hg clone https://bitbucket.org/multicoreware/x265
cd x265/source
cmake -DCMAKE_INSTALL_PREFIX:PATH=${TARGET} -DENABLE_SHARED=NO .
make -j 4 && make install
# ogg
cd ${CMPL}
tar xzpf ../source/libogg-1.3.1.tar.gz
cd libogg-1.3.1
./configure --prefix=${TARGET} --disable-shared --enable-static
make -j 4 && make install
# vorbis
cd ${CMPL}
tar xzpf ../source/libvorbis-1.3.4.tar.gz
cd libvorbis-1.3.4
./configure --prefix=${TARGET} --with-ogg-libraries=${TARGET}/lib --with-ogg-includes=${TARGET}/include/ --enable-static --disable-shared
make -j 4 && make install
# theora
cd ${CMPL}
tar xjpf ../source/libtheora-1.1.1.tar.bz2
cd libtheora-1.1.1
perl -p -i -e "s/-falign-loops=16//g" configure
perl -p -i -e "s/-fforce-addr//g" configure
./configure --prefix=${TARGET} --disable-asm --with-ogg-libraries=${TARGET}/lib --with-ogg-includes=${TARGET}/include/ --with-vorbis-libraries=${TARGET}/lib --with-vorbis-includes=${TARGET}/include/ --enable-static --disable-shared
make -j 4 && make install
# libopus
cd ${CMPL}
tar xjpf ../source/opus-1.1.tar.gz
cd opus-1.1
./configure --prefix=${TARGET} --disable-shared --enable-static
make -j 4 && make install
# gsm
cd ${CMPL}
tar xzpf ../source/gsm-1.0.13.tar.gz
cd gsm-1.0-pl13
mkdir -p ${TARGET}/man/man3
mkdir -p ${TARGET}/man/man1
mkdir -p ${TARGET}/include/gsm
perl -p -i -e "s#^INSTALL_ROOT.*#INSTALL_ROOT = $TARGET#g" Makefile
perl -p -i -e "s#_ROOT\)/inc#_ROOT\)/include#g" Makefile
sed "/GSM_INSTALL_INC/s/include/include\/gsm/g" Makefile > Makefile.new
mv Makefile.new Makefile
make -j 4 && make install
# amrwb
cd ${CMPL}
tar xjpf ../source/amrwb-7.0.0.4.tar.bz2
cd amrwb-7.0.0.4
./configure --prefix=${TARGET} --disable-shared --enable-static
make -j 4 && make install
# amrnb downloads additional sources
cd ${CMPL}
tar xjpf ../source/amrnb-7.0.0.2.tar.bz2
cd amrnb-7.0.0.2
./configure --prefix=${TARGET} --disable-shared --enable-static
make -j 4 && make install
# opencore_amr
cd ${CMPL}
tar xzpf ../source/opencore-amr-0.1.3.tar.gz
cd opencore-amr-0.1.3
./configure --prefix=${TARGET} --disable-shared --enable-static
make -j 4 && make install
# speex
cd ${CMPL}
tar xzpf ../source/speex-1.2rc1.tar.gz
cd speex-1.2rc1
./configure --prefix=${TARGET} --with-ogg-libraries=${TARGET}/lib --with-ogg-includes=${TARGET}/include/ --enable-static --disable-shared
make -j 4 && make install
# flac
cd ${CMPL}
tar xpf ../source/flac-1.3.0.tar
cd flac-1.3.0
./configure --prefix=${TARGET} --disable-asm-optimizations --disable-xmms-plugin --with-ogg-libraries=${TARGET}/lib --with-ogg-includes=${TARGET}/include/ --enable-static --disable-shared
make -j 4 && make install
# xavs
cd ${CMPL}
svn co https://svn.code.sf.net/p/xavs/code/ xavs
cd xavs/trunk
perl -p -i -e "s/-falign-loops=16//g" configure
perl -p -i -e "s/-fforce-addr//g" configure
./configure --prefix=${TARGET} --disable-asm
make -j 4 && make install
# vo-aacenc
cd ${CMPL}
tar xzpf ../source/vo-aacenc-0.1.3.tar.gz
cd vo-aacenc-0.1.3
./configure --prefix=${TARGET} --disable-shared --enable-static
make -j 4 && make install
# vo-amrwbenc
cd ${CMPL}
tar xzpf ../source/vo-amrwbenc-0.1.3.tar.gz
cd vo-amrwbenc-0.1.3
./configure --prefix=${TARGET} --disable-shared --enable-static
make -j 4 && make install
# libvpx
cd ${CMPL}
tar xjpf ../source/libvpx-v1.3.0.tar.bz2
cd libvpx-v1.3.0
./configure --prefix=${TARGET} --as=yasm --disable-shared --enable-static --enable-vp8
make -j 4 && make install
# fdk-aac
cd ${CMPL}
tar xzpf ../source/fdk-aac-0.1.3.tar.gz
cd fdk-aac-0.1.3
./configure --prefix=${TARGET} --enable-static --disable-shared
make -j 4 && make install
# twolame
cd ${CMPL}
tar xzpf ../source/twolame-0.3.13.tar.gz
cd twolame-0.3.13
./configure --prefix=${TARGET} --disable-shared --enable-static
make -j 4 && make install
# zeromq
cd ${CMPL}
tar xzpf ../source/zeromq-3.2.4.tar.gz
cd zeromq-3.2.4
./configure --without-documentation --prefix=${TARGET} --enable-static --disable-shared
make -j 4 && make install
# OpenAl
cd ${CMPL}
tar xjpf ../source/openal-soft-1.13.tar.bz2
cd openal-soft-1.13
cmake -DCMAKE_INSTALL_PREFIX:PATH=${TARGET} -DLIBTYPE=STATIC .
make -j 4 && make install
Zuletzt bearbeitet: