优雅的FFmpeg安装
FFmpeg 功能
FFmpeg(全名是Fast Forward MPEG(Moving Picture Experts Group))是全球领先的多媒体框架,能够解码(decode)、编码(encode)、转码(transcode)、复用(mux)、解复用(demux)、流化(stream)、滤波(filter)和播放几乎任何人类和机器创造的多媒体文件。
CT归纳:FFmpeg可以让我们执行终端命令,一键完成对视频图片所有你想要的操作。
Centos 篇
走完流程后的文件目录
/usr/local/src/ffmpeg_sources下载安装包路径
/root/ffmpeg_build构建和函数库目录
/root/bin安装函数库后的执行目录
安装依赖库
# yum installautoconf automake bzip2cmake freetype-devel gcc gcc-c++ git libtool makemercurial pkgconfig zlib-devel
# cd/usr/local/src/mkdirffmpeg_sourcescdffmpeg_sources
NASM 安装
$HOME 为用户目录 ,echo $HOME 查看位置
# curl -O -L http://www.nasm.us/pub/nasm/releasebuilds/2.13.01/nasm-2.13.01.tar.bz2
# tar xjvf nasm-2.13.01.tar.bz2
# cd nasm-2.13.01
# ./autogen.sh
# ./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin"
# make && make install
Yasm 安装
# cd ..
# curl -O -L http://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
libx264 安装
H.264 视频编码器
ffmpeg 编译时要加上参数 --enable-gpl --enable-libx264
# cd ..
# git clone --depth 1 http://git.videolan.org/git/x264
# cd x264
# PKG_CONFIG_PATH="$HOME/ffmpeg_build/lib/pkgconfig" ./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin" --enable-static
# make && make install
有可能会出现这样的错误
Found no assembler
Minimum version is nasm-2.13
If you really want to compile without asm, configure with
--disable-asm.
请安装对应版本或更高版本的 nasm,不好意思我没有出现
libx265 安装
H.265/HEVC 视频编码器
ffmpeg 编译时要加上参数 --enable-gpl --enable-libx265
# cd ..
# hg clone https://bitbucket.org/multicoreware/x265
# cd x265/build/linux/
# cmake -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX="$HOME/ffmpeg_build" -DENABLE_SHARED:bool=off ../../source
# make && make install
libfdk_aac 安装
AAC 音频编码器
ffmpeg 编译时要加上参数 --enable-libfdk_aac (和 --enable-nonfree 若你加了 –enable-gpl 参数的话)
# cd /usr/local/src/ffmpeg_sources/
# git clone --depth 1 https://github.com/mstorsjo/fdk-aac
# cd fdk-aac
# autoreconf -fiv
# ./configure --prefix="$HOME/ffmpeg_build" --disable-shared
# make && make install
libmp3lame 安装
mp3 音频编码器
ffmpeg 编译时要加上参数 --enable-libmp3lame
# cd ..
# curl -O -L 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
libopus 安装
Opus 音频解码器和编码器
ffmpeg 编译时要加上参数 --enable-libopus
# cd ..
# curl -O -L https://archive.mozilla.org/pub/opus/opus-1.2.tar.gz
# tar xzvf opus-1.2.tar.gz
# cd opus-1.2
# ./configure --prefix="$HOME/ffmpeg_build" --disable-shared
# make && make install
libogg 安装
比特流库,需要 libtheora 和 libvorbis
# cd ..
# curl -O -L 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
libvorbis 安装
Vorbis 音频编码器,需要 libogg
ffmpeg 编译时要加上参数 --enable-libvorbis
# cd ..
# curl -O -L http://downloads.xiph.org/releases/vorbis/libvorbis-1.3.5.tar.gz
# tar xzvf libvorbis-1.3.5.tar.gz
# cd libvorbis-1.3.5
# ./configure --prefix="$HOME/ffmpeg_build"--with-ogg="$HOME/ffmpeg_build" --disable-shared
# make && make install
可能会报找不到OGG错误,请重新装libogg,失败可多尝试几次。
libvpx 安装
VP8/VP9 编码器和解码器
ffmpeg 编译时要加上参数 --enable-libvpx
# git clone --depth 1 https://github.com/webmproject/libvpx.git
# cd libvpx
# ./configure --prefix="$HOME/ffmpeg_build" --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=yasm
# make && make install
FFmpeg 安装
# cd ..
# curl -O -L https://ffmpeg.org/releases/ffmpeg-snapshot.tar.bz2
# tar xjvf ffmpeg-snapshot.tar.bz2
# 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" \
--extra-libs=-lpthread \
--bindir="$HOME/bin" \
--enable-gpl \
--enable-libfdk_aac \
--enable-libfreetype \
--enable-libmp3lame \
--enable-libopus \
--enable-libvorbis \
--enable-libvpx \
--enable-libx264 \
--enable-libx265 \
--enable-nonfree
# make
# make install
安装完成,测试一下。我在 /mnt/hgfs/www/test 目录下放了个视频 test.mp4 ,使用 ffmpeg 提取视频中图像
cd /mnt/hgfs/www/test
ffmpeg -ss 00:00:20 -i test.mp4 -f mjpeg -r 1 -vframes 1 -an image.jpg
若提示 ffmpeg 命令不存在,就将 /root/bin/ 下面的文件复制一份到 /usr/local/bin/
cp -i /root/bin/ffmpeg /usr/local/bin/ffmpeg
cp -i /root/bin/ffprobe /usr/local/bin/ffprobe
....
提取的图片 image.jpg 在/mnt/hgfs/www/test目录下
Windows篇
- 下载FFmpeg https://ffmpeg.zeranoe.com/builds/
- 解压 文件 ffmpeg-20181205-953bd58-win64-static 到自定义位置
- 打开文件,进入到 bin 目录
- 复制路径,将路径添加到全局环境中。
- 如何添加?(右键我的电脑,->属性->高级系统设置->环境变量->双击系统变量下的Path->新建->将路径粘贴->全部确定)
+OK,打开CMD,输入ffmpeg -version