【问题标题】:OpenCV with libav for codecs on Amazon EC2 AMIOpenCV 和 libav 用于 Amazon EC2 AMI 上的编解码器
【发布时间】:2019-03-30 08:59:13
【问题描述】:

我们有一个应用程序,它需要具有 pkg​​-config 可见性和共享库的最新版本的 opencv 才能构建。但是,我们部署的 Amazon EC2 AMI 实例不包括编解码器的 yum 包和 opencv 包。

其他页面描述了如何使用 centOS og rpm 软件包来进行工作安装。我们需要一个没有 yum/rpm 交叉的全新安装。

【问题讨论】:

    标签: opencv amazon-ec2 libav


    【解决方案1】:

    这些步骤很可能是到达目标的较短路径之一。起始目录位置无关紧要,因为第一行确保了一个健全的(~/build)初始工作目录:

    cd ~/ && mkdir build && cd build/
    sudo yum install git cmake gcc-c++
    

    为编解码器构建 libav(--prefix 选项可能不是必需的,但这是经过测试和工作的版本)

    wget https://libav.org/releases/libav-12.3.tar.xz
    tar xzf libav-12.3.tar.gz
    mkdir libav-12.3-build && cd libav-12.3-build
    /home/ec2-user/build/libav-12.3/configure --prefix=/usr --enable-shared --disable-static
    make && sudo make install
    

    亚马逊默认的 pkg-config thing-a-magic 不会查看所有标准路径,因此下一行将相关的 *.pc 文件符号链接到 pkg-config(由 opencv 使用)可以找到它们的位置。

    cd /usr/share/pkgconfig
    for t in `find /usr -name "libav*.pc"`; do sudo ln -s $t .; done
    cd ~/build
    

    libav 共享库也必须可供链接器使用

    echo /usr/lib/ > libav.conf
    sudo mv libav.conf /etc/ld.so.conf.d/
    sudo ldconfig
    

    通过命令检查 pkg-config libav 的可用性

    pkg-config --list-all
    并检查是否列出了 libavcodec、libavformat、libav... 等软件包。

    此时可以使用默认工具构建和安装opencv库

    git clone https://github.com/Itseez/opencv.git
    mv opencv opencv.git
    cd opencv.git/
    git branch -r
    git checkout 3.4
    cd .. && mkdir opencv && cd opencv
    cmake ../opencv.git/ && make && sudo make install
    cd ..
    

    最终的二进制文件要求链接器路径包含 '''/usr/local/lib64''' 路径。

    echo /usr/local/lib64 > opencv.conf
    sudo mv opencv.conf /etc/ld.so.conf.d/
    sudo ldconfig
    

    最后一个技巧是也为 opencv 启用 pkg-config

    cd /usr/share/pkg-config && ln -s `find /usr/local/ -name "opencv.pc"` . && cd ~/build
    

    通过命令检查 pkg-config 的可用性

    pkg-config --list-all
    

    并检查是否列出了 opencv。

    完成

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-27
      • 2014-02-12
      • 2013-06-24
      • 2011-04-23
      • 2011-12-28
      • 2015-11-06
      相关资源
      最近更新 更多