Building OpenCV 2.4.11 on Linux with `libopencv_ffmpeg.so`
Building OpenCV 2.4.11 on Linux with `libopencv_ffmpeg.so`
下载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
相关文章:
- FFmpeg:制作一个应用程序比直接使用ffmepg更好吗
- 使用FFMPEG将RGB图像序列保存到.mp4时出现问题
- FFMPEG配置文件级别id大小无效
- FFMpeg库:如何在音频文件中精确查找
- OpenCV RTP-Stream with FFMPEG
- FFmpeg——使用硬件加速进行视频解码
- 如何在 C/C++ 中使用 ffmpeg 的黑框 avfilter
- 在 GLFW 窗口中显示 FFMPEG 解码帧
- FFMPEG:sws_scale返回错误:切片参数 0, 2160 无效
- 为什么有些延迟加载 DLL 会立即使用 FFMPEG 卸载?
- 将FFMpeg AVFrame对象从C++应用程序流式传输到Python的最佳方法?
- 面临分段故障 使用 ffmpeg 读取视频时,因为"pFormatCtx-> streams [i]-> codecpar"的地址0x00
- 将 FFMPEG 帧写入 png/jpeg 文件
- FFMPEG,C++,内存泄漏,我做错了什么?
- 如何在 c++ 中使用 ffmpeg 获取 DirectShow 设备列表?
- 矛盾的未解决的外部符号+未使用的库与VS2017和FFMPEG 4
- FFmpeg av_read_frame从音频流返回数据包
- 使用ffmpeg时如何提高图像导出/提取速度?
- FFmpeg原始视频大小参数
- 用FFMPEG读取每帧时间码