opencv C++处理视频文件时遇到的问题


前言

opencv C++处理视频文件时遇到的问题简单记录

一、opencv 安装

1.下载opencv 4.5.1

   git clone https://github.com/opencv/opencv
   mkdir build && cd build
   cmake -D CMAKE_BUILD_TYPE=RELEASE -D WITH_FFMPEG=ON  -D    OPENCV_GENERATE_PKGCONFIG=ON ..
   make -j5
   make install

2.下载ffmpg ffmpeg-4.4.3

官网: http://www.ffmpeg.org/
在这里插入图片描述

tar -zxvf ffmpeg-4.4.3.tar.gz
./configure --enable-shared --enable-avresample --prefix=/usr/
make -j$(nproc)
sudo make install

在这里插入图片描述

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 && make install

二、问题解决

1.OpenCV编译的时候 ffmpeg库找不到


解决思路:库找不到,添加相关库路径即可。

find / -name libavutil*.so
vim /etc/ld.so.conf #将找到的路径添加后面,例如:/usr/lib
ldconfig
export PKG_CONFIG_PATH=/usr/lib/pkgconfig:$PKG_CONFIG_PATH
cmake -D CMAKE_BUILD_TYPE=RELEASE -D WITH_FFMPEG=ON  -D OPENCV_GENERATE_PKGCONFIG=ON ..
make -j5
make install

三、 应用

const std::string source = "video1.mp4";
Mat frame;
VideoCapture capture(source);
int fps = capture.get(7);
std::cout << "1: " << fps << std::endl;
if(!capture.isOpened()) {
    printf("can not open ...\n");
    return -1;
}
while (capture.read(frame)   {
    // imshow("output", frame);
    // waitKey(10);
    totalFrameNumber++;
}

一切正常。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

allen_hai

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值