OpenCV (C++) 无法获取 XVID 视频文件帧速率
OpenCV (C++) Can't get XVID video file framerate
我正在尝试让VideoCapture与OpenCV一起工作。我试图加载的视频是XVID格式的(用VideoCapture::get(CV_CAP_PROP_FOURCC)
检查过)。它工作得很好,但每当我试图获得视频帧速率(VideoCapture::get(CV_CAP_PROP_FPS)
)时,我都会得到-nan
。
我在另一台电脑上使用了相同的视频和代码(在大学,他们有一个自定义的Debian安装),我可以确认帧速率信息在那里(在那里工作得很好)。我在某个地方读到Ubuntu最近从他们的存储库中删除了ffmpeg(我使用Linux Mint 17.2),所以我从ppa:kirillshkrogalev/ffmpeg-next
存储库中安装了ffmpeg
包。之后,我重新编译了OpenCV并再次安装,没有任何更改。
我在Linux Mint 17.2下使用带有C++的OpenCV 2.4.11。
您的linux机器上可能缺少ffmpeg所需的XVID。试着按照下面的方式安装XVID,它可能会对你有所帮助。
cd /opt
wget http://downloads.xvid.org/downloads/xvidcore-1.3.2.tar.gz
tar xzvf xvidcore-1.3.2.tar.gz
cd xvidcore/build/generic
./configure --prefix="$HOME/ffmpeg_build"
make
make install
相关文章:
- 如何在c++中录制具有精确帧时间戳的视频
- 如何在QT中的自定义视频小工具t上绘制矩形
- 如何使用OpenCV-C++编写*.mp4视频?
- 开放 CV 中的动态内存分配,用于视频处理
- 错误:(-210:不支持的格式或格式组合)功能'create'中的硬件视频解码器不支持视频源
- OpenCV QT,显示视频的帧(不使用while循环)
- FFmpeg——使用硬件加速进行视频解码
- 在 openCV 中手动停止视频
- 强制Qt相机视频格式
- 在macOS Mojave上尝试OpenCV视频捕获时"Abort Trap: 6"
- 应用程序在打开的简历中捕获视频后没有响应
- 使用 IMFSinkWriter 编码的视频的播放速度会根据宽度而变化
- 如何在 c++ 中通过 http 发送大型视频文件?
- 在 QLabel 中显示视频
- OpenGL 调试上下文警告 -"将使用视频内存作为缓冲区异议的来源
- 这个工厂类在这个C++视频中的意义何在?
- 如何使用Qt在新窗口中显示视频帧
- Qt GUI使用Qfiledialogbox和qlabel显示视频,这是我的代码
- 如何OPENCV+CUDA+视频捕获?
- OpenCV (C++) 无法获取 XVID 视频文件帧速率