官网下载地址

http://www.ffmpeg.org/download.html

https://sourceforge.net/projects/opencore-amr/

参考资料:官网及以下网站

http://blog.csdn.net/5iasp/article/details/50913855

http://blog.csdn.net/zhangwu1241/article/details/52354604

http://www.cnblogs.com/wanghetao/p/3386311.html

http://www.cnblogs.com/bugutian/p/5111067.html

http://www.linuxidc.com/Linux/2013-01/78495.htm

——————————————华丽的分割线—————————————————————————

部署环境:CentOS 6.8

百度安装包分享:http://pan.baidu.com/s/1pLDlNSZ     密码:egsw

安装记录

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

mkdir /software

tar -zxvf  ffmpeg_sources.tar.gz  -C /software

tar -zxvf nasm-2.13.02rc2.tar.gz  -C /software

cd /software/nasm-2.13.02rc2
./configure --prefix="/software/nasm"
make
make install
修改环境变量vim /etc/profile
加入export PATH=/software/nasm/bin:/software/ffmpeg_build/bin:$PATH
然后source /etc/profile

cd /software/ffmpeg_sources/yasm
autoreconf -fiv
./configure --prefix="/software/ffmpeg_build" --bindir="/software/ffmpeg_build/bin"
make && make install

cd /software/ffmpeg_sources/x264
#PKG_CONFIG_PATH="/software/ffmpeg_build/lib/pkgconfig" ./configure --prefix=/software/ffmpeg_build --bindir=/software/ffmpeg_build/bin --enable-static
PKG_CONFIG_PATH="/software/ffmpeg_build/lib/pkgconfig" ./configure --prefix=/software/ffmpeg_build --bindir=/software/ffmpeg_build/bin --enable-static --disable-asm
make && make install

cd /software/ffmpeg_sources/x265/build/linux
cmake -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX="/software/ffmpeg_build" -DENABLE_SHARED:bool=off ../../source
make && make install

cd /software/ffmpeg_sources/fdk-aac
autoreconf -fiv
./configure --prefix="/software/ffmpeg_build" --disable-shared
make && make install

cd /software/ffmpeg_sources/lame-3.99.5
./configure --prefix="/software/ffmpeg_build" --bindir="/software/ffmpeg_build/bin" --disable-shared --enable-nasm
make && make install

cd /software/ffmpeg_sources/opus
autoreconf -fiv
./configure --prefix="/software/ffmpeg_build" --disable-shared
make && make install

cd /software/ffmpeg_sources/libogg-1.3.2
./configure --prefix="/software/ffmpeg_build" --disable-shared
make && make install
make distclean

cd /software/ffmpeg_sources/libvorbis-1.3.4
LDFLAGS="-L/software/ffmeg_build/lib" CPPFLAGS="-I/software/ffmpeg_build/include" ./configure --prefix=/software/ffmpeg_build --with-ogg=/software/ffmpeg_build --disable-shared
此时如果有如下报错
checking for OGG... no
checking for Ogg... no
*** Could not run Ogg test program, checking why...
*** The test program compiled, but did not run. This usually means
*** that the run-time linker is not finding Ogg or finding the wrong
*** version of Ogg. If it is not finding Ogg, you'll need to set your
*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point
*** to the installed location Also, make sure you have run ldconfig if that
*** is required on your system
***
*** If you have an old version installed, it is best to remove it, although
*** you may also be able to get things to work by modifying LD_LIBRARY_PATH
configure: error: must have Ogg installed!
我们上面已经安装过libogg了,此时这个提示没有安装,可能是路径问题
解决方案,创建库文件
[root@restapi_1 libvorbis-1.3.4]# cat /etc/ld.so.conf.d/local-libraries.conf
/software/ffmpeg_build/lib
[root@restapi_1 libvorbis-1.3.4]# ldconfig -v
此时解决了库依赖问题,在次跑编译安装,没有报错了
LDFLAGS="-L/software/ffmeg_build/lib" CPPFLAGS="-I/software/ffmpeg_build/include" ./configure --prefix=/software/ffmpeg_build --with-ogg=/software/ffmpeg_build
make && make install

cd /software/ffmpeg_sources/libvpx
./configure --prefix="/software/ffmpeg_build" --enable-pic --enable-shared
make && make install

cd /software/ffmpeg_sources/ffmpeg3
PKG_CONFIG_PATH="/software/ffmpeg_build/lib/pkgconfig" ./configure --prefix="/software/ffmpeg_build" --extra-cflags="-I/software/ffmpeg_build/include" --extra-ldflags="-L/software/ffmpeg_build/lib" --bindir="/software/ffmpeg_build/bin" --pkg-config-flags="--static" --enable-gpl --enable-nonfree --enable-libfdk-aac --enable-libfreetype --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-pic --enable-shared --enable-gray --enable-avresample --enable-openssl
此时如果有编译报错,如下
/usr/bin/ld: /software/ffmpeg_build/lib/libx264.a(common.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC
/software/ffmpeg_build/lib/libx264.a: could not read symbols: Bad value
collect2: ld returned 1 exit status
make: *** [libavcodec/libavcodec.so.57] Error 1
解决方法是:
config.mak L75加入 -fPIC,然后重新编译
HOSTCFLAGS=-O3 -g -std=c99 -Wall -fPIC
我比较着急,直接去掉最后几个参数(询问开发,说不用这些模块),开始搞
PKG_CONFIG_PATH="/software/ffmpeg_build/lib/pkgconfig" ./configure --prefix="/software/ffmpeg_build" --extra-cflags="-I/software/ffmpeg_build/include" --extra-ldflags="-L/software/ffmpeg_build/lib" --bindir="/software/ffmpeg_build/bin" --pkg-config-flags="--static" --enable-gpl --enable-nonfree --enable-libfdk-aac --enable-libfreetype --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265
然后不报错了,make && make install

安装完成后启动报错,发现是没有文件库
ffmpeg: error while loading shared libraries: libvpx.so.4: cannot open shared object file: No such file or directory
进入相关库查看
[root@zookeeper_rest-api-node1 ffmpeg3]# cd /usr/lib64
ls -l 查看后发现没有,于是从安装目录/software/ffmpeg_build/lib/libvpx.so.4找到这个文件,并做好软链接
[root@zookeeper_rest-api-node2 lib64]# ln -s /software/ffmpeg_build/lib/libvpx.so.4 /usr/lib64/libvpx.so.4
[root@iZ2zehjeved0zzfkdndbc5Z ffmpeg3]# ffmpeg -v
ffmpeg: error while loading shared libraries: libvpx.so.4: cannot open shared object file: No such file or directory
[root@iZ2zehjeved0zzfkdndbc5Z ffmpeg3]# ln -s /software/ffmpeg_build/lib/libvpx.so.4 /usr/lib64/libvpx.so.4
[root@iZ2zehjeved0zzfkdndbc5Z ffmpeg3]# ffmpeg -v
ffmpeg: error while loading shared libraries: libvorbisenc.so.2: cannot open shared object file: No such file or directory
[root@iZ2zehjeved0zzfkdndbc5Z ffmpeg3]# ln -s /software/ffmpeg_build/lib/libvorbisenc.so.2 /usr/lib64/libvorbisenc.so.2
[root@iZ2zehjeved0zzfkdndbc5Z ffmpeg3]# ffmpeg -v
ffmpeg: error while loading shared libraries: libvorbis.so.0: cannot open shared object file: No such file or directory
[root@iZ2zehjeved0zzfkdndbc5Z ffmpeg3]# ln -s /software/ffmpeg_build/lib/libvorbis.so.0 /usr/lib64/libvorbis.so.0

此时解决了问题,ffmpeg -v后如下图所示,没有报错

ffmpeg源码安装的更多相关文章

  1. linux ffmpeg 源码安装教程

    AMR格式是智能手机上的常用音频文件格式,比MP3格式的压缩比大.同样时长的AMR文件大概是MP3的十分之一,所以在移动互联项目中应用比较广泛.但目前AMR格式在个人电脑上应用较少,所以目前大部门播放 ...

  2. ffmpeg源码编译安装(Compile ffmpeg with source) Part 1 : 通用部分

    本页内容包含了在Unix/Linux中用源码包编译的通用的结构 可能不仅仅适用于ffmpeg 为啥使用源码包编译 编译源码可以扩展功能, 实现相对于自己平台的最优化, 还可以自定义的修改 概述 大部分 ...

  3. Linux 源码安装 FFmpeg

    加班次数频繁,已经快一年没有写博了.由于此次在项目中使用到了 FFmpeg 来处理音视频,顾记录下在 Linux 系统中源码安装 FFmpeg 以便不时之需. 1. 安装 yasm yasm 是一个汇 ...

  4. ffmpeg源码编译环境搭建

    ffmpeg是视频开发最常用到的开源软件,FFmpeg功能强大,用途广泛,提供几乎所有你能够想到的与视频开发相关的操作,许多商业软件都以ffmpeg为基础进行开发定制. FFmpeg: FFmpeg ...

  5. 源码安装IVRE

    简介:IVRE(又名DRUNK)是一款开源的网络侦查框架工具,IVRE使用Nmap.Zmap进行主动网络探测.使用Bro.P0f等进行网络流量被动分析,探测结果存入数据库中,方便数据的查询.分类汇总统 ...

  6. mono-3.4.0 源码安装时出现的问题 [do-install] Error 2 [install-pcl-targets] Error 1 解决方法

    Mono 3.4修复了很多bug,继续加强稳定性和性能(其实Mono 3.2.8 已经很稳定,性能也很好了),但是从http://download.mono-project.com/sources/m ...

  7. 搭建LNAMP环境(七)- PHP7源码安装Memcached和Memcache拓展

    上一篇:搭建LNAMP环境(六)- PHP7源码安装MongoDB和MongoDB拓展 一.安装Memcached 1.yum安装libevent事件触发管理器 yum -y install libe ...

  8. 搭建LNAMP环境(二)- 源码安装Nginx1.10

    上一篇:搭建LNAMP环境(一)- 源码安装MySQL5.6 1.yum安装编译nginx需要的包 yum -y install pcre pcre-devel zlib zlib-devel ope ...

  9. 搭建LNAMP环境(一)- 源码安装MySQL5.6

    1.yum安装编译mysql需要的包 yum -y install gcc-c++ make cmake bison-devel ncurses-devel perl 2.为mysql创建一个新的用户 ...

随机推荐

  1. 求二叉树第n层节点数

    在知乎看到今日头条的一个面试题“求二叉树第n层节点数”:https://zhuanlan.zhihu.com/p/25671699,想到了这样一个解法,欢迎大家交流 我的解法采用递归的思想,从0层开始 ...

  2. python+selenium+PhantomJS爬取网页动态加载内容

    一般我们使用python的第三方库requests及框架scrapy来爬取网上的资源,但是设计javascript渲染的页面却不能抓取,此时,我们使用web自动化测试化工具Selenium+无界面浏览 ...

  3. 小程序问题集:保存失败:Error: ENOENT: no such file or directory, open

    问题如图: 当编译的时候 会提示找不到这个文件(index),但是确信项目目录里已经删除了该页面路径,并且app.json的pages列表中也没有该页面:   这时候需要看一下当前已经打开的文件中是否 ...

  4. ionic提示弹框

    //提示框 .factory('TipsPort', function ($ionicPopup) { var TipsPort = function (tipsText, SureFunction, ...

  5. C程序

    /* 不适用C库函数,只是用 C 语言实现函数 void* memcpy( void *dst, const void *src, size_t len ) memmove 函数的功能是拷贝 src ...

  6. mongodb安装失败与解决方法(附安装教程)

    安装mongodb遇到的一些坑 浪费了大量的时间 在此记录一下   主要是电脑系统win10企业版自带的防火墙  当然还有其他的一些坑 一般的问题在第6步骤都可以解决,本教程的安装步骤不够详细的话  ...

  7. SQL Server中授予用户查看对象定义的权限

    SQL Server中授予用户查看对象定义的权限   在SQL Server中,有时候需要给一些登录名(用户)授予查看所有或部分对象(存储过程.函数.视图.表)的定义权限存.如果是部分存储过程.函数. ...

  8. WARNING: Re-reading the partition table failed with error 22: Invalid argument

    在划分磁盘分区时,遇到错误"WARNING: Re-reading the partition table failed with error 22: Invalid argument&qu ...

  9. C#-方法(八)

    方法是什么 方法是C#中将一堆代码进行进行重用的机制 他是在类中实现一种特定功能的代码块,将重复性功能提取出来定义一个新的方法 这样可以提高代码的复用性,使编写程序更加快捷迅速 方法格式 访问修饰符 ...

  10. OAF--基础

    OAF是WEB界面,FORM是由JDK将FORM里面的东西插入到HTML UI里的: OAF由 Oracle Business Components for JAVA(BC4J)框架作为其模型部分,完 ...