Cent OS安装使用ffmpeg(完整版)
Cent OS安装使用ffmpeg
centos作为主流后台linux 系统,ffmpeg作为视频流解析的主力,尤其是ffmpeg配合opencv使用,则是视觉操作的基础
版本:
ffmpeg3.1 + opencv 2.4.13.6
1.ffmpeg安装准备
1)安装必要的扩展
yum install automake autoconf make gcc gcc-c++ libtool zlib zlib-devel curl curl-devel alsa-lib alsa-lib-devel gettext gettext-devel expat expat-devel nasm pkgconfig
2)安装yasm - 支持编译x264
wget http://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz
tar -zxvf yasm-1.3..tar.gz
cd yasm-1.3.
./configure
make -j8
make install
3)安装gnutls、lame
yum install gnutls gnutls-devel
yum install lame lame-devel
4)安装 x264库
卸载系统自带的旧版x264
yum remove x264 x264-devel
安装 x264
wget -c ftp://ftp.videolan.org/pub/x264/snapshots/x264-snapshot-20120718-2245-stable.tar.bz2
# 未安装 bzip2 则执行安装命令
yum install bzip2
tar jxvf x264-snapshot---stable.tar.bz2
cd x264-snapshot---stable
./configure --enable-shared --enable-static
make -j8
make install
2.安装ffmpeg
wget http://www.ffmpeg.org/releases/ffmpeg-3.1.tar.gz
tar -zxvf ffmpeg-3.1.tar.gz
cd ffmpeg-3.1
./configure --prefix=/usr/local/ --enable-gpl --enable-version3 --enable-nonfree --enable-shared --enable-zlib --enable-bzlib --enable-libmp3lame --enable-libx264 --enable-pic
make -j8
make install
3.检查ffmpeg 是否安装成功
更新资源
updatedb # yum install mlocate
检查ffmpeg版本
ffmpeg -v
如果提示找不到 libavdevice ... ,在 /etc/ld.so.conf 中配置 /usr/local/lib
vi /etc/ld.so.conf
// 新增 : /usr/local/lib
ldconfig
此时检查ffmpeg版本则返回:
ffmpeg version 3.1 Copyright (c) - the FFmpeg developers
built with gcc 4.8. (GCC) (Red Hat 4.8.-)
configuration: --prefix=/usr/local/ --enable-gpl --enable-version3 --enable-nonfree --enable-shared --enable-zlib --enable-bzlib --enable-libmp3lame --enable-libx264 --enable-pic
libavutil . 27.100 / . 27.100
libavcodec . 48.101 / . 48.101
libavformat . 40.101 / . 40.101
libavdevice . 0.101 / . 0.101
libavfilter . 46.102 / . 46.102
libswscale . 1.100 / . 1.100
libswresample . 1.100 / . 1.100
libpostproc . 0.100 / . 0.100
4.opencv准备
Java的安装 - 略
ant的安装
yum install ant
5.opencv 安装
wget https://github.com/opencv/opencv/archive/2.4.13.6.zip
unzip opencv-2.4.13.6.zip # yum install zip unzip
cd opencv-2.4.13.6
mkdir build && cd build
检查opencv安装依赖
cmake ..
如果没有ffmpeg :
这里,参见 https://stackoverflow.com/questions/5492919/cmake-cant-find-ffmpeg-in-custom-install-path ,需配置 PKG_CONFIG_PATH 变量,而centos默认没有locate,故有以下处理:
yum install mlocate // centos 下安装locate
locate pkgconfig
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
再去执行cmake即发现ffmpeg已就绪。
执行编译、安装
make -j8
make install
6.opencv检查
检查很简单,build/lib 目录下是否包含:
libopencv_java2413.so
需要用到 opencv - jar 的, build/bin 目录下查看是否包含:
opencv-.jar
实际使用中,将 jar包导入项目,或者maven 本地仓库即可。
Cent OS安装使用ffmpeg(完整版)的更多相关文章
- redis安装以及主从复制完整版
redis安装以及主从复制完整版redis版本:redis-3.2.11主从复制模式:master--> slave1--> slave2 master:10.10.11.32 slave ...
- 二、cent OS安装配置tomcat
下载tomcat的tar包http://tomcat.apache.org/download-80.cgi 确保安装前已经安装JDKjava -version如果没有安装可以参考上一篇文章:http: ...
- 一、cent OS安装配置JDK
到oracle官网下载JDKhttp://www.oracle.com/technetwork/java/javase/downloads/index-jsp-138363.html 在cent OS ...
- Cent OS安装My Sql
因为公司的需要,所以就自己学习了一下在Linux上安装MySQL,但是翻查了好多博客,没有特别清楚,自己写下来好好总结一下 一.系统环境 CentOS-6.3-i386-bin-DVD1 二.下载My ...
- sql server2008安装说明 详细完整版
SQL Server 2008是一个重大的产品版本,它推出了许多新的特性和关键的改进,使得它成为至今为止的最强大和最全面的SQL Server版本. 在现今数据的世界里,公司要获得成功和不断发展,他们 ...
- Cent OS安装TL-WN725N 2.0 USB驱动
TP Link官方没有提供TL-WN725N 2.0的Linux驱动下载,折腾了我半天,试了各种方法.也有一部分原因是因为这机器还不能联网,导致有一些驱动因为缺少依赖并不成功安装. 后来终于在gith ...
- Linux_x64安装Oracle11g(完整版)
一.修改操作系统核心参数 在Root用户下执行以下步骤: 1)修改用户的SHELL的限制,修改/etc/security/limits.conf文件 输入命令:vi /etc/security/lim ...
- Git安装配置(完整版)
首先安装Windows客户端的git和TortoiseGit. 安装这两个软件还是蛮重要的,很多选项不能乱选. 为了写个完整的博客,我是装了又卸,卸了又装. 1.安装git 下载:https://gi ...
- cent os安装filebeat
先贴一下官方文档https://www.elastic.co/guide/en/beats/filebeat/6.6/filebeat-installation.html 我本次使用rpm的方式安装, ...
随机推荐
- ASP.NET Core 发布之后通过命令控制监听地址和环境变量
添加Command支持 新建一个ASP.NET Core 项目,打开Program.cs 添加下面的代码: public class Program { public static void Main ...
- DOM(三)
Text类型 文本节点由Text类型表示,包含的是可以照字面解释的纯文本内容,纯文本中可以包含转义后的HTML字符,但不包含HTML代码,Text节点具有以下特征: nodeType值为3: node ...
- .NET-记一次架构优化实战与方案-目录
前言 本系列是根据我公司的某块业务优化进行改写的,为了避免触发法律的红线,我对部分代码做了截取并打码. 因为优化方案是针对现有业务的问题情况进行的,不做任何太过过分吹牛逼.一切以基于现有的业务,优化处 ...
- MapReduce中map并行度优化及源码分析
mapTask并行度的决定机制 一个job的map阶段并行度由客户端在提交job时决定,而客户端对map阶段并行度的规划的基本逻辑为:将待处理数据执行逻辑切片(即按照一个特定切片大小,将待处理数据划分 ...
- 窥探ASP.Net MVC底层原理 实现跨越Session的分布式TempData
1.问题的引出 我相信大家在项目中都使用过TempData,TempData是一个字典集合,一般用于两个请求之间临时缓存数据或者页面之间传递消息.也都知道TempData是用Session来实现的,既 ...
- 剑指offer--2.替换空格
题目: 请实现一个函数,将一个字符串中的每个空格替换成“%20”.例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy. 思路:可以使用replace或者 ...
- Flask入门的第一个项目进阶版
前言: 此次版本增加[一对多]数据库关系和动态路由设置. 一.数据库设计 environments表与variable1表的关系为:一对多.variable1.env_id设置为外键,与environ ...
- require('./expample.js).default详解
最近总碰到类似于 var a = require('./expample.js).default 这样的代码,感觉很奇葩,总结一波. 为什么会出现这个问题? import 是静态编译的,而 requi ...
- Python入门-格式化输出
需求:将用户的姓名.年龄.工作.爱好 ,然后打印成以下格式: ------------ Info of Tom ------ Name : Tom Age : 22 Job : Teacher Hob ...
- (第十三周)评论Final发布I
本人所在组:奋斗吧兄弟 按课上展示的顺序对每组进行点评: 1. Nice 项目:约跑软件 展示的时候使用了摄像头投影,提高了演示效果,软件的背景进行了美化,表现好了很好.解决了我们组提出的文字多挤没 ...