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(完整版)的更多相关文章

  1. redis安装以及主从复制完整版

    redis安装以及主从复制完整版redis版本:redis-3.2.11主从复制模式:master--> slave1--> slave2 master:10.10.11.32 slave ...

  2. 二、cent OS安装配置tomcat

    下载tomcat的tar包http://tomcat.apache.org/download-80.cgi 确保安装前已经安装JDKjava -version如果没有安装可以参考上一篇文章:http: ...

  3. 一、cent OS安装配置JDK

    到oracle官网下载JDKhttp://www.oracle.com/technetwork/java/javase/downloads/index-jsp-138363.html 在cent OS ...

  4. Cent OS安装My Sql

    因为公司的需要,所以就自己学习了一下在Linux上安装MySQL,但是翻查了好多博客,没有特别清楚,自己写下来好好总结一下 一.系统环境 CentOS-6.3-i386-bin-DVD1 二.下载My ...

  5. sql server2008安装说明 详细完整版

    SQL Server 2008是一个重大的产品版本,它推出了许多新的特性和关键的改进,使得它成为至今为止的最强大和最全面的SQL Server版本. 在现今数据的世界里,公司要获得成功和不断发展,他们 ...

  6. Cent OS安装TL-WN725N 2.0 USB驱动

    TP Link官方没有提供TL-WN725N 2.0的Linux驱动下载,折腾了我半天,试了各种方法.也有一部分原因是因为这机器还不能联网,导致有一些驱动因为缺少依赖并不成功安装. 后来终于在gith ...

  7. Linux_x64安装Oracle11g(完整版)

    一.修改操作系统核心参数 在Root用户下执行以下步骤: 1)修改用户的SHELL的限制,修改/etc/security/limits.conf文件 输入命令:vi /etc/security/lim ...

  8. Git安装配置(完整版)

    首先安装Windows客户端的git和TortoiseGit. 安装这两个软件还是蛮重要的,很多选项不能乱选. 为了写个完整的博客,我是装了又卸,卸了又装. 1.安装git 下载:https://gi ...

  9. cent os安装filebeat

    先贴一下官方文档https://www.elastic.co/guide/en/beats/filebeat/6.6/filebeat-installation.html 我本次使用rpm的方式安装, ...

随机推荐

  1. JenKins自动化构建部署流程参考

    Jenkins工作流程 程序员提交代码到Git/SVN仓库,触发钩子程序向 JenKins 进行通知,Jenkins 调用Git/SVN插件获取源码,调用Maven打包为war包,调用Deploy t ...

  2. React 系列 - 写出优雅的路由

    前言 自前端框架风靡以来,路由一词在前端的热度与日俱增,他是几乎所有前端框架的核心功能点.不同于后端,前端的路由往往需要表达更多的业务功能,例如与菜单耦合.与标题耦合.与"面包屑" ...

  3. 十二、存token获取token刷新token发送header头

    //测试token //获取token function setToken(data){ var storage = window.localStorage; if(!storage){ alert( ...

  4. poj2226 Muddy Fields 填充棒子(二分匹配)

    参考博客:https://blog.csdn.net/liujc_/article/details/51287019 参考博客:https://blog.csdn.net/acdreamers/art ...

  5. hibernate添加数据时Exception in thread "main" org.hibernate.PropertyValueException: not-null property references a null or transient value: com.javakc.hibernate.test.entity.TestEntity.testName

    意思是,一个非null属性引用了一个null或瞬态值.就是在对应实体类配置文件hbm.xml中该属性配置了not-null="true",将其去掉即可.

  6. p86商空间也是Banach空间

    1.为什么要引入Zk? 2.为什么这个等式成立,和为什么要引入uk? 3.为什么为什么等于0? 属于M,则商空间是0元,p128最上面的第二个笔记

  7. Java对象的创建、内存布局和访问定位

    在Java运行时数据区中,我们知道了虚拟机内存的概况,本文介绍虚拟机内存中的数据的其它细节,如对象如何创建.如何布局以及如何访问. 基于实用的原则,这里以HotSpot虚拟机和常用的内存区域Java堆 ...

  8. 【kindle笔记】之 《活着》-2018-2-5

    [kindle笔记]读书记录-总 2018-2-5 今天凌晨一口气看完了<活着>,没想到竟然是个赤裸裸的悲剧,心情不太好地睡去. 福贵,一个小人物,坎坷无比的一生. 当你以为真他妈惨,真是 ...

  9. 爬虫——xpath

    1.什么是xpath? Xpath,全称XML Path Language,即XML路径语言.它是一门在XML之后查找信息的语言,也同样适用于HTML文档的搜索.在做爬虫的时候,我们用XPath语言来 ...

  10. Jenkins [Error] at org.codehaus.cargo.container.tomcat.internal.AbstractTomcatManagerDeployer.redeploy(AbstractTomcatManagerDeployer.java:192)

    Deploying /root/.jenkins/workspace/zgg-crm-pre/target/crm.war to container Tomcat 7.x Remote with co ...