Created
September 5, 2020 10:40
-
-
Save Anan5a/e927a8f41d59a3c18bb5113de634fb8b to your computer and use it in GitHub Desktop.
This file contains 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 | |
# This script is tested on Debian 10 with non-free source added | |
echo "Building shared ffmpeg executable with vaapi, fdkaac, zimg ..." | |
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib:/lib:/usr/lib | |
echo "Installing build tools ..." | |
apt -qqy install build-essential autoconf automake cmake libtool git nasm yasm | |
PROC=$(nproc) | |
mkdir ffmpegtemp | |
cd ffmpegtemp | |
#To build with AV1 uncomment below code and add --enable-aom switch in ffmpeg configure option | |
#mkdir aom | |
#cd aom | |
#git clone https://aomedia.googlesource.com/aom | |
#cmake aom/ -DBUILD_SHARED_LIBS=1 | |
#make -j$PROC | |
#make install | |
#cd .. | |
echo "Installing AviSynthPlus ..." | |
git clone https://github.com/pinterf/AviSynthPlus.git | |
cd AviSynthPlus | |
make install | |
cd .. | |
echo "Installing zimg ..." | |
git clone https://github.com/sekrit-twc/zimg.git | |
cd zimg | |
./autogen.sh | |
./configure | |
make -j$PROC | |
make install | |
cd .. | |
cd .. | |
echo "Installing needed dependencies ..." | |
apt -qqy install libmysofa-dev libfdk-aac-dev libbluray-dev build-essential autoconf automake cmake libtool git nasm yasm libass-dev libfreetype6-dev libsdl2-dev p11-kit libva-dev libvdpau-dev libvorbis-dev libxcb1-dev libxcb-shm0-dev libxcb-xfixes0-dev pkg-config texinfo wget zlib1g-dev libchromaprint-dev frei0r-plugins-dev gnutls-dev ladspa-sdk libcaca-dev libcdio-paranoia-dev libcodec2-dev libfontconfig1-dev libfreetype6-dev libfribidi-dev libgme-dev libgsm1-dev libjack-dev libmodplug-dev libmp3lame-dev libopencore-amrnb-dev libopencore-amrwb-dev libopenjp2-7-dev libopenmpt-dev libopus-dev libpulse-dev librsvg2-dev librubberband-dev librtmp-dev libshine-dev libsmbclient-dev libsnappy-dev libsoxr-dev libspeex-dev libssh-dev libtesseract-dev libtheora-dev libtwolame-dev libv4l-dev libvo-amrwbenc-dev libvorbis-dev libvpx-dev libwavpack-dev libwebp-dev libx264-dev libx265-dev libxvidcore-dev libxml2-dev libzmq3-dev libzvbi-dev liblilv-dev libopenal-dev opencl-dev libjack-dev | |
echo "Getting ffmpeg source ..." | |
git clone git://source.ffmpeg.org/ffmpeg ffmpeg-master | |
cd ffmpeg-master | |
echo "Configuring ffmpeg ..." | |
./configure \ | |
--extra-version=anan5a-$(date +%F) \ | |
--enable-gpl \ | |
--enable-version3 \ | |
--disable-shared \ | |
--enable-vaapi \ | |
--enable-small \ | |
--enable-avisynth \ | |
--enable-chromaprint \ | |
--enable-frei0r \ | |
--enable-gmp \ | |
--enable-gnutls \ | |
--enable-ladspa \ | |
--enable-libass \ | |
--enable-libcaca \ | |
--enable-libcdio \ | |
--enable-libcodec2 \ | |
--enable-libfontconfig \ | |
--enable-libfreetype \ | |
--enable-libfribidi \ | |
--enable-libgme \ | |
--enable-libgsm \ | |
--enable-libjack \ | |
--enable-libmodplug \ | |
--enable-libmp3lame \ | |
--enable-libopencore-amrnb \ | |
--enable-libopencore-amrwb \ | |
--enable-libopencore-amrwb \ | |
--enable-libopenjpeg \ | |
--enable-libopenmpt \ | |
--enable-libopus \ | |
--enable-libpulse \ | |
--enable-librsvg \ | |
--enable-librubberband \ | |
--enable-librtmp \ | |
--enable-libshine \ | |
--enable-libsnappy \ | |
--enable-libsoxr \ | |
--enable-libspeex \ | |
--enable-libssh \ | |
--enable-libtesseract \ | |
--enable-libtheora \ | |
--enable-libtwolame \ | |
--enable-libv4l2 \ | |
--enable-libvo-amrwbenc \ | |
--enable-libvorbis \ | |
--enable-libvpx \ | |
--enable-libwavpack \ | |
--enable-libwebp \ | |
--enable-libx264 \ | |
--enable-libx265 \ | |
--enable-libxvid \ | |
--enable-libxml2 \ | |
--enable-libzmq \ | |
--enable-libzvbi \ | |
--enable-lv2 \ | |
--enable-openal \ | |
--enable-opencl \ | |
--enable-opengl \ | |
--enable-libdrm \ | |
--enable-nonfree \ | |
--enable-libfdk-aac \ | |
--enable-libbluray \ | |
--enable-libzimg | |
echo "####### Building ffmpeg with ${PROC} threads ... #######" | |
make -j$PROC | |
apt -qqy purge ffmpeg | |
apt -qqy autoremove | |
make uninstall | |
make install | |
cd .. | |
#rm -rf ffmpeg-master | |
cd .. | |
#rm -rf ffmpegtemp | |
pwd | |
echo "Done building ..." |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment