3.ubuntu下安装ffmpeg

一: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/libsourcesource/etc/profileaston@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)

猜你喜欢

转载自blog.csdn.net/yanghangwww/article/details/102865608