zoukankan      html  css  js  c++  java
  • 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.0.tar.gz
    cd yasm-1.3.0
    ./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-20120718-2245-stable.tar.bz2
    cd x264-snapshot-20120718-2245-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) 2000-2016 the FFmpeg developers
      built with gcc 4.8.5 (GCC) 20150623 (Red Hat 4.8.5-36)
      configuration: --prefix=/usr/local/ --enable-gpl --enable-version3 --enable-nonfree --enable-shared --enable-zlib --enable-bzlib --enable-libmp3lame --enable-libx264 --enable-pic
      libavutil      55. 27.100 / 55. 27.100
      libavcodec     57. 48.101 / 57. 48.101
      libavformat    57. 40.101 / 57. 40.101
      libavdevice    57.  0.101 / 57.  0.101
      libavfilter     6. 46.102 /  6. 46.102
      libswscale      4.  1.100 /  4.  1.100
      libswresample   2.  1.100 /  2.  1.100
      libpostproc    54.  0.100 / 54.  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-2413.jar

    实际使用中,将 jar包导入项目,或者maven 本地仓库即可。

  • 相关阅读:
    JDBC中的PreparedStatement相比Statement的好处
    说出一些数据库优化方面的经验?
    数据库三范式是什么?
    用jdom解析xml文件时如何解决中文问题?如何解析?
    我们在web应用开发过程中经常遇到输出某种编码的字符,如iso8859-1等,如何输出一个某种编码的字符串?
    MVC的各个部分都有那些技术来实现?如何实现?
    JSP和Servlet有哪些相同点和不同点,他们之间的联系是什么?
    黑盒测试和白盒测试是软件测试的两种基本方法,请分别说明各自的优点和缺点!  
    串行(serial)收集器和吞吐量(throughput)收集器的区别是什么?
    说几个常见的编译时异常类?
  • 原文地址:https://www.cnblogs.com/nyatom/p/10195675.html
Copyright © 2011-2022 走看看