Skip to content

Instantly share code, notes, and snippets.

@krzemienski
Last active August 28, 2023 19:03
Show Gist options
  • Save krzemienski/e51a0b7a6ba77e616f954e516783270c to your computer and use it in GitHub Desktop.
Save krzemienski/e51a0b7a6ba77e616f954e516783270c to your computer and use it in GitHub Desktop.
compile and install latest ffmpeg source as pkg
#!/bin/bash
sudo apt -y install build-essential autoconf automake cmake libtool git checkinstall
mkdir ffmpegtemp
cd ffmpegtemp
mkdir aom
cd aom
git clone https://aomedia.googlesource.com/aom
cmake aom/ -DBUILD_SHARED_LIBS=1
make
sudo checkinstall -y --deldoc=yes --pkgversion=1.0.0
cd ..
git clone https://github.com/hoene/libmysofa.git
cd mysopha
cd build
cmake ..
cd build
cpack
sudo apt remove libmysopha0 libmysopha-dev
sudo dpkg -i *.deb
cd..
sudo apt -y install build-essential autoconf automake cmake libtool git \
checkinstall 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
sudo apt -y install libbluray-dev libfdk-aac-dev
wget https://ffmpeg.org/releases/ffmpeg-4.2.1.tar.bz2
tar -xf ffmpeg-4.2.1.tar.bz2
rm ffmpeg-4.2.1.tar.bz2
cd ffmpeg-4.2.1
./configure --enable-gpl --enable-version3 --disable-static \
--enable-shared --enable-small --enable-avisynth --enable-chromaprint \
--enable-frei0r --enable-gmp --enable-gnutls --enable-ladspa \
--enable-libaom --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-libmysofa \
--enable-openal --enable-opencl --enable-opengl --enable-libdrm \
--enable-nonfree --enable-libfdk-aac --enable-libbluray \
--enable-nvenc
sudo apt -y purge ffmpeg "libav*" " libpostproc*"
sudo apt -y autoremove
sudo checkinstall -y --deldoc=yes --pkgversion=10:4.2.1-1
cd ..
rm -rf ffmpegtemp
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment