Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save SteveClement/26d9c9035c635fb7bff05ff8eacd1a94 to your computer and use it in GitHub Desktop.
Save SteveClement/26d9c9035c635fb7bff05ff8eacd1a94 to your computer and use it in GitHub Desktop.
Install FFmpeg with libfdk_aac support (For Ubuntu)
# Criando um script .sh para executar todos os comandos
#user@servidor:~$ wget https://gist.githubusercontent.com/SteveClement/26d9c9035c635fb7bff05ff8eacd1a94/raw/d3a82be86039f72f25f8d2b8cbc6d5299be75cac/install_ffmpeg_libfdkaac.sh
#user@servidor:~$ chmod +x install_ffmpeg_libfdkaac.sh
#user@servidor:~$ ./install_ffmpeg_libfdkaac.sh
YOLO="true" # Living on the bleeding edge
x265="true" # Include libx265
mkdir -p ~/bin
sudo apt-get update
# Install base dependencies
if [[ "${x265}" == "true" ]]; then
sudo apt-get -y install libx265-dev libnuma-dev autoconf automake build-essential git-core libass-dev libgpac-dev libsdl1.2-dev libtheora-dev libtool libvdpau-dev libvorbis-dev libx11-dev libxext-dev libxfixes-dev pkg-config texi2html zlib1g-dev libmp3lame-dev nasm gcc yasm && true
else
sudo apt-get -y install autoconf automake build-essential git-core libass-dev libgpac-dev libsdl1.2-dev libtheora-dev libtool libvdpau-dev libvorbis-dev libx11-dev libxext-dev libxfixes-dev pkg-config texi2html zlib1g-dev libmp3lame-dev nasm gcc yasm && true
fi
mkdir -p ~/ffmpeg_sources
cd ~/ffmpeg_sources
if [[ -d fdk-aac/.git ]]; then
cd fdk-aac
git pull
else
git clone --depth 1 git://github.com/mstorsjo/fdk-aac.git
cd fdk-aac
fi
autoreconf -fiv
./configure --prefix="$HOME/ffmpeg_build" --disable-shared
make -j8
make install
make distclean
cd ~/ffmpeg_sources
# ToDo direxist checks
if [[ ! -z ${YOLO} ]]; then
[[ -d lame-3.100 ]] && rm -rf lame-3.100
wget https://sourceforge.net/projects/lame/files/lame/3.100/lame-3.100.tar.gz
tar xzvf lame-3.100.tar.gz
cd lame-3.100
else
sudo apt install -y subversion
[[ -d lame-svn ]] && rm -rf lame-svn
svn checkout https://svn.code.sf.net/p/lame/svn/trunk/lame lame-svn
cd lame-svn
fi
./configure --prefix="$HOME/ffmpeg_build" --enable-nasm --disable-shared
make -j8
make install
make distclean
cd ~/ffmpeg_sources
# ToDo direxist checks
if [[ ! -z ${YOLO} ]]; then
[[ -d ffmpeg-4.2.2 ]] && rm -rf ffmpeg-4.2.2
wget https://ffmpeg.org/releases/ffmpeg-4.2.2.tar.gz
tar xzvf ffmpeg-4.2.2.tar.gz
cd ffmpeg-4.2.2
else
if [[ -d ffmpeg ]]; then
cd ffmpeg
git pull
else
git clone https://git.ffmpeg.org/ffmpeg.git ffmpeg
cd ffmpeg
fi
fi
PKG_CONFIG_PATH="$HOME/ffmpeg_build/lib/pkgconfig"
export PKG_CONFIG_PATH
if [[ ${x265} == "true" ]]; then
./configure --prefix="/var/lib/ffmpeg/ffmpeg_build" \
--extra-cflags="-I/var/lib/ffmpeg/ffmpeg_build/include" --extra-ldflags="-L/var/lib/ffmpeg/ffmpeg_build/lib" \
--bindir="/var/lib/ffmpeg/bin" --extra-libs="-ldl" --enable-gpl --enable-libass --enable-libfdk-aac \
--enable-gpl --enable-libx265 --enable-libmp3lame --enable-nonfree
else
./configure --prefix="$HOME/ffmpeg_build" \
--extra-cflags="-I$HOME/ffmpeg_build/include" --extra-ldflags="-L$HOME/ffmpeg_build/lib" \
--bindir="$HOME/bin" --extra-libs="-ldl" --enable-gpl --enable-libass --enable-libfdk-aac \
--enable-libmp3lame --enable-nonfree
fi
make -j8
make install
cp -i ffmpeg ~/bin/
cp -i ffprobe ~/bin/
make distclean
hash -r
~/bin/ffmpeg 2>&1 | head -n1
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment