Skip to content

Instantly share code, notes, and snippets.

@vuthaihoc
Last active July 27, 2018 18:34
Show Gist options
  • Save vuthaihoc/fd76cc5cfaa737f02cbde830281bb46d to your computer and use it in GitHub Desktop.
Save vuthaihoc/fd76cc5cfaa737f02cbde830281bb46d to your computer and use it in GitHub Desktop.
Build ffmpeg 4 with fdk-aac x264 x265 xvid lame on centos 6
apps:
- script : /path/to/artisan
name : 'converter'
interpreter : /path/to/php
cwd : /path/to/code
exec_mode: fork
args : args1 args2
autorestart : true
restart_delay : 30000
out_file : /path/to/log/converter.out.log
error_file : /path/to/log/converter.error.log
env :
LD_LIBRARY_PATH : :/usr/lib:/usr/local/lib:$HOME/ffmpeg_build/lib
# all required libs in user home dir, see building script above
rm -rf ~/ffmpeg_sources
rm -rf ~/ffmpeg_build
mkdir ~/ffmpeg_sources
############# yasm
cd ~/ffmpeg_sources && \
wget -O yasm-1.3.0.tar.gz https://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz && \
tar xzvf yasm-1.3.0.tar.gz && \
cd yasm-1.3.0 && \
./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin" && \
make && \
make install
############# X265
cd ~/ffmpeg_sources
wget http://ftp.videolan.org/pub/videolan/x265/x265_2.8.tar.gz
tar -xvf x265_2.8.tar.gz
cd x265_2.8/build
PATH="$HOME/bin:$PATH" cmake -DCMAKE_INSTALL_PREFIX="$HOME/ffmpeg_build" ../source
PATH="$HOME/bin:$PATH" make
PATH="$HOME/bin:$PATH" make install
export PKG_CONFIG_PATH="$HOME/ffmpeg_build/lib/pkgconfig"
############# fdk-aac
cd ~/ffmpeg_sources
git clone --depth 1 git://github.com/mstorsjo/fdk-aac.git
cd fdk-aac
autoreconf -fiv
./configure --prefix="$HOME/ffmpeg_build" --disable-shared
make
make install
make distclean
############# X264
cd ~/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" \
PKG_CONFIG_PATH="$HOME/ffmpeg_build/lib/pkgconfig" \
./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin" --enable-static --disable-asm
make
make install
############# lame
cd ~/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
PATH="$HOME/bin:$PATH" ./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin" --enable-nasm --disable-shared
PATH="$HOME/bin:$PATH" make
PATH="$HOME/bin:$PATH" make install
############# fribidi
cd ~/ffmpeg_sources && \
wget https://github.com/fribidi/fribidi/releases/download/v1.0.5/fribidi-1.0.5.tar.bz2 && \
tar xjvf fribidi-1.0.5.tar.bz2 && \
cd fribidi-1.0.5 && \
./autogen.sh && \
./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin" && \
make && \
make install
############# libass
cd ~/ffmpeg_sources
wget https://github.com/libass/libass/releases/download/0.14.0/libass-0.14.0.tar.gz
tar xzvf libass-0.14.0.tar.gz
cd libass-0.14.0
PATH="$HOME/bin:$PATH" \
PKG_CONFIG_PATH="$HOME/ffmpeg_build/lib/pkgconfig" \
./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin"
make
make install
############# libxvid
cd ~/ffmpeg_sources && \
wget http://downloads.xvid.org/downloads/xvidcore-1.3.5.tar.gz && \
tar xzvf xvidcore-1.3.5.tar.gz && \
cd xvidcore/build/generic/ && \
make distclean && \
PATH="$HOME/bin:$PATH" \
./configure --prefix="$HOME/ffmpeg_build" && \
make && \
make install
############# ffmpeg
cd ~/ffmpeg_sources
git clone --depth 1 git://source.ffmpeg.org/ffmpeg
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" \
--extra-libs="-ldl" \
--enable-gpl \
--enable-libass \
--enable-libfdk-aac \
--enable-libmp3lame \
--enable-nonfree \
--enable-libxvid \
--enable-libx264 \
--enable-libass \
--enable-libx265 \
--enable-libfreetype
PATH="$HOME/bin:$PATH" \
PKG_CONFIG_PATH="$HOME/ffmpeg_build/lib/pkgconfig" \
make
make install
echo "DONE"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment