-
-
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.
Cool. Can you please add Nvdia Nvenc into this build, please?