Compile FFmpeg on CentOS 6.x
官方文档:http://trac.ffmpeg.org/wiki/CentosCompilationGuide
推荐看官方文档,更详细
此文档适用于centos 6.x系列
安装必要依赖包:
mkdir ~/ffmpeg_sources
yum install -y autoconf automake gcc gcc-c++ git libtool make nasm pkgconfig zlib-devel
安装yasm:
cd ~/ffmpeg_sources
curl -O http://www.tortall.net/projects/yasm/releases/yasm-1.2.0.tar.gz
tar xf yasm-1.2.0.tar.gz
cd yasm-1.2.0
./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin"
make -j 8
make install
make distclean
. ~/.bash_profile
安装x264:
cd ~/ffmpeg_sources
git clone --depth 1 git://git.videolan.org/x264
cd x264
./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin" --enable-static
make -j 8
make install
make distclean
安装libfdk_aac:
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 -j 8
make install
make distclean
安装libmp3lame:
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 -j 8
make install
make distclean
安装libopus:
cd ~/ffmpeg_sources
curl -O http://downloads.xiph.org/releases/opus/opus-1.0.3.tar.gz
tar xzvf opus-1.0.3.tar.gz
cd opus-1.0.3
./configure --prefix="$HOME/ffmpeg_build" --disable-shared
make -j 8
make install
make distclean
安装libogg:
cd ~/ffmpeg_sources
curl -O http://downloads.xiph.org/releases/ogg/libogg-1.3.1.tar.gz
tar xzvf libogg-1.3.1.tar.gz
cd libogg-1.3.1
./configure --prefix="$HOME/ffmpeg_build" --disable-shared
make -j 8
make install
make distclean
安装libvorbis:
cd ~/ffmpeg_sources
curl -O http://downloads.xiph.org/releases/vorbis/libvorbis-1.3.3.tar.gz
tar xzvf libvorbis-1.3.3.tar.gz
cd libvorbis-1.3.3
./configure --prefix="$HOME/ffmpeg_build" --with-ogg="$HOME/ffmpeg_build" --disable-shared
make -j 8
make install
make distclean
安装libvpx:
cd ~/ffmpeg_sources
git clone --depth 1 http://git.chromium.org/webm/libvpx.git
cd libvpx
./configure --prefix="$HOME/ffmpeg_build" --disable-examples
make -j 8
make install
make clean
安装ffmpeg:
cd ~/ffmpeg_sources
git clone --depth 1 git://source.ffmpeg.org/ffmpeg
cd ffmpeg
PKG_CONFIG_PATH="$HOME/ffmpeg_build/lib/pkgconfig"
export PKG_CONFIG_PATH
./configure --prefix="$HOME/ffmpeg_build" --extra-cflags="-I$HOME/ffmpeg_build/include" --extra-ldflags="-L$HOME/ffmpeg_build/lib" --bindir="$HOME/bin" --extra-libs="-ldl" --enable-gpl --enable-nonfree --enable-libfdk_aac --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-libvpx --enable-libx264
make -j 8
make install
make tools/qt-faststart
cp -af tools/qt-faststart /usr/bin/
echo "/usr/bin/qt-faststart" >> /etc/ld.so.conf
ldconfig
make distclean
hash -r
. ~/.bash_profile
转成mp4格式视频:
ffmpeg -y -i bb.mp4 -i WaterMark.png -filter_complex 'overlay=main_w-overlay_w:10:1' -s 672x378 -crf 22 -r 20 -threads 0 -c:v libx264 -preset slow -qp 0 bbnew-21.mp4
-i bb.mp4指定源视频
Bbnew-21.mp4是新转出来的视频
-i WaterMark.png -filter_complex 'overlay=main_w-overlay_w:10:1' 指定水印图片,必须为png文件,main_w-overlay_w:10:1是图片位于视频右上角,不用这段则默认在左上角
-s 672x378:指定分辨率
-r 22:指定帧速率
-ab 128K:指定音频码率
-ac 2:指定双音道
-qp 0:无损转码
-preset slow:转码速度快慢了
-c:v libx264:指定用x264转码
其它参数自己百度,谷歌,或看官方文档了
提取视频缩略图:
ffmpeg -y -ss 20 -t 00:00:01 -i bbnew-21.mp4 -s 160x90 -r 1 -f mjpeg bb.jpg
-ss 20 第20秒
-i bbnew-21.mp4 指定源视频
-f mjpeg 指定图片格式
2015 年 1 月 9 日 上午 9:12 沙发
very good,找了好久啊。哈哈。