【发布时间】:2014-08-01 23:37:43
【问题描述】:
我在实例化和打开 OpenCV VideoWriter 以在 Raspberry Pi (Raspbian Weezy) 上录制视频时遇到问题。
我的项目是用 C++ 编写的,但我编写了一个最小的 Python 程序来演示这个问题。
https://gist.github.com/chriscollins/11ff2f43852e1c93dae8
我的 C++ 代码和上面的 Python 代码在我的 Windows 机器上运行没有问题。有时作者没有打开,但这是意料之中的 - 我没有安装所有列出的编解码器(编解码器列表来自 Open CV 源),但其中很多都可以正常工作。但是,在 Raspberry Pi 上,C++ 代码和 Python 代码都失败了,VideoWriter 永远不会被打开。在上面的 Python 代码中,writer.isOpened() 在 Raspberry Pi 上运行时为每个编解码器返回 false。
我已经将目标目录chowned 给了我正在运行 Python 脚本的用户,并将 chmodded 给了777,所以我不认为这是一个权限问题。我认为这可能与我安装 OpenCV 或其某些依赖项的方式有关,但我不确定如何纠正它。
我使用的安装过程如下:
通过
rpi-update、apt-get update和apt-get upgrade更新固件/软件包。通过
apt-get安装以下依赖项:libjpeg8 libjpeg8-dev libjpeg8-dbg libjpeg-progs ffmpeg libavcodec-dev libavcodec53 libavformat53 libavformat-dev libgstreamer0.10-0-dbg libgstreamer0.10-0 libgstreamer0.10-dev libxine1-ffmpeg libxine-dev libxine1-bin libunicap2 libunicap2-dev swig libv4l-0 libv4l-dev python-numpy libpython2.6 python-dev python2.6-dev libgtk2.0-dev下载并解压http://sourceforge.net/projects/opencvlibrary/files/opencv-unix/2.4.9/opencv-2.4.9.zip到
/root/opencv-2.4.9。cd /root/opencv-2.4.9并运行cmake -DCMAKE_BUILD_TYPE=RELEASE -DCMAKE_INSTALL_PREFIX=/usr/local -DBUILD_PERF_TESTS=OFF -DBUILD_opencv_gpu=OFF -DBUILD_opencv_ocl=OFF。 cmake 的输出可在https://gist.github.com/chriscollins/d8060e03a6acd6d4336c 获得
make和make install来自同一目录。
其他各种 OpenCV 功能在 Raspberry Pi(C++ 或 Python)上正常工作 - 例如。通过VideoCapture 观看网络摄像头,但我无法让VideoWriter 工作。我很想尝试从源代码而不是通过 apt-get 安装 FFMPEG,但由于 make 在 Raspberry Pi 上运行需要 5 个多小时,我希望我能在这里找到答案,而不是继续试用和错误方法!
感谢任何有关如何解决(或调试)此问题的建议。
编辑:添加了 cmake 命令的输出 (https://gist.github.com/chriscollins/d8060e03a6acd6d4336c)
【问题讨论】:
-
this 关闭了吗?
-
恐怕不是。这涉及让 Raspberry Pi 摄像头工作:我使用的是标准网络摄像头,但我无法让 OpenCV 的一个特定部分正常工作(VideoWriter)。
-
cmake命令的完整输出可能有用。 -
今晚我将使用
cmake的输出更新问题。 -
我用
cmake的输出更新了问题:gist.github.com/chriscollins/d8060e03a6acd6d4336c
标签: linux opencv ffmpeg raspberry-pi codec