开源软件ffmpeg安装部署

回复 收藏

本帖最后由 且听风吟 于 2016-6-1 12:05 编辑

昨天开发要求装一个我就装一个咯
介绍:FFmpeg是一款强大的开源视频编解码工具,可以处理大量的编码格式。ffmpeg是开源项目,在Linux平台下开发,同时也可以在其它操作系统下编译运行,包括Windows、Mac OS X等。本文将介绍在Linux下以源代码方式编译安装ffmpeg的方法

安装步骤

下载源码

从ffmpeg官网:https://www.ffmpeg.org/download.html下载源代码,当前最新的版本为ffmpeg-3.0.2.tar.bz2

  1. cd  /usr/local/src  

  1. wget http://ffmpeg.org/releases/ffmpeg-3.0.2.tar.bz2

解压文件
  1. tar -jxvf ffmpeg-3.0.2.tar.bz

进入目录

  1. cd  ffmpeg-3.0.2

安装yasm,ffmpeg编译中为了提高编译速度,使用了汇编指令,于是需要使用这个工具。

yum -y install yasm

或者同样使用源码方式安装,下载yasm源代码,然后使用./configure、make以及make istall进行安装。当然,如果实在不想要这个功能,可以在下一步的配置中使用./configure –disable-yasm选项。
配置必要选项,这一步根据自己需要开启或关闭某些选项,具体可以使用./configure –help查看,或者直接查看configure文件。本文使用如下简单配置。
  1. ./configure --enable-shared --prefix=/usr/local/ffmpeg

其中–enable-shared表示生成动态链接库,可以供以后编程使用,同时生成的可执行程序也依赖这些动态库。如果不加上–enable-shared选项则使用静态链接的方式编译,此时不会生成动态库,同时生成的ffmpeg等的可执行文件也比较大,但他们不需要动态库就可以直接运行。–prefix表示程序安装的目录,这里设为/usr/local/ffmpeg。

编译安装

编译,需要较长时间,10分钟左右。
  1. make

安装,很快完成。
  1. make install

路径处理

安装完成后在/usr/local/ffmpeg出现4个目录:
  • bin:可执行文件目录

  • lib:动态链接库目录

  • include:编程用到的头文件目录

  • share

不管是编程还是可执行程序的执行都需要依赖lib下面的动态库,可以把里面的so文件拷贝到/usr/lib下,但可以直接修改配置文件。通过查看/etc/ld.so.conf文件,发现里面只有一句话:

include ld.so.conf.d/*.conf

表明其包含了ld.so.conf.d下所有的conf文件,于是可以在/etc/ld.so.conf.d/创建一个新的文件ffmpeg.conf
  1. vim  /etc/ld.so.conf.d/ffmpeg.conf     ##写入下面一句话,即为ffmpeg的lib目录

  1. /usr/local/ffmpeg/lib

再执行
  1. ldconfig

,更新ld.so.cache,使修改生效。

运行
现在可以在shell中直接输入ffmpeg运行程序,得到以下结果则成功
  1. [root@tomcat1 ld.so.conf.d]# /usr/local/ffmpeg/bin/ffmpeg

为了在任何地方能够直接用ffmpeg运行,而不用使用如./ffmpeg或者 /usr/local/ffmpeg/bin/ffmpeg的方式运行程序,可以把可执行程序复制到bin目录下,这里选择在bin目录下创建软链接。软链接类似于Windows下的快捷方式,如果原可执行程序被删除了,软链接也不能继续使用,而硬链接则可以继续使用。创建链接命令如下:

ln -s /usr/local/ffmpeg/bin/ffmpeg /usr/local/bin/                                                                                                                 ln -s /usr/local/ffmpeg/bin/ffprobe /usr/local/bin/ln -s /usr/local/ffmpeg/bin/ffserver /usr/local/bin/

另外,如果变成需要包含ffmpeg的头文件,最好将include目录下的ffmpeg复制到/usr/include中。

2016-06-01 09:37 举报
已邀请:
0

烟雨倾城

赞同来自:

怎么添加到php动态模块中呢,总是报错,根本添加不进去啊

0

snake

赞同来自:

我也是php扩展装不上,太多坑了

0

snake

赞同来自:

这是我写的php扩展安装过程,ffmpeg版本比较老。

http://www.cnblogs.com/chenjiahe/p/6188140.html

回复帖子,请先登录注册

退出全屏模式 全屏模式 回复
评分
可选评分理由: