Created
March 31, 2020 12:38
-
-
Save krzemienski/75ceb30d7a70e6053cdf993dcc642aaa to your computer and use it in GitHub Desktop.
compile and configure bento4 & ffmpeg w/ nvenc vmaf 8-12bit x265
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
set -e | |
FFMPEG_VERSION=snapshot | |
AOM_VERSION=v1.0.0 | |
FDKAAC_VERSION=0.1.5 | |
FONTCONFIG_VERSION=2.12.4 \ | |
FREETYPE_VERSION=2.5.5 \ | |
FRIBIDI_VERSION=0.19.7 \ | |
KVAZAAR_VERSION=1.2.0 \ | |
LAME_VERSION=3.100 \ | |
LIBASS_VERSION=0.13.7 \ | |
LIBPTHREAD_STUBS_VERSION=0.4 \ | |
LIBVIDSTAB_VERSION=1.1.0 \ | |
LIBXCB_VERSION=1.13.1 \ | |
XCBPROTO_VERSION=1.13 \ | |
OGG_VERSION=1.3.2 \ | |
OPENCOREAMR_VERSION=0.1.5 \ | |
OPUS_VERSION=1.2 \ | |
OPENJPEG_VERSION=2.1.2 \ | |
THEORA_VERSION=1.1.1 \ | |
VORBIS_VERSION=1.3.5 \ | |
VPX_VERSION=1.8.0 \ | |
WEBP_VERSION=1.0.2 \ | |
X264_VERSION=20170226-2245-stable \ | |
X265_VERSION=3.1.1 \ | |
XAU_VERSION=1.0.9 \ | |
XORG_MACROS_VERSION=1.19.2 \ | |
XPROTO_VERSION=7.0.31 \ | |
XVID_VERSION=1.3.4 \ | |
LIBXML2_VERSION=2.9.10 \ | |
LIBBLURAY_VERSION=1.1.2 \ | |
SRC=/usr/local | |
FREETYPE_SHA256SUM="5d03dd76c2171a7601e9ce10551d52d4471cf92cd205948e60289251daddffa8 freetype-2.5.5.tar.gz" | |
FRIBIDI_SHA256SUM="3fc96fa9473bd31dcb5500bdf1aa78b337ba13eb8c301e7c28923fea982453a8 0.19.7.tar.gz" | |
LIBASS_SHA256SUM="8fadf294bf701300d4605e6f1d92929304187fca4b8d8a47889315526adbafd7 0.13.7.tar.gz" | |
LIBVIDSTAB_SHA256SUM="14d2a053e56edad4f397be0cb3ef8eb1ec3150404ce99a426c4eb641861dc0bb v1.1.0.tar.gz" | |
OGG_SHA256SUM="e19ee34711d7af328cb26287f4137e70630e7261b17cbe3cd41011d73a654692 libogg-1.3.2.tar.gz" | |
OPUS_SHA256SUM="77db45a87b51578fbc49555ef1b10926179861d854eb2613207dc79d9ec0a9a9 opus-1.2.tar.gz" | |
THEORA_SHA256SUM="40952956c47811928d1e7922cda3bc1f427eb75680c3c37249c91e949054916b libtheora-1.1.1.tar.gz" | |
VORBIS_SHA256SUM="6efbcecdd3e5dfbf090341b485da9d176eb250d893e3eb378c428a2db38301ce libvorbis-1.3.5.tar.gz" | |
XVID_SHA256SUM="4e9fd62728885855bc5007fe1be58df42e5e274497591fec37249e1052ae316f xvidcore-1.3.4.tar.gz" | |
LIBXML2_SHA256SUM="f07dab13bf42d2b8db80620cce7419b3b87827cc937c8bb20fe13b8571ee9501 libxml2-v2.9.10.tar.gz" | |
LIBBLURAY_SHA256SUM="a3dd452239b100dc9da0d01b30e1692693e2a332a7d29917bf84bb10ea7c0b42 libbluray-1.1.2.tar.bz2" | |
export LD_LIBRARY_PATH=/opt/ffmpeg/lib | |
export MAKEFLAGS="-j2" | |
export PKG_CONFIG_PATH="/opt/ffmpeg/share/pkgconfig:/opt/ffmpeg/lib/pkgconfig:/opt/ffmpeg/lib64/pkgconfig" | |
export PREFIX=/opt/ffmpeg | |
export LD_LIBRARY_PATH="/opt/ffmpeg/lib:/opt/ffmpeg/lib64:/usr/lib64:/usr/lib:/lib64:/lib" | |
## opencore-amr https://sourceforge.net/projects/opencore-amr/ | |
DIR=/tmp/opencore-amr | |
mkdir -p ${DIR} | |
cd ${DIR} | |
curl -sL https://versaweb.dl.sourceforge.net/project/opencore-amr/opencore-amr/opencore-amr-${OPENCOREAMR_VERSION}.tar.gz | \ | |
tar -zx --strip-components=1 | |
./configure --prefix="${PREFIX}" --enable-shared | |
make | |
make install | |
rm -rf ${DIR} | |
## x264 http://www.videolan.org/developers/x264.html | |
DIR=/tmp/x264 | |
mkdir -p ${DIR} | |
cd ${DIR} | |
curl -sL https://download.videolan.org/pub/videolan/x264/snapshots/x264-snapshot-${X264_VERSION}.tar.bz2 | \ | |
tar -jx --strip-components=1 | |
./configure --prefix="${PREFIX}" --enable-shared --enable-pic --disable-cli | |
make | |
make install | |
rm -rf ${DIR} | |
### x265 http://x265.org/ | |
DIR=/tmp/x265 | |
mkdir -p ${DIR} | |
cd ${DIR} | |
curl -sL https://download.videolan.org/pub/videolan/x265/x265_${X265_VERSION}.tar.gz | \ | |
tar -zx | |
cd x265_${X265_VERSION}/build/linux | |
sed -i "/-DEXTRA_LIB/ s/$/ -DCMAKE_INSTALL_PREFIX=\${PREFIX}/" multilib.sh | |
sed -i "/^cmake/ s/$/ -DENABLE_CLI=OFF/" multilib.sh | |
./multilib.sh | |
make -C 8bit install | |
rm -rf ${DIR} | |
### libogg https://www.xiph.org/ogg/ | |
DIR=/tmp/ogg | |
mkdir -p ${DIR} | |
cd ${DIR} | |
curl -sLO http://downloads.xiph.org/releases/ogg/libogg-${OGG_VERSION}.tar.gz | |
echo ${OGG_SHA256SUM} | sha256sum --check | |
tar -zx --strip-components=1 -f libogg-${OGG_VERSION}.tar.gz | |
./configure --prefix="${PREFIX}" --enable-shared | |
make | |
make install | |
rm -rf ${DIR} | |
### libopus https://www.opus-codec.org/ | |
DIR=/tmp/opus | |
mkdir -p ${DIR} | |
cd ${DIR} | |
curl -sLO https://archive.mozilla.org/pub/opus/opus-${OPUS_VERSION}.tar.gz | |
echo ${OPUS_SHA256SUM} | sha256sum --check | |
tar -zx --strip-components=1 -f opus-${OPUS_VERSION}.tar.gz | |
autoreconf -fiv | |
./configure --prefix="${PREFIX}" --enable-shared | |
make | |
make install | |
rm -rf ${DIR} | |
### libvorbis https://xiph.org/vorbis/ | |
DIR=/tmp/vorbis | |
mkdir -p ${DIR} | |
cd ${DIR} | |
curl -sLO http://downloads.xiph.org/releases/vorbis/libvorbis-${VORBIS_VERSION}.tar.gz | |
echo ${VORBIS_SHA256SUM} | sha256sum --check | |
tar -zx --strip-components=1 -f libvorbis-${VORBIS_VERSION}.tar.gz | |
./configure --prefix="${PREFIX}" --with-ogg="${PREFIX}" --enable-shared | |
make | |
make install | |
rm -rf ${DIR} | |
### libtheora http://www.theora.org/ | |
DIR=/tmp/theora && \ | |
mkdir -p ${DIR} && \ | |
cd ${DIR} && \ | |
curl -sLO http://downloads.xiph.org/releases/theora/libtheora-${THEORA_VERSION}.tar.gz && \ | |
echo ${THEORA_SHA256SUM} | sha256sum --check && \ | |
tar -zx --strip-components=1 -f libtheora-${THEORA_VERSION}.tar.gz && \ | |
./configure --prefix="${PREFIX}" --with-ogg="${PREFIX}" --enable-shared && \ | |
make && \ | |
make install && \ | |
rm -rf ${DIR} | |
### libvpx https://www.webmproject.org/code/ | |
DIR=/tmp/vpx && \ | |
mkdir -p ${DIR} && \ | |
cd ${DIR} && \ | |
curl -sL https://codeload.github.com/webmproject/libvpx/tar.gz/v${VPX_VERSION} | \ | |
tar -zx --strip-components=1 && \ | |
./configure --prefix="${PREFIX}" --enable-vp8 --enable-vp9 --enable-vp9-highbitdepth --enable-pic --enable-shared \ | |
--disable-debug --disable-examples --disable-docs --disable-install-bins && \ | |
make && \ | |
make install && \ | |
rm -rf ${DIR} | |
### libwebp https://developers.google.com/speed/webp/ | |
DIR=/tmp/vebp && \ | |
mkdir -p ${DIR} && \ | |
cd ${DIR} && \ | |
curl -sL https://storage.googleapis.com/downloads.webmproject.org/releases/webp/libwebp-${WEBP_VERSION}.tar.gz | \ | |
tar -zx --strip-components=1 && \ | |
./configure --prefix="${PREFIX}" --enable-shared && \ | |
make && \ | |
make install && \ | |
rm -rf ${DIR} | |
### libmp3lame http://lame.sourceforge.net/ | |
DIR=/tmp/lame && \ | |
mkdir -p ${DIR} && \ | |
cd ${DIR} && \ | |
curl -sL https://versaweb.dl.sourceforge.net/project/lame/lame/$(echo ${LAME_VERSION} | sed -e 's/[^0-9]*\([0-9]*\)[.]\([0-9]*\)[.]\([0-9]*\)\([0-9A-Za-z-]*\)/\1.\2/')/lame-${LAME_VERSION}.tar.gz | \ | |
tar -zx --strip-components=1 && \ | |
./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --enable-shared --enable-nasm --disable-frontend && \ | |
make && \ | |
make install && \ | |
rm -rf ${DIR} | |
### xvid https://www.xvid.com/ | |
DIR=/tmp/xvid && \ | |
mkdir -p ${DIR} && \ | |
cd ${DIR} && \ | |
curl -sLO http://downloads.xvid.org/downloads/xvidcore-${XVID_VERSION}.tar.gz && \ | |
echo ${XVID_SHA256SUM} | sha256sum --check && \ | |
tar -zx -f xvidcore-${XVID_VERSION}.tar.gz && \ | |
cd xvidcore/build/generic && \ | |
./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" && \ | |
make && \ | |
make install && \ | |
rm -rf ${DIR} | |
### fdk-aac https://github.com/mstorsjo/fdk-aac | |
DIR=/tmp/fdk-aac && \ | |
mkdir -p ${DIR} && \ | |
cd ${DIR} && \ | |
curl -sL https://github.com/mstorsjo/fdk-aac/archive/v${FDKAAC_VERSION}.tar.gz | \ | |
tar -zx --strip-components=1 && \ | |
autoreconf -fiv && \ | |
./configure --prefix="${PREFIX}" --enable-shared --datadir="${DIR}" && \ | |
make && \ | |
make install && \ | |
rm -rf ${DIR} | |
## openjpeg https://github.com/uclouvain/openjpeg | |
DIR=/tmp/openjpeg && \ | |
mkdir -p ${DIR} && \ | |
cd ${DIR} && \ | |
curl -sL https://github.com/uclouvain/openjpeg/archive/v${OPENJPEG_VERSION}.tar.gz | \ | |
tar -zx --strip-components=1 && \ | |
cmake -DBUILD_THIRDPARTY:BOOL=ON -DCMAKE_INSTALL_PREFIX="${PREFIX}" . && \ | |
make && \ | |
make install && \ | |
rm -rf ${DIR} | |
## freetype https://www.freetype.org/ | |
RUN \ | |
DIR=/tmp/freetype && \ | |
mkdir -p ${DIR} && \ | |
cd ${DIR} && \ | |
curl -sLO https://download.savannah.gnu.org/releases/freetype/freetype-${FREETYPE_VERSION}.tar.gz && \ | |
echo ${FREETYPE_SHA256SUM} | sha256sum --check && \ | |
tar -zx --strip-components=1 -f freetype-${FREETYPE_VERSION}.tar.gz && \ | |
./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ | |
make && \ | |
make install && \ | |
rm -rf ${DIR} | |
## libvstab https://github.com/georgmartius/vid.stab | |
RUN \ | |
DIR=/tmp/vid.stab && \ | |
mkdir -p ${DIR} && \ | |
cd ${DIR} && \ | |
curl -sLO https://github.com/georgmartius/vid.stab/archive/v${LIBVIDSTAB_VERSION}.tar.gz && \ | |
echo ${LIBVIDSTAB_SHA256SUM} | sha256sum --check && \ | |
tar -zx --strip-components=1 -f v${LIBVIDSTAB_VERSION}.tar.gz && \ | |
cmake -DCMAKE_INSTALL_PREFIX="${PREFIX}" . && \ | |
make && \ | |
make install && \ | |
rm -rf ${DIR} | |
## fridibi https://www.fribidi.org/ | |
RUN \ | |
DIR=/tmp/fribidi && \ | |
mkdir -p ${DIR} && \ | |
cd ${DIR} && \ | |
curl -sLO https://github.com/fribidi/fribidi/archive/${FRIBIDI_VERSION}.tar.gz && \ | |
echo ${FRIBIDI_SHA256SUM} | sha256sum --check && \ | |
tar -zx --strip-components=1 -f ${FRIBIDI_VERSION}.tar.gz && \ | |
sed -i 's/^SUBDIRS =.*/SUBDIRS=gen.tab charset lib bin/' Makefile.am && \ | |
./bootstrap --no-config --auto && \ | |
./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ | |
make -j1 && \ | |
make install && \ | |
rm -rf ${DIR} | |
## fontconfig https://www.freedesktop.org/wiki/Software/fontconfig/ | |
RUN \ | |
DIR=/tmp/fontconfig && \ | |
mkdir -p ${DIR} && \ | |
cd ${DIR} && \ | |
curl -sLO https://www.freedesktop.org/software/fontconfig/release/fontconfig-${FONTCONFIG_VERSION}.tar.bz2 && \ | |
tar -jx --strip-components=1 -f fontconfig-${FONTCONFIG_VERSION}.tar.bz2 && \ | |
./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ | |
make && \ | |
make install && \ | |
rm -rf ${DIR} | |
## libass https://github.com/libass/libass | |
RUN \ | |
DIR=/tmp/libass && \ | |
mkdir -p ${DIR} && \ | |
cd ${DIR} && \ | |
curl -sLO https://github.com/libass/libass/archive/${LIBASS_VERSION}.tar.gz && \ | |
echo ${LIBASS_SHA256SUM} | sha256sum --check && \ | |
tar -zx --strip-components=1 -f ${LIBASS_VERSION}.tar.gz && \ | |
./autogen.sh && \ | |
./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ | |
make && \ | |
make install && \ | |
rm -rf ${DIR} | |
## kvazaar https://github.com/ultravideo/kvazaar | |
DIR=/tmp/kvazaar && \ | |
mkdir -p ${DIR} && \ | |
cd ${DIR} && \ | |
curl -sLO https://github.com/ultravideo/kvazaar/archive/v${KVAZAAR_VERSION}.tar.gz && \ | |
tar -zx --strip-components=1 -f v${KVAZAAR_VERSION}.tar.gz && \ | |
./autogen.sh && \ | |
./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ | |
make && \ | |
make install && \ | |
rm -rf ${DIR} | |
DIR=/tmp/aom | |
cd /tmp | |
git clone --branch ${AOM_VERSION} --depth 1 https://aomedia.googlesource.com/aom | |
cd ${DIR} | |
rm -rf CMakeCache.txt CMakeFiles | |
mkdir -p ./aom_build | |
cd ./aom_build | |
cmake -DCMAKE_INSTALL_PREFIX="${PREFIX}" -DBUILD_SHARED_LIBS=1 .. | |
make | |
make install | |
rm -rf ${DIR} | |
## libxcb (and supporting libraries) for screen capture https://xcb.freedesktop.org/ | |
DIR=/tmp/xorg-macros && \ | |
mkdir -p ${DIR} && \ | |
cd ${DIR} && \ | |
curl -sLO https://www.x.org/archive//individual/util/util-macros-${XORG_MACROS_VERSION}.tar.gz && \ | |
tar -zx --strip-components=1 -f util-macros-${XORG_MACROS_VERSION}.tar.gz && \ | |
./configure --srcdir=${DIR} --prefix="${PREFIX}" && \ | |
make && \ | |
make install && \ | |
rm -rf ${DIR} | |
DIR=/tmp/xproto && \ | |
mkdir -p ${DIR} && \ | |
cd ${DIR} && \ | |
curl -sLO https://www.x.org/archive/individual/proto/xproto-${XPROTO_VERSION}.tar.gz && \ | |
tar -zx --strip-components=1 -f xproto-${XPROTO_VERSION}.tar.gz && \ | |
./configure --srcdir=${DIR} --prefix="${PREFIX}" && \ | |
make && \ | |
make install && \ | |
rm -rf ${DIR} | |
DIR=/tmp/libXau && \ | |
mkdir -p ${DIR} && \ | |
cd ${DIR} && \ | |
curl -sLO https://www.x.org/archive/individual/lib/libXau-${XAU_VERSION}.tar.gz && \ | |
tar -zx --strip-components=1 -f libXau-${XAU_VERSION}.tar.gz && \ | |
./configure --srcdir=${DIR} --prefix="${PREFIX}" && \ | |
make && \ | |
make install && \ | |
rm -rf ${DIR} | |
DIR=/tmp/libpthread-stubs && \ | |
mkdir -p ${DIR} && \ | |
cd ${DIR} && \ | |
curl -sLO https://xcb.freedesktop.org/dist/libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz && \ | |
tar -zx --strip-components=1 -f libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz && \ | |
./configure --prefix="${PREFIX}" && \ | |
make && \ | |
make install && \ | |
rm -rf ${DIR} | |
DIR=/tmp/libxcb-proto && \ | |
mkdir -p ${DIR} && \ | |
cd ${DIR} && \ | |
curl -sLO https://xcb.freedesktop.org/dist/xcb-proto-${XCBPROTO_VERSION}.tar.gz && \ | |
tar -zx --strip-components=1 -f xcb-proto-${XCBPROTO_VERSION}.tar.gz && \ | |
ACLOCAL_PATH="${PREFIX}/share/aclocal" ./autogen.sh && \ | |
./configure --prefix="${PREFIX}" && \ | |
make && \ | |
make install && \ | |
rm -rf ${DIR} | |
DIR=/tmp/libxcb && \ | |
mkdir -p ${DIR} && \ | |
cd ${DIR} && \ | |
curl -sLO https://xcb.freedesktop.org/dist/libxcb-${LIBXCB_VERSION}.tar.gz && \ | |
tar -zx --strip-components=1 -f libxcb-${LIBXCB_VERSION}.tar.gz && \ | |
ACLOCAL_PATH="${PREFIX}/share/aclocal" ./autogen.sh && \ | |
./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ | |
make && \ | |
make install && \ | |
rm -rf ${DIR} | |
## libxml2 - for libbluray | |
DIR=/tmp/libxml2 && \ | |
mkdir -p ${DIR} && \ | |
cd ${DIR} && \ | |
curl -sLO https://gitlab.gnome.org/GNOME/libxml2/-/archive/v${LIBXML2_VERSION}/libxml2-v${LIBXML2_VERSION}.tar.gz && \ | |
echo ${LIBXML2_SHA256SUM} | sha256sum --check && \ | |
tar -xz --strip-components=1 -f libxml2-v${LIBXML2_VERSION}.tar.gz && \ | |
./autogen.sh --prefix="${PREFIX}" --with-ftp=no --with-http=no --with-python=no && \ | |
make && \ | |
make install && \ | |
rm -rf ${DIR} | |
## libbluray - Requires libxml, freetype, and fontconfig | |
DIR=/tmp/libbluray && \ | |
mkdir -p ${DIR} && \ | |
cd ${DIR} && \ | |
curl -sLO https://download.videolan.org/pub/videolan/libbluray/${LIBBLURAY_VERSION}/libbluray-${LIBBLURAY_VERSION}.tar.bz2 && \ | |
echo ${LIBBLURAY_SHA256SUM} | sha256sum --check && \ | |
tar -jx --strip-components=1 -f libbluray-${LIBBLURAY_VERSION}.tar.bz2 && \ | |
./configure --prefix="${PREFIX}" --disable-examples --disable-bdjava-jar --disable-static --enable-shared && \ | |
make && \ | |
make install && \ | |
rm -rf ${DIR} | |
## lib nvenc | |
DIR=/tmp/nv-codec-headers | |
cd /tmp | |
git clone https://github.com/ffmpeg/nv-codec-headers.git | |
cd nv-codec-headers | |
make install | |
rm -rf ${DIR} | |
## lib vmaf | |
DIR=/tmp/vmaf | |
mkdir -p ${DIR} | |
cd ${DIR} | |
git clone --branch v1.3.15 https://github.com/Netflix/vmaf.git | |
cd /tmp/vmaf/vmaf/ptools | |
make -j $(nproc) | |
cd ../wrapper | |
make -j $(nproc) | |
cd .. | |
make install | |
rm -rf ${DIR} | |
## ffmpeg https://ffmpeg.org/ | |
DIR=/tmp/ffmpeg && mkdir -p ${DIR} && cd ${DIR} && \ | |
curl -sLO https://ffmpeg.org/releases/ffmpeg-${FFMPEG_VERSION}.tar.bz2 && \ | |
tar -jx --strip-components=1 -f ffmpeg-${FFMPEG_VERSION}.tar.bz2 | |
DIR=/tmp/ffmpeg && mkdir -p ${DIR} && cd ${DIR} && \ | |
./configure \ | |
--disable-debug \ | |
--disable-doc \ | |
--disable-ffplay \ | |
--enable-shared \ | |
--enable-avresample \ | |
--enable-libopencore-amrnb \ | |
--enable-libopencore-amrwb \ | |
--enable-gpl \ | |
--enable-libass \ | |
--enable-fontconfig \ | |
--enable-libfreetype \ | |
--enable-libmp3lame \ | |
--enable-libopus \ | |
--enable-libtheora \ | |
--enable-libvorbis \ | |
--enable-libvpx \ | |
--enable-libwebp \ | |
--enable-libxcb \ | |
--enable-libx265 \ | |
--enable-libxvid \ | |
--enable-libx264 \ | |
--enable-nonfree \ | |
--enable-openssl \ | |
--enable-libfdk_aac \ | |
--enable-postproc \ | |
--enable-small \ | |
--enable-version3 \ | |
--enable-libbluray \ | |
--prefix="${PREFIX}" \ | |
--enable-libopenjpeg \ | |
--enable-libkvazaar \ | |
--enable-libaom \ | |
--enable-cuda-sdk \ | |
--enable-libnpp \ | |
--enable-libvmaf \ | |
--extra-libs="-lpthread -lm -ldl" \ | |
--extra-cflags="-I/usr/local/cuda/include -I${PREFIX}/include" \ | |
--extra-ldflags="-L${PREFIX}/lib -L/usr/local/cuda/lib64" && \ | |
make && \ | |
make install && \ | |
make distclean && \ | |
hash -r && \ | |
cd tools && \ | |
make qt-faststart && \ | |
cp qt-faststart ${PREFIX}/bin | |
## cleanup | |
ldd ${PREFIX}/bin/ffmpeg | grep opt/ffmpeg | cut -d ' ' -f 3 | xargs -i cp {} /usr/local/lib/ && \ | |
cp ${PREFIX}/bin/* /usr/local/bin/ && \ | |
cp -r ${PREFIX}/share/ffmpeg /usr/local/share/ && \ | |
LD_LIBRARY_PATH=/usr/local/lib ffmpeg -buildconf | |
## bento4 https://github.com/axiomatic-systems/Bento4 | |
export LD_LIBRARY_PATH=/usr/local/lib:/usr/local/lib64:/usr/lib:/usr/lib64:/lib:/lib64 | |
export DEBIAN_FRONTEND=noninteractive | |
export BENTO4_INSTALL_DIR=/opt/bento4 | |
export PATH=/opt/bento4/bin:${PATH} | |
# Fetch source. | |
cd /tmp \ | |
&& git clone https://github.com/axiomatic-systems/Bento4 | |
# Create installation directories. | |
mkdir -p \ | |
${BENTO4_INSTALL_DIR}/bin \ | |
${BENTO4_INSTALL_DIR}/scripts \ | |
${BENTO4_INSTALL_DIR}/include | |
# Build. | |
cd /tmp/Bento4/Build/Targets/x86-unknown-linux \ | |
&& make AP4_BUILD_CONFIG=Release | |
# Install. | |
cd /tmp \ | |
&& cp -r Bento4/Build/Targets/x86-unknown-linux/Release/. ${BENTO4_INSTALL_DIR}/bin \ | |
&& cp -r Bento4/Source/Python/utils/. ${BENTO4_INSTALL_DIR}/utils \ | |
&& cp -r Bento4/Source/Python/wrappers/. ${BENTO4_INSTALL_DIR}/bin \ | |
&& cp -r Bento4/Source/C++/**/*.h . ${BENTO4_INSTALL_DIR}/include | |
## clean up bento4 | |
rm -rf /var/cache/* /tmp/* | |
##check install | |
which ffmpeg | |
##check bifferent color bits for x265 installs | |
ffmpeg -h encoder=libx265 2>/dev/null | grep pixel |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment