Created
April 6, 2016 01:12
-
-
Save Teagan42/76ddd496e2ee31792247a5c3110f11c6 to your computer and use it in GitHub Desktop.
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
# Install Dependencies | |
sudo apt-get update | |
sudo apt-get -y --force-yes install autoconf automake build-essential libass-dev libfreetype6-dev \ | |
libsdl1.2-dev libtheora-dev libtool libva-dev libvdpau-dev libvorbis-dev libxcb1-dev libxcb-shm0-dev \ | |
libxcb-xfixes0-dev pkg-config texinfo zlib1g-dev | |
mkdir /tmp/ffmpeg_sources | |
# YASM | |
sudo apt-get -y --force-yes install yasm | |
# H.264 Video Encoder | |
cd /tmp/ffmpeg_sources | |
wget http://download.videolan.org/pub/x264/snapshots/last_x264.tar.bz2 | |
tar xjvf last_x264.tar.bz2 | |
cd x264-snapshot* | |
PATH="$HOME/bin:$PATH" ./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin" --enable-static | |
PATH="$HOME/bin:$PATH" make | |
make install | |
make distclean | |
# H.265 Video Encoder | |
sudo apt-get -y --force-yes install cmake mercurial | |
cd /tmp/ffmpeg_sources | |
hg clone https://bitbucket.org/multicoreware/x265 | |
cd ~/ffmpeg_sources/x265/build/linux | |
PATH="$HOME/bin:$PATH" cmake -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX="$HOME/ffmpeg_build" -DENABLE_SHARED:bool=off ../../source | |
make | |
make install | |
make distclean | |
# AAC Audio Encoder | |
sudo apt-get -y --force-yes install libtool | |
cd /tmp/ffmpeg_sources | |
wget -O fdk-aac.tar.gz https://github.com/mstorsjo/fdk-aac/tarball/master | |
tar xzvf fdk-aac.tar.gz | |
cd mstorsjo-fdk-aac* | |
autoreconf -fiv | |
./configure --prefix="$HOME/ffmpeg_build" --disable-shared | |
make | |
make install | |
make distclean | |
# MP3 Audio Encoder | |
sudo apt-get -y --force-yes install nasm | |
cd /tmp/ffmpeg_sources | |
wget http://downloads.sourceforge.net/project/lame/lame/3.99/lame-3.99.5.tar.gz | |
tar xzvf lame-3.99.5.tar.gz | |
cd lame-3.99.5 | |
./configure --prefix="$HOME/ffmpeg_build" --enable-nasm --disable-shared | |
make | |
make install | |
make distclean | |
# Opus Audio Decoder/Encoder | |
cd /tmp/ffmpeg_sources | |
wget http://downloads.xiph.org/releases/opus/opus-1.1.tar.gz | |
tar xzvf opus-1.1.tar.gz | |
cd opus-1.1 | |
./configure --prefix="$HOME/ffmpeg_build" --disable-shared | |
make | |
make install | |
make clean | |
# VPX Video Decoder/Encoder | |
cd /tmp/ffmpeg_sources | |
wget http://storage.googleapis.com/downloads.webmproject.org/releases/webm/libvpx-1.5.0.tar.bz2 | |
tar xjvf libvpx-1.5.0.tar.bz2 | |
cd libvpx-1.5.0 | |
PATH="$HOME/bin:$PATH" ./configure --prefix="$HOME/ffmpeg_build" --disable-examples --disable-unit-tests | |
PATH="$HOME/bin:$PATH" make | |
make install | |
make clean | |
# Compile FFMPEG | |
cd /tmp/ffmpeg_sources | |
wget http://ffmpeg.org/releases/ffmpeg-snapshot.tar.bz2 | |
tar xjvf ffmpeg-snapshot.tar.bz2 | |
cd ffmpeg | |
PATH="$HOME/bin:$PATH" PKG_CONFIG_PATH="$HOME/ffmpeg_build/lib/pkgconfig" ./configure \ | |
--prefix="$HOME/ffmpeg_build" \ | |
--pkg-config-flags="--static" \ | |
--extra-cflags="-I$HOME/ffmpeg_build/include" \ | |
--extra-ldflags="-L$HOME/ffmpeg_build/lib" \ | |
--bindir="$HOME/bin" \ | |
--enable-gpl \ | |
--enable-libass \ | |
--enable-libfdk-aac \ | |
--enable-libfreetype \ | |
--enable-libmp3lame \ | |
--enable-libopus \ | |
--enable-libtheora \ | |
--enable-libvorbis \ | |
--enable-libvpx \ | |
--enable-libx264 \ | |
--enable-libx265 \ | |
--enable-nonfree | |
PATH="$HOME/bin:$PATH" make | |
make install | |
make distclean | |
hash -r | |
# Cleanup | |
cd ~ | |
sudo rm -rf /tmp/ffmpeg_sources | |
sudo rm -rf $HOME/ffmpeg_build |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment