系統環境:CentOS release 6.7 (Final)php
編譯安裝ffmpeglinux
yum install -y autoconf automake cmake freetype-devel gcc gcc-c++ git libtool make mercurial nasm pkgconfig zlib-devel
mkdir ~/ffmpeg_sources
Note:若是您不須要特定的編碼器,能夠跳過相關部分,而後刪除編譯ffmpeg 時相應的./configure選項。例如,若是不須要libvorbis ,能夠跳過這一節,而後從安裝ffmpeg的部分去掉–enable-libvorbisgit
Ysam是X264和FFmpeg使用的彙編程序。github
cd ~/ffmpeg_sources git clone --depth 1 git://github.com/yasm/yasm.git cd yasm autoreconf -fiv ./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin" make make install make distclean
libx264 視頻編碼器。更多說明和用法示例能夠參考:https://trac.ffmpeg.org/wiki/Encode/H.264
須要ffmpeg編譯的時候添加–enable-gpl –enable-libx264web
cd ~/ffmpeg_sources git clone --depth 1 git://git.videolan.org/x264 cd x264 PKG_CONFIG_PATH="$HOME/ffmpeg_build/lib/pkgconfig" ./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin" --enable-static make make install make distclean
H.265/HEVC 視頻編碼器。更多說明和用法示例能夠參考:https://trac.ffmpeg.org/wiki/Encode/H.265編程
須要ffmpeg編譯的時候添加–enable-gpl –enable-libx265centos
cd ~/ffmpeg_sources hg clone https://bitbucket.org/multicoreware/x265 cd ~/ffmpeg_sources/x265/build/linux cmake -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX="$HOME/ffmpeg_build" -DENABLE_SHARED:bool=off ../../source make make install
AAC 音頻編碼器。
須要ffmpeg編譯的時候添加–enable-libfdk-aac (以及 –enable-nonfree 若是你添加了 –enable-gpl的話)bash
cd ~/ffmpeg_sources
git clone --depth 1 git://git.code.sf.net/p/opencore-amr/fdk-aac cd fdk-aac autoreconf -fiv ./configure --prefix="$HOME/ffmpeg_build" --disable-shared make make install make distclean
MP3 音頻編碼器.curl
須要ffmpeg編譯的時候添加 –enable-libmp3lameide
cd ~/ffmpeg_sources
curl -L -O 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" --bindir="$HOME/bin" --disable-shared --enable-nasm make make install make distclean
Opus 音頻編解碼器.
須要ffmpeg編譯的時候添加 –enable-libopus
cd ~/ffmpeg_sources
git clone https://git.xiph.org/opus.git cd opus autoreconf -fiv ./configure --prefix="$HOME/ffmpeg_build" --disable-shared make make install make distclean
Ogg 比特流庫.。libtheora and libvorbis須要
cd ~/ffmpeg_sources
curl -O http://downloads.xiph.org/releases/ogg/libogg-1.3.2.tar.gz tar xzvf libogg-1.3.2.tar.gz cd libogg-1.3.2 ./configure --prefix="$HOME/ffmpeg_build" --disable-shared make make install make distclean
Vorbis 音頻編碼器. 須要 libogg
須要ffmpeg編譯的時候添加 –enable-libvorbis
cd ~/ffmpeg_sources curl -O http://downloads.xiph.org/releases/vorbis/libvorbis-1.3.4.tar.gz tar xzvf libvorbis-1.3.4.tar.gz cd libvorbis-1.3.4 LDFLAGS="-L$HOME/ffmeg_build/lib" CPPFLAGS="-I$HOME/ffmpeg_build/include" ./configure --prefix="$HOME/ffmpeg_build" --with-ogg="$HOME/ffmpeg_build" --disable-shared make make install make distclean
VP8/VP9 視頻編碼器.
須要ffmpeg編譯的時候添加 –enable-libvpx.
cd ~/ffmpeg_sources
git clone https://github.com/webmproject/libvpx.git cd libvpx ./configure --prefix="$HOME/ffmpeg_build" --disable-examples make make install make clean
cd ~/ffmpeg_sources
git clone https://github.com/FFmpeg/FFmpeg.git cd FFmpeg export PKG_CONFIG_PATH="$HOME/ffmpeg_build/lib/pkgconfig" ./configure --prefix="$HOME/ffmpeg_build" --extra-cflags="-I$HOME/ffmpeg_build/include" --extra-ldflags="-L$HOME/ffmpeg_build/lib" --bindir="$HOME/bin" --pkg-config-flags="--static" --enable-gpl --enable-nonfree --enable-libfdk-aac --enable-libfreetype --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 make make install make distclean hash -r
注意:
這個 表紅線部分刪掉
php調用ffmpeg轉碼視頻
$cmd = 'FFMPEG -i uploadfile/video/test.wmv -c:v libx264 -strict -2 uploadfile/mp4/test.mp4';
exec($cmd, $status);
至此,編譯ffmpeg完成, ffmpeg (包括 ffprobe, ffserver, lame, 和 x264已經可使用
Done ^^
參考:
ffmpeg安裝指南:https://trac.ffmpeg.org/wiki/CompilationGuide
ffmpeg安裝指南(centos):https://trac.ffmpeg.org/wiki/CompilationGuide/Centos
ffmpeg Git地址:https://github.com/FFmpeg/FFmpeg