Skip to content

Instantly share code, notes, and snippets.

@toddp
Last active February 17, 2016 15:14
Show Gist options
  • Save toddp/9c5d3feecc1f2c97549e to your computer and use it in GitHub Desktop.
Save toddp/9c5d3feecc1f2c97549e to your computer and use it in GitHub Desktop.
downloads and compiles ffmpeg and its dependencies
#!/usr/bin/env bash
# builds FFMPEG and its dependencies
# as needed for Serviio
# http://wiki.serviio.org/doku.php?id=build_ffmpeg_linux
echo "include /usr/local/lib/" >> /etc/ld.so.conf
echo 'you may need to reboot, just added include to your ld.so.conf'
ldconfig
sudo apt-get remove ffmpeg x264 libx264-dev libvpx-dev librtmp0 librtmp-dev
sudo apt-get update
sudo apt-get install build-essential checkinstall git libfaac-dev libjack-jackd2-dev \
libmp3lame-dev libopencore-amrnb-dev libopencore-amrwb-dev libsdl1.2-dev libtheora-dev \
libva-dev libvdpau-dev libvorbis-dev libx11-dev libxfixes-dev texi2html zlib1g-dev \
libssl1.0.0 libssl-dev libxvidcore-dev libxvidcore4 libass-dev
#### YASM
cd ~
mkdir src
cd src
wget http://www.tortall.net/projects/yasm/releases/yasm-1.2.0.tar.gz
tar xzvf yasm-1.2.0.tar.gz
cd yasm-1.2.0
./configure
make
sudo checkinstall --pkgname=yasm --pkgversion="1.2.0" --backup=no \
--deldoc=yes --fstrans=no --default
### x264 LIB
cd ~/src
git clone git://git.videolan.org/x264
cd x264
./configure --enable-static --disable-opencl
make
sudo checkinstall --pkgname=x264 --pkgversion="3:$(./version.sh | \
awk -F'[" ]' '/POINT/{print $4"+git"$5}')" --backup=no --deldoc=yes \
--fstrans=no --default
#### LIBRTEMP
cd ~/src
git clone git://git.ffmpeg.org/rtmpdump
cd rtmpdump
make SYS=posix
sudo checkinstall --pkgname=rtmpdump --pkgversion="2:$(date +%Y%m%d%H%M)-git" --backup=no \
--deldoc=yes --fstrans=no --default
#### FFMPEG
cd ~/src
git clone --depth 1 git://git.videolan.org/ffmpeg
wget http://download.serviio.org/opensource/ffmpeg-N-54096-ge41bf19.tar.gz
tar xvf ffmpeg-N-54096-ge41bf19.tar.gz
cd ffmpeg
./configure --enable-gpl --enable-libfaac --enable-libmp3lame --enable-libopencore-amrnb \
--enable-libopencore-amrwb --enable-libtheora --enable-libvorbis --enable-libx264 \
--enable-nonfree --enable-postproc --enable-version3 --enable-x11grab --enable-librtmp \
--enable-libxvid --enable-libass
make
sudo checkinstall --pkgname=ffmpeg --pkgversion="99:$(date +%Y%m%d%H%M)-git" --backup=no \
--deldoc=yes --fstrans=no --default
### LIBVPX
cd ~/src
git clone https://chromium.googlesource.com/webm/libvpx
cd libvpx
./configure
make
sudo checkinstall --pkgname=libvpx --pkgversion="1:$(date +%Y%m%d%H%M)-git" --backup=no \
--deldoc=yes --fstrans=no --default
## rebuild FFMPEG
cd ~/src
cd ffmpeg
./configure --enable-gpl --enable-libfaac --enable-libmp3lame --enable-libopencore-amrnb \
--enable-libopencore-amrwb --enable-libtheora --enable-libvorbis --enable-libx264 \
--enable-nonfree --enable-postproc --enable-version3 --enable-x11grab --enable-librtmp \
--enable-libxvid --enable-libass --enable-libvpx
make
sudo checkinstall --pkgname=ffmpeg --pkgversion="99:$(date +%Y%m%d%H%M)-git" --backup=no \
--deldoc=yes --fstrans=no --default
## rebuild x264
sudo apt-get remove x264
cd ~/src/x264
rm *.deb
make distclean
./configure --enable-static
make
sudo checkinstall --pkgname=x264 --pkgversion="3:$(./version.sh | \
awk -F'[" ]' '/POINT/{print $4"+git"$5}')" --backup=no --deldoc=yes \
--fstrans=no --default
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment