OpenCV (C++) 无法获取 XVID 视频文件帧速率

OpenCV (C++) Can't get XVID video file framerate

本文关键字:XVID 视频 文件 帧速率 获取 C++ OpenCV      更新时间:2023-10-16

我正在尝试让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