一:apt-get从网络安装;
1.保证ubuntu可以连接到网络:
2.依次执行以下命令:
sudo add-apt-repository ppa:kirillshkrogalev/ffmpeg-next
sudo apt-get update
sudo apt-get install ffmpeg
3.查看是否安装成功:
ffmpeg -version
aston@ubuntu:/mnt/hgfs/share/leixiaohua_video_audio_encode/test3$ ffmpeg -version
ffmpeg version 2.4.3-1ubuntu1~trusty6 Copyright (c) 2000-2014 the FFmpeg developers
built on Nov 22 2014 17:07:19 with gcc 4.8 (Ubuntu 4.8.2-19ubuntu1)
configuration: --prefix=/usr --extra-version='1ubuntu1~trusty6' --build-suffix=-ffmpeg --toolchain=hardened --extra-cflags= --extra-cxxflags= --libdir=/usr/lib/i386-linux-gnu --shlibdir=/usr/lib/i386-linux-gnu --incdir=/usr/include/i386-linux-gnu --enable-gpl --enable-shared --disable-stripping --enable-avresample --enable-avisynth --enable-fontconfig --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libflite --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmodplug --enable-libmp3lame --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-librtmp --enable-libschroedinger --enable-libshine --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-opengl --enable-x11grab --enable-libxvid --enable-libx265 --enable-libdc1394 --enable-libiec61883 --enable-libzvbi --enable-libzmq --enable-frei0r --enable-libx264 --enable-libsoxr --enable-openal --enable-libopencv
libavcodec 56. 1.100 / 56. 1.100 //1.编解码(最重要的库);
libavformat 56. 4.101 / 56. 4.101 //2.封装格式处理;
libavfilter 5. 1.100 / 5. 1.100 //3.滤镜特效处理;
libavdevice 56. 0.100 / 56. 0.100 //4.各种设备的输入输出;
libavutil 54. 7.100 / 54. 7.100 //5.工具库(大部分库都需要这个库的支持);
libpostproc 53. 0.100 / 53. 0.100 //6.后加工
libswresample 1. 1.100 / 1. 1.100 //7.音频采样数据格式转换;
libswscale 3. 0.100 / 3. 0.100 //8.视频像素数据格式转换;
libavresample 2. 1. 0 / 2. 1. 0 //9.
4.成功。
二:官网下载库手动安装:
//安装ffmpeg:
1.获取FFmpeg源码:
下载:http://ffmpeg.org/download.html 文件位置:C:\Users\86150\Desktop\记录\package\ffmpeg-4.1.4.tar.bz2
新建文件夹:在/usr/local/下新建一个ffmpeg文件夹:
解压源码到此文件夹:
tar -jxvf /mnt/hgfs/share/packages/ffmpeg-4.1.4.tar.bz2 -C /usr/local/ffmpeg
2.进入该文件夹:/usr/local/ffmpeg/ffmpeg-4.1.4
1.配置:
./configure --enable-shared --disable-x86asm --prefix=/usr/local/ffmpeg
//–enable-shared // 编译共享库 ,默认是静态库
//–disable-x86asm //不使用x86asm ,默认使用yasm配置会很麻烦,需要下载x86asm //也可以使用 --enable,没试过
//–prefix=/usr/local/ffmpeg //编译完成后输出我们要用的文件路径
2.编译:
make //过程很长,大概需要半个多小时;
3.安装:
make install
成功后可在安装目录下发现相关库文件、头文件和可执行程序;
root@ubuntu:/usr/local/ffmpeg# ls
bin ffmpeg-4.1.4 include lib share
3.若编译报错:找不到库文件:
/usr/bin/ld: warning: libswresample.so.3, needed by /usr/local/ffmpeg/lib/libavcodec.so, not found (try using -rpath or -rpath-link)
原因:
Makefile里指定了链接库的路径,但是在此路径下没找到;
-L /usr/local/ffmpeg/lib -lavformat -lavcodec -lavutil -lswscale
解决:
添加链接库的环境变量:
sudo vim /etc/profile
在后面添加:
export LD_LIBRARY_PATH=
L
D
L
I
B
R
A
R
Y
P
A
T
H
:
/
u
s
r
/
l
o
c
a
l
/
f
f
m
p
e
g
/
l
i
b
保
存
后
s
o
u
r
c
e
一
下
:
s
o
u
r
c
e
/
e
t
c
/
p
r
o
f
i
l
e
检
查
:
a
s
t
o
n
@
u
b
u
n
t
u
:
/
m
n
t
/
h
g
f
s
/
s
h
a
r
e
/
s
o
u
r
c
e
i
n
s
i
g
h
t
/
m
a
i
n
1
7
/
M
a
i
n
C
o
d
e
LD_LIBRARY_PATH:/usr/local/ffmpeg/lib 保存后source一下: source /etc/profile 检查: aston@ubuntu:/mnt/hgfs/share/source_insight/main_17/MainCode
LDLIBRARYPATH:/usr/local/ffmpeg/lib保存后source一下:source/etc/profile检查:aston@ubuntu:/mnt/hgfs/share/sourceinsight/main17/MainCode echo $LD_LIBRARY_PATH
:/usr/local/ffmpeg/lib
成功;
4.成功。
三:
编译了ffmpeg的动态库与静态库:
#CFLAGS += -g -w -static
CFLAGS += -g -w
#CFLAGS += -g
1.当Makefile中未指明使用什么库的时候,默认使用动态库;使用静态库要加 -static
2.当SDL使用的是动态库;
ffmpeg看给的库链接路径是什么,给的什么就是用什么库;
当使用动态库时,生成的文件小,但是程序运行时链接库的路径要指定出来(就是上面步骤的3:$LD_LIBRARY_PATH)