-
-
Save silverkorn/db5451f836e2bf9dea2a8358475eb5f4 to your computer and use it in GitHub Desktop.
# TODO: Verify to link statically some dependencies usually not available in a default instllation of RHEL/CentOS (ex.: libxcb) | |
################### | |
## Configuration ## | |
################### | |
FFMPEG_CPU_COUNT=$(nproc) | |
FFMPEG_ENABLE="--enable-gpl --enable-version3 --enable-nonfree --enable-runtime-cpudetect --enable-gray --enable-openssl --enable-libfreetype" | |
FFMPEG_HOME=/usr/local/src/ffmpeg | |
#################### | |
## Initialization ## | |
#################### | |
apt-get -y install autoconf automake1.11 cmake libfreetype6-dev gcc g++ git libtool make mercurial nasm pkg-config nettle-dev libgmp-dev libfontconfig-dev libcurl4-openssl-dev libssl-dev libncurses5-dev libp11-kit-dev zlib1g-dev | |
mkdir -p ${FFMPEG_HOME}/src | |
mkdir -p ${FFMPEG_HOME}/build | |
mkdir -p ${FFMPEG_HOME}/bin | |
export PATH=$PATH:${FFMPEG_HOME}/build:${FFMPEG_HOME}/build/lib:${FFMPEG_HOME}/build/include:${FFMPEG_HOME}/bin | |
############## | |
### FFMPEG ### | |
############## | |
/bin/echo | |
/bin/echo -e "\e[93mCompiling YASM...\e[39m" | |
/bin/echo | |
cd ${FFMPEG_HOME}/src | |
git clone --depth 1 https://github.com/yasm/yasm.git | |
cd yasm | |
autoreconf -fiv | |
./configure --prefix="$HOME/ffmpeg-nonfree/build" --bindir="${FFMPEG_HOME}/bin" | |
make -j ${FFMPEG_CPU_COUNT} | |
make install | |
make distclean | |
/bin/echo | |
/bin/echo -e "\e[93mCompiling fontconfig...\e[39m" | |
/bin/echo | |
cd ${FFMPEG_HOME}/src | |
curl -L -O http://www.freedesktop.org/software/fontconfig/release/fontconfig-2.11.94.tar.gz | |
tar xzvf fontconfig-2.11.94.tar.gz | |
rm -f fontconfig-2.11.94.tar.gz | |
cd fontconfig-2.11.94 | |
./configure --prefix="${FFMPEG_HOME}/build" --bindir="${FFMPEG_HOME}/bin" --disable-shared --enable-static --enable-libxml2 | |
make -j ${FFMPEG_CPU_COUNT} | |
make install | |
make distclean | |
FFMPEG_ENABLE="${FFMPEG_ENABLE} --enable-fontconfig" | |
/bin/echo | |
/bin/echo -e "\e[93mCompiling libfribidi...\e[39m" | |
/bin/echo | |
cd ${FFMPEG_HOME}/src | |
curl -L -O http://fribidi.org/download/fribidi-0.19.7.tar.bz2 | |
tar xjvf fribidi-0.19.7.tar.bz2 | |
rm -f fribidi-0.19.7.tar.bz2 | |
cd fribidi-0.19.7 | |
./configure --prefix="${FFMPEG_HOME}/build" --bindir="${FFMPEG_HOME}/bin" --disable-shared --enable-static | |
make -j ${FFMPEG_CPU_COUNT} | |
make install | |
make distclean | |
FFMPEG_ENABLE="${FFMPEG_ENABLE} --enable-libfribidi" | |
/bin/echo | |
/bin/echo -e "\e[93mCompiling libass...\e[39m" | |
/bin/echo | |
cd ${FFMPEG_HOME}/src | |
git clone https://github.com/libass/libass.git | |
cd libass | |
./autogen.sh | |
PKG_CONFIG_PATH="${FFMPEG_HOME}/build/lib/pkgconfig" ./configure --prefix="${FFMPEG_HOME}/build" --bindir="${FFMPEG_HOME}/bin" --disable-shared --enable-static | |
make -j ${FFMPEG_CPU_COUNT} | |
make install | |
make distclean | |
FFMPEG_ENABLE="${FFMPEG_ENABLE} --enable-libass" | |
/bin/echo | |
/bin/echo -e "\e[93mCompiling libcaca...\e[39m" | |
/bin/echo | |
cd ${FFMPEG_HOME}/src | |
git clone https://github.com/cacalabs/libcaca.git | |
cd libcaca | |
git checkout v0.99.beta19 | |
./bootstrap | |
PKG_CONFIG_PATH="${FFMPEG_HOME}/build/lib/pkgconfig" ./configure --prefix="${FFMPEG_HOME}/build" --bindir="${FFMPEG_HOME}/bin" --disable-shared --enable-static --disable-doc --disable-ruby --disable-csharp --disable-java --disable-python --disable-cxx --enable-ncurses --disable-x11 | |
make -j ${FFMPEG_CPU_COUNT} | |
make install | |
make distclean | |
FFMPEG_ENABLE="${FFMPEG_ENABLE} --enable-libcaca" | |
/bin/echo | |
/bin/echo -e "\e[93mCompiling libvo-amrwbenc...\e[39m" | |
/bin/echo | |
cd ${FFMPEG_HOME}/src | |
curl -L -O http://downloads.sourceforge.net/opencore-amr/vo-amrwbenc/vo-amrwbenc-0.1.3.tar.gz | |
tar xzvf vo-amrwbenc-0.1.3.tar.gz | |
rm -f vo-amrwbenc-0.1.3.tar.gz | |
cd vo-amrwbenc-0.1.3 | |
./configure --prefix="${FFMPEG_HOME}/build" --bindir="${FFMPEG_HOME}/bin" --disable-shared --enable-static | |
make -j ${FFMPEG_CPU_COUNT} | |
make install | |
make distclean | |
FFMPEG_ENABLE="${FFMPEG_ENABLE} --enable-libvo-amrwbenc" | |
/bin/echo | |
/bin/echo -e "\e[93mCompiling libopencore...\e[39m" | |
/bin/echo | |
cd ${FFMPEG_HOME}/src | |
curl -L -O http://downloads.sourceforge.net/opencore-amr/opencore-amr-0.1.3.tar.gz | |
tar xzvf opencore-amr-0.1.3.tar.gz | |
rm -f opencore-amr-0.1.3.tar.gz | |
cd opencore-amr-0.1.3 | |
./configure --prefix="${FFMPEG_HOME}/build" --bindir="${FFMPEG_HOME}/bin" --disable-shared --enable-static | |
make -j ${FFMPEG_CPU_COUNT} | |
make install | |
make distclean | |
FFMPEG_ENABLE="${FFMPEG_ENABLE} --enable-libopencore-amrnb --enable-libopencore-amrwb" | |
/bin/echo | |
/bin/echo -e "\e[93mCompiling libx264...\e[39m" | |
/bin/echo | |
cd ${FFMPEG_HOME}/src | |
git clone --depth 1 https://git.videolan.org/git/x264.git | |
cd x264 | |
git checkout origin/stable | |
./configure --prefix="${FFMPEG_HOME}/build" --bindir="${FFMPEG_HOME}/bin" --disable-shared --enable-static | |
make -j ${FFMPEG_CPU_COUNT} | |
make install | |
make distclean | |
FFMPEG_ENABLE="${FFMPEG_ENABLE} --enable-libx264" | |
/bin/echo | |
/bin/echo -e "\e[93mCompiling libx265...\e[39m" | |
/bin/echo | |
cd ${FFMPEG_HOME}/src | |
hg clone https://bitbucket.org/multicoreware/x265 | |
cd ${FFMPEG_HOME}/src/x265/build/linux | |
cmake -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX="${FFMPEG_HOME}/build" -DENABLE_SHARED:bool=off ../../source | |
make -j ${FFMPEG_CPU_COUNT} | |
make install | |
FFMPEG_ENABLE="${FFMPEG_ENABLE} --enable-libx265" | |
/bin/echo | |
/bin/echo -e "\e[93mCompiling libfdk-aac...\e[39m" | |
/bin/echo | |
cd ${FFMPEG_HOME}/src | |
#git clone --depth 1 git://git.code.sf.net/p/opencore-amr/fdk-aac | |
git clone --depth 1 https://github.com/mstorsjo/fdk-aac.git | |
cd fdk-aac | |
autoreconf -fiv | |
./configure --prefix="${FFMPEG_HOME}/build" --disable-shared --enable-static | |
make -j ${FFMPEG_CPU_COUNT} | |
make install | |
make distclean | |
FFMPEG_ENABLE="${FFMPEG_ENABLE} --enable-libfdk-aac" | |
/bin/echo | |
/bin/echo -e "\e[93mCompiling libmp3lame...\e[39m" | |
/bin/echo | |
cd ${FFMPEG_HOME}/src | |
curl -L -O http://downloads.sourceforge.net/project/lame/lame/3.99/lame-3.99.5.tar.gz | |
tar xzvf lame-3.99.5.tar.gz | |
rm -f lame-3.99.5.tar.gz | |
cd lame-3.99.5 | |
./configure --prefix="${FFMPEG_HOME}/build" --bindir="${FFMPEG_HOME}/bin" --disable-shared --enable-static --enable-nasm | |
make -j ${FFMPEG_CPU_COUNT} | |
make install | |
make distclean | |
FFMPEG_ENABLE="${FFMPEG_ENABLE} --enable-libmp3lame" | |
/bin/echo | |
/bin/echo -e "\e[93mCompiling libtwolame...\e[39m" | |
/bin/echo | |
cd ${FFMPEG_HOME}/src | |
curl -L -O http://downloads.sourceforge.net/twolame/twolame-0.3.13.tar.gz | |
tar xzvf twolame-0.3.13.tar.gz | |
rm -f twolame-0.3.13.tar.gz | |
cd twolame-0.3.13 | |
./configure --prefix="${FFMPEG_HOME}/build" --bindir="${FFMPEG_HOME}/bin" --disable-shared --enable-static | |
make -j ${FFMPEG_CPU_COUNT} | |
make install | |
make distclean | |
FFMPEG_ENABLE="${FFMPEG_ENABLE} --enable-libtwolame" | |
/bin/echo | |
/bin/echo -e "\e[93mCompiling libopus...\e[39m" | |
/bin/echo | |
cd ${FFMPEG_HOME}/src | |
git clone https://git.opus-codec.org/opus.git | |
cd opus | |
autoreconf -fiv | |
./configure --prefix="${FFMPEG_HOME}/build" --disable-shared --enable-static | |
make -j ${FFMPEG_CPU_COUNT} | |
make install | |
make distclean | |
FFMPEG_ENABLE="${FFMPEG_ENABLE} --enable-libopus" | |
/bin/echo | |
/bin/echo -e "\e[93mCompiling libogg...\e[39m" | |
/bin/echo | |
cd ${FFMPEG_HOME}/src | |
curl -L -O http://downloads.xiph.org/releases/ogg/libogg-1.3.2.tar.gz | |
tar xzvf libogg-1.3.2.tar.gz | |
rm -f libogg-1.3.2.tar.gz | |
cd libogg-1.3.2 | |
./configure --prefix="${FFMPEG_HOME}/build" --disable-shared --enable-static | |
make -j ${FFMPEG_CPU_COUNT} | |
make install | |
make distclean | |
/bin/echo | |
/bin/echo -e "\e[93mCompiling libvorbis...\e[39m" | |
/bin/echo | |
cd ${FFMPEG_HOME}/src | |
curl -L -O http://downloads.xiph.org/releases/vorbis/libvorbis-1.3.4.tar.gz | |
tar xzvf libvorbis-1.3.4.tar.gz | |
rm -f libvorbis-1.3.4.tar.gz | |
cd libvorbis-1.3.4 | |
LDFLAGS="-L${FFMPEG_HOME}/build/lib" CPPFLAGS="-I${FFMPEG_HOME}/build/include" ./configure --prefix="${FFMPEG_HOME}/build" --with-ogg="${FFMPEG_HOME}/build" --disable-shared --enable-static | |
make -j ${FFMPEG_CPU_COUNT} | |
make install | |
make distclean | |
FFMPEG_ENABLE="${FFMPEG_ENABLE} --enable-libvorbis" | |
/bin/echo | |
/bin/echo -e "\e[93mCompiling libspeex...\e[39m" | |
/bin/echo | |
cd ${FFMPEG_HOME}/src | |
curl -L -O http://downloads.xiph.org/releases/speex/speex-1.2rc2.tar.gz | |
tar xzvf speex-1.2rc2.tar.gz | |
rm -f speex-1.2rc2.tar.gz | |
cd speex-1.2rc2 | |
LDFLAGS="-L${FFMPEG_HOME}/build/lib" CPPFLAGS="-I${FFMPEG_HOME}/build/include" ./configure --prefix="${FFMPEG_HOME}/build" --with-ogg="${FFMPEG_HOME}/build" --disable-shared --enable-static | |
make -j ${FFMPEG_CPU_COUNT} | |
make install | |
make distclean | |
FFMPEG_ENABLE="${FFMPEG_ENABLE} --enable-libspeex" | |
/bin/echo | |
/bin/echo -e "\e[93mCompiling libvpx...\e[39m" | |
/bin/echo | |
cd ${FFMPEG_HOME}/src | |
git clone --depth 1 https://chromium.googlesource.com/webm/libvpx.git | |
cd libvpx | |
./configure --prefix="${FFMPEG_HOME}/build" --disable-examples --disable-shared --enable-static | |
make -j ${FFMPEG_CPU_COUNT} | |
make install | |
make clean | |
FFMPEG_ENABLE="${FFMPEG_ENABLE} --enable-libvpx" | |
/bin/echo | |
/bin/echo -e "\e[93mCompiling libxvid...\e[39m" | |
/bin/echo | |
cd ${FFMPEG_HOME}/src | |
curl -L -O http://downloads.xvid.org/downloads/xvidcore-1.3.2.tar.gz | |
tar xvfz xvidcore-1.3.2.tar.gz | |
rm -f xvidcore-1.3.2.tar.gz | |
cd xvidcore/build/generic | |
./configure --prefix="${FFMPEG_HOME}/build" --disable-shared --enable-static | |
make -j ${FFMPEG_CPU_COUNT} | |
make install | |
make distclean | |
FFMPEG_ENABLE="${FFMPEG_ENABLE} --enable-libxvid" | |
/bin/echo | |
/bin/echo -e "\e[93mCompiling libtheora...\e[39m" | |
/bin/echo | |
cd ${FFMPEG_HOME}/src | |
curl -L -O http://downloads.xiph.org/releases/theora/libtheora-1.1.1.tar.gz | |
tar xzvf libtheora-1.1.1.tar.gz | |
rm -f libtheora-1.1.1.tar.gz | |
cd libtheora-1.1.1 | |
./configure --prefix="${FFMPEG_HOME}/build" --disable-oggtest --with-ogg-includes="${FFMPEG_HOME}/build/include" --with-ogg-libraries="${FFMPEG_HOME}/build/lib" --disable-shared --enable-static | |
make -j ${FFMPEG_CPU_COUNT} | |
make install | |
make distclean | |
FFMPEG_ENABLE="${FFMPEG_ENABLE} --enable-libtheora" | |
/bin/echo | |
/bin/echo -e "\e[93mCompiling libwebp...\e[39m" | |
/bin/echo | |
cd ${FFMPEG_HOME}/src | |
git clone --depth 1 https://chromium.googlesource.com/webm/libwebp.git | |
cd libwebp | |
./autogen.sh | |
./configure --prefix="${FFMPEG_HOME}/build" --bindir="${FFMPEG_HOME}/bin" --disable-shared --enable-static | |
make -j ${FFMPEG_CPU_COUNT} | |
make install | |
make distclean | |
FFMPEG_ENABLE="${FFMPEG_ENABLE} --enable-libwebp" | |
/bin/echo | |
/bin/echo -e "\e[93mCompiling libopenjpeg...\e[39m" | |
/bin/echo | |
cd ${FFMPEG_HOME}/src | |
git clone https://github.com/uclouvain/openjpeg.git | |
cd openjpeg | |
git checkout openjpeg-2.1 | |
cmake -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX="${FFMPEG_HOME}/build" -DBUILD_SHARED_LIBS=0 | |
make -j ${FFMPEG_CPU_COUNT} | |
make install | |
rm -f -R "${FFMPEG_HOME}/build/lib/openjpeg-2.1" | |
make distclean | |
FFMPEG_ENABLE="${FFMPEG_ENABLE} --enable-libopenjpeg" | |
/bin/echo | |
/bin/echo -e "\e[93mCompiling libilbc...\e[39m" | |
/bin/echo | |
cd ${FFMPEG_HOME}/src | |
git clone https://github.com/TimothyGu/libilbc.git | |
cd libilbc | |
sed 's/lib64/lib/g' -i CMakeLists.txt | |
cmake -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX="${FFMPEG_HOME}/build" -DBUILD_SHARED_LIBS=0 -DCMAKE_LIBRARY_OUTPUT_DIRECTORY:PATH=/lib | |
make -j ${FFMPEG_CPU_COUNT} | |
make install | |
make distclean | |
FFMPEG_ENABLE="${FFMPEG_ENABLE} --enable-libilbc" | |
/bin/echo | |
/bin/echo -e "\e[93mCompiling librtmp...\e[39m" | |
/bin/echo | |
cd ${FFMPEG_HOME}/src | |
git clone --depth 1 https://git.ffmpeg.org/rtmpdump.git librtmp || git clone --depth 1 git://git.ffmpeg.org/rtmpdump librtmp || git clone --depth 1 https://github.com/ossrs/librtmp.git librtmp | |
cd librtmp | |
make -j ${FFMPEG_CPU_COUNT} SYS=posix prefix="${FFMPEG_HOME}/build" CRYPTO=OPENSSL SHARED= XCFLAGS="-I${FFMPEG_HOME}/build/include" XLDFLAGS="-L${FFMPEG_HOME}/build/lib" install | |
FFMPEG_ENABLE="${FFMPEG_ENABLE} --enable-librtmp" | |
/bin/echo | |
/bin/echo -e "\e[93mCompiling libsoxr...\e[39m" | |
/bin/echo | |
cd ${FFMPEG_HOME}/src | |
git clone http://git.code.sf.net/p/soxr/code soxr | |
cd soxr | |
cmake -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX="${FFMPEG_HOME}/build" -DWITH_OPENMP=off -DWITH_LSR_BINDINGS=off -DBUILD_SHARED_LIBS=0 -DBUILD_EXAMPLES=0 -DBUILD_TESTS=0 | |
make -j ${FFMPEG_CPU_COUNT} | |
make install | |
make distclean | |
FFMPEG_ENABLE="${FFMPEG_ENABLE} --enable-libsoxr" | |
/bin/echo | |
/bin/echo -e "\e[93mCompiling frei0r...\e[39m" | |
/bin/echo | |
cd ${FFMPEG_HOME}/src | |
curl -L -O https://files.dyne.org/frei0r/snapshots/frei0r-snapshot-27-01-15.tar.gz | |
tar xzvf frei0r-snapshot-27-01-15.tar.gz | |
rm -f frei0r-snapshot-27-01-15.tar.gz | |
mv frei0r-snapshot-27-01-15 frei0r-plugins-snapshot-1.5 | |
cd frei0r-plugins-snapshot-1.5 | |
PKG_CONFIG_PATH="${FFMPEG_HOME}/build/lib/pkgconfig" cmake -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX="${FFMPEG_HOME}/build" -DBUILD_SHARED_LIBS=0 -DCMAKE_BUILD_TYPE=Release -DWITHOUT_OPENCV=ON -DWITHOUT_GAVL=ON | |
make -j ${FFMPEG_CPU_COUNT} | |
make install | |
make distclean | |
FFMPEG_ENABLE="${FFMPEG_ENABLE} --enable-frei0r --enable-filter=frei0r" | |
/bin/echo | |
/bin/echo -e "\e[93mCompiling libvidstab...\e[39m" | |
/bin/echo | |
cd ${FFMPEG_HOME}/src | |
git clone https://github.com/georgmartius/vid.stab.git vidstab | |
cd vidstab | |
cmake -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX="${FFMPEG_HOME}/build" -DBUILD_SHARED_LIBS=0 | |
make -j ${FFMPEG_CPU_COUNT} | |
make install | |
make distclean | |
FFMPEG_ENABLE="${FFMPEG_ENABLE} --enable-libvidstab" | |
/bin/echo | |
/bin/echo -e "\e[93mCompiling librubberband...\e[39m" | |
/bin/echo | |
cd ${FFMPEG_HOME}/src | |
git clone https://github.com/lachs0r/rubberband.git | |
cd rubberband | |
make -j ${FFMPEG_CPU_COUNT} PREFIX="${FFMPEG_HOME}/build" install-static | |
FFMPEG_ENABLE="${FFMPEG_ENABLE} --enable-librubberband" | |
# Full "--enable" list, just in case | |
# FFMPEG_ENABLE="--enable-gpl --enable-version3 --enable-nonfree --enable-runtime-cpudetect --enable-gray --enable-openssl --enable-libfreetype --enable-fontconfig --enable-libfribidi --enable-libass --enable-libcaca --enable-libvo-amrwbenc --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libx264 --enable-libx265 --enable-libfdk-aac --enable-libmp3lame --enable-libtwolame --enable-libopus --enable-libvorbis --enable-libspeex --enable-libvpx --enable-libxvid --enable-libtheora --enable-libwebp --enable-libopenjpeg --enable-libilbc --enable-librtmp --enable-libsoxr --enable-frei0r --enable-filter=frei0r --enable-libvidstab --enable-librubberband" | |
/bin/echo | |
/bin/echo -e "\e[93mCompiling ffmpeg...\e[39m" | |
/bin/echo | |
cd ${FFMPEG_HOME}/src | |
#git clone --depth 1 https://git.ffmpeg.org/ffmpeg.git | |
git clone --depth 1 https://github.com/FFmpeg/FFmpeg.git ffmpeg | |
cd ffmpeg | |
PKG_CONFIG_PATH="${FFMPEG_HOME}/build/lib/pkgconfig" ./configure --prefix="${FFMPEG_HOME}/build" --extra-cflags="-I${FFMPEG_HOME}/build/include" --extra-ldflags="-L${FFMPEG_HOME}/build/lib" --extra-libs='-lnettle -lhogweed -lgmp -lncurses' --bindir="${FFMPEG_HOME}/bin" --pkg-config-flags="--static" ${FFMPEG_ENABLE} | |
make -j ${FFMPEG_CPU_COUNT} | |
make install | |
make distclean | |
hash -r | |
################# | |
### MEDIAINFO ### | |
################# | |
/bin/echo | |
/bin/echo -e "\e[93mCompiling zenlib...\e[39m" | |
/bin/echo | |
cd ${FFMPEG_HOME}/src | |
git clone https://github.com/MediaArea/ZenLib zenlib | |
cd zenlib/Project/CMake | |
cmake -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX="${FFMPEG_HOME}/build" -DLIB_INSTALL_DIR="${FFMPEG_HOME}/build/lib" -DBUILD_SHARED_LIBS=0 | |
make -j ${FFMPEG_CPU_COUNT} | |
make install | |
make distclean | |
/bin/echo | |
/bin/echo -e "\e[93mCompiling mediainfolib...\e[39m" | |
/bin/echo | |
cd ${FFMPEG_HOME}/src | |
git clone https://github.com/MediaArea/MediaInfoLib mediainfolib | |
cd mediainfolib/Project/CMake | |
cmake -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX="${FFMPEG_HOME}/build" -DLIB_INSTALL_DIR="${FFMPEG_HOME}/build/lib" -DBUILD_SHARED_LIBS=0 | |
make -j ${FFMPEG_CPU_COUNT} | |
make install | |
sed -i 's|libzen|libcurl librtmp libzen|' "${FFMPEG_HOME}/build/lib/pkgconfig/libmediainfo.pc" | |
make distclean | |
/bin/echo | |
/bin/echo -e "\e[93mCompiling mediainfo...\e[39m" | |
/bin/echo | |
cd ${FFMPEG_HOME}/src | |
git clone https://github.com/MediaArea/MediaInfo mediainfo | |
cd mediainfo/Project/GNU/CLI | |
./autogen.sh | |
PKG_CONFIG_PATH="${FFMPEG_HOME}/build/lib/pkgconfig" ./configure --prefix="${FFMPEG_HOME}/build" | |
make -j ${FFMPEG_CPU_COUNT} | |
make install | |
make distclean |
First off, thanks for your work.
Can't get this to work, unfortunately. At first it couldn't find a couple of the packages, so I replaced the links in the script with valid ones. After it seems like it has got all the dependencies / libraries compiled, it starts on the ffmpeg section of the script, where it fails pretty much straight away, saying it can't find one of the libraries e.g.libass. So I thought, ok, I'll just remove the corresponding build option from the script e.g. --enable-libass and fix it later.
So I ran the script again and same result except it was for another library, so I removed that build option. Ran again and same result different libray. I did this for 4 or 5 libs inc. libass, rubberband, x264. Then I got to the point where I was thinking that maybe it can't find any. Maybe I'm missing something from my system or maybe you have a system variable set that I don't have. Have you tried this on a fresh 16.04 install?
Hmm...
The thing is that it should compile the libraries as statically "linkable" (all in the executable itself). This is why I've added the -DBUILD_SHARED_LIBS=0
cmake parameters or the --disable-shared --enable-static
./configure parameters to the libraries and the --pkg-config-flags="--static"
to the ffmpeg build.
Unfortunately, I don't have a Ubuntu nearby to give it a try.
I would guess that you've only changed some URLs and not touched other parameters...
Could you confirm?
Thanks for the reply.
I can confirm that I changed 3 URLs to point to exactly the same files as your links pointed to, just on a different website. So it is still downloading the same files, with the same name etc., so there is no need to change anything else in the script, that I can see. The 3 URLs that I changed were:
1 - http://fribidi.org/download/fribidi-0.19.7.tar.bz2 to https://github.com/fribidi/fribidi/releases/download/0.19.7/fribidi-0.19.7.tar.bz2
2 - http://downloads.sourceforge.net/twolame/twolame-0.3.13.tar.gz to https://netix.dl.sourceforge.net/project/twolame/twolame/0.3.13/twolame-0.3.13.tar.gz
3 - https://files.dyne.org/frei0r/snapshots/frei0r-snapshot-27-01-15.tar.gz to https://ftp.osuosl.org/pub/blfs/conglomeration/frei0r/frei0r-snapshot-27-01-15.tar.gz
It's not about them compiling statically or not, it's about the script working; until it gets to actually compiling ffmpeg. Then as ffmpeg starts to compile, it complains that it can't find the libraries to compile with.
https://github.com/lutris/ffmpeg-nvenc/blob/master/build.sh ?