FFmpeg 安装教程(转)

原文:https://blog.jam00.com/article/info/24.html

FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。采用LGPL或GPL许可证。它提供了录制、转换以及流化音视频的完整解决方案。它包含了非常先进的音频/视频编解码库libavcodec,为了保证高可移植性和编解码质量,libavcodec里很多code都是从头开发的。

之前一直没找到官方的安装教程,都是自己下载源码安装,结果导出都是错误。这里先贴一个官网的安装教程(服务器是Centos)https://trac.ffmpeg.org/wiki/CompilationGuide/Centos 。但是安装后还是有错,所以这里记录一下自己的安装过程

目录定义

/usr/local/src/ffmpeg_sources           下载安装包路径

/root/ffmpeg_build                            构建和函数库目录

/root/bin                                            安装函数库后的执行目录

安装依赖库

1

2

3

4

yum install autoconf automake bzip2 cmake freetype-devel gcc gcc-c++ git libtool make mercurial pkgconfig zlib-devel

cd cd /usr/local/src/

mkdir ffmpeg_sources

cd ffmpeg_sources

NASM 安装

$HOME 为用户目录 ,echo $HOME 查看位置

1

2

3

4

5

6

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 安装

1

2

3

4

5

6

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

1

2

3

4

5

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

有可能会出现这样的错误

1

2

3

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

1

2

3

4

5

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 参数的话)

1

2

3

4

5

6

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

1

2

3

4

5

6

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

注:最新版是 3.100,但是 ffmpeg 编译时会错误 ERROR: libmp3lame >= 3.98.3 not found

因为 3.100 < 3.98.3,这个版本号真是醉了,只好下载 3.99.5,地址 https://sourceforge.net/projects/lame/files/lame/

但在我的服务器上,安装了3.99.5还是一直报这个错误,不知道为什么

1

2

/root/bin/lame --help

LAME 64bits version 3.99.5 (http://lame.sf.net)

在编译 ffmpeg 之前,修改 ffmpeg  的 configure 文件,/usr/local/src/ffmpeg_sources/ffmpeg/configure

找到 enabled libmp3lame ,在它后面加上 -lm,

enabled libmp3lame        && require "libmp3lame >= 3.98.3" lame/lame.h lame_set_VBR_quality -lmp3lame -lm

libopus 安装

Opus 音频解码器和编码器

ffmpeg 编译时要加上参数 --enable-libopus

1

2

3

4

5

6

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

1

2

3

4

5

6

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

1

2

3

4

5

6

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


libvpx 安装

VP8/VP9 编码器和解码器

ffmpeg 编译时要加上参数 --enable-libvpx

https://chromium.googlesource.com/webm/libvpx.git 访问不了,你懂的,还好我在github 上找到了 https://github.com/webmproject/libvpx.git

1

2

3

4

5

cd ..

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 安装

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

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

若报错 ERROR: libmp3lame >= 3.98.3 not found

请看 libmp3lame 安装

安装完成,测试一下。我在 /mnt/hgfs/www/test 目录下放了个视频 1080.mp4 ,使用 ffmpeg 提取视频中图像

1

2

cd /mnt/hgfs/www/test

ffmpeg -ss 00:00:10  -i 1080.mp4 -f mjpeg -r 1 -vframes 1 -an sample.jpg

若提示 ffmpeg 命令不存在,就将 /root/bin/ 下面的文件复制一份到 /usr/local/bin/

1

2

3

cp -i /root/bin/ffmpeg /usr/local/bin/ffmpeg

cp -i /root/bin/ffprobe /usr/local/bin/ffprobe

....

提取的图片 sample.jpg

本内容为博主原创,转载请注明出处。本文链接 https://blog.jam00.com/article/info/24.html

发布了3 篇原创文章 · 获赞 9 · 访问量 5454

猜你喜欢

转载自blog.csdn.net/NewTWG/article/details/86370458