Skip to content

Instantly share code, notes, and snippets.

@valotvince
Last active August 29, 2015 14:24
Show Gist options
  • Save valotvince/6ff7d29c417f816ac763 to your computer and use it in GitHub Desktop.
Save valotvince/6ff7d29c417f816ac763 to your computer and use it in GitHub Desktop.
# Add multimedia source
echo "deb http://http.us.debian.org/debian sid main non-free contrib" >> /etc/apt/sources.list
echo "deb-src http://http.us.debian.org/debian sid main non-free contrib" >> /etc/apt/sources.list
apt-get update
# Go to local source directory
cd /tmp
# Become root
su -
apt-get remove -y x264 x264-dev
# Install all dependencies we'll need
aptitude install \
-y \
libfaad-dev \
faad \
faac \
libfaac0 \
libfaac-dev \
libmp3lame-dev \
x264 \
libx264-dev \
libxvidcore-dev \
build-essential \
checkinstall
apt-get install frei0r-plugins-dev libdc1394-22-dev libfaac-dev \
libmp3lame-dev libx264-dev libdirac-dev libfreetype6-dev \
libvorbis-dev libgsm1-dev libopencore-amrnb-dev libopencore-amrwb-dev \
libopenjpeg-dev librtmp-dev libschroedinger-dev libspeex-dev libtheora-dev \
libva-dev libvpx-dev libvo-amrwbenc-dev libvo-aacenc-dev libbz2-dev \
libssl-dev libopenal-dev libv4l-dev libpulse-dev libmodplug-dev \
libass-dev libcdio-dev libcdio-cdda-dev libcdio-paranoia-dev libvdpau-dev \
libxfixes-dev libxext-dev libbluray-dev
# Install all build dependencies for ffmpeg
apt-get build-dep ffmpeg
# Get the actual ffmpeg source code
apt-get source ffmpeg
# Go into the ffmpeg source directory
cd ffmpeg-*
# Configure it
./configure --enable-gpl --enable-nonfree --enable-libfaac --enable-libgsm --enable-libmp3lame --enable-libtheora --enable-libvorbis --enable-libx264 --enable-libxvid --enable-zlib --enable-postproc --enable-swscale --enable-pthreads --enable-x11grab --enable-libdc1394 --enable-version3 --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libvpx --enable-libfdk-aac
# a fix
mkdir -p /usr/local/share/ffmpeg
# Generate the debian package (*.deb)
checkinstall -D --install=no --pkgname=ffmpeg --autodoinst=yes -y
# if after this step you'll probably will get an error
# libavcodec/libx264.c:492: undefined reference to `x264_encoder_open_125'
# here's a solution:
cd ..
apt-get remove x264
git clone git://git.videolan.org/x264.git
cd x264
./configure --enable-static --enable-shared
make && make install
ldconfig
cd .. && cd ffmpeg*
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/src/x264/libx264.a ./configure --enable-gpl --enable-nonfree --enable-libfaac --enable-libgsm --enable-libmp3lame --enable-libtheora --enable-libvorbis --enable-libx264 --enable-libxvid --enable-zlib --enable-postproc --enable-swscale --enable-pthreads --enable-x11grab --enable-libdc1394 --enable-version3 --enable-libopencore-amrnb --enable-libopencore-amrwb--enable-libvpx --enable-libfdk-aac
make clean
checkinstall -D --install=no --pkgname=ffmpeg-full --autodoinst=yes -y
# install the package :)
dpkg -i ffmpeg-full_*-1_amd64.deb
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment