Building OpenCV 2.4.11 on Linux with `libopencv_ffmpeg.so`

Building OpenCV 2.4.11 on Linux with `libopencv_ffmpeg.so`

本文关键字:libopencv ffmpeg so with Linux OpenCV on Building      更新时间:2023-10-16

下载OpENCV源时,无论是用于Windows还是Linux,源目录都仅包含已经编译已汇总的共享库3rdparty/ffmpeg/opencv_ffmpeg.dll的Windows,这对于VideoCapture模块而言至关重要在opencv的python端口上。

在Linux中,由于未提供此文件,您希望在构建OPENCV时自动构建它,尤其是在CMakeCache.txt中,您可以发现行WITH_FFMPEG:BOOL=ON

当然不是构建的...

找到了一个很好的解决方法 - 与所有人共享。

而不是使用OpenCV的VideoCapture,我使用库scikit-video

首先,安装它(确保安装足够晚的版本):

pip install sk-video

然后,以以下方式读取视频:

import skvideo.io

cap = skvideo.io.vreader(input_video_filepath)
metadata = skvideo.io.ffprobe(input_video_filepath)
framerate = metadata['video']['@r_frame_rate']
for frame in cap:
    # Do whatever you want...
    # "cap" is a generator, the for loop will simply end when there are no more frames
    # "frame" is a NumPy array, just like in OpenCV's VideoCapture

更多文档和示例可在此处提供:http://www.scikit-video.org/stable/io.html