我正在从我的 PC (Ubuntu 14.04) 到 Raspberry pi 2 开发应用程序。我正在尝试使用 GStreamer-1.0,因为它具有对 Raspberry Pi 的硬件加速支持。简要介绍一下申请;从 IP 摄像机获取帧并以 1 FPS 的速度将它们保存到文件系统的某个位置。我可以从命令行保存图像;
gst-launcg-1.0 rtspsrc location="" ! rtph264depay ! h264parse ! omxh264dec ! videorate ! video/x-raw,framerate=1/ ! jpegenc ! multifilesink location=/somewhere/to/save/images/and/save/type
但我想用 C++ 代码来做这件事,我会用这些图像来做一些处理。我已将 gstreamer、gst-plugins-base、gst-plugins-good、gst-plugins-ugly、gst-plugins-bad、gst-libav、gst-omx 安装到 Raspberry Pi 并安装了 gstreamer(以及要求、zlib、glib和 libffi) 到 Ubuntu 进行交叉开发。我想为此过程创建一个管道,但是当我想创建"jpegenc"
元素时,它给了我错误,这与 gstreamer 无关;
Wrong JPEG library version: library is 62, caller expects 80
但我什么都不懂,因为我的应用程序 ldd 输出不依赖于 libjpeg.so.62;
libjpeg.so.8 => /usr/lib/arm-linux-gnueabihf/libjpeg.so.8 (0x74b51000)
我的两个系统都没有 libjpeg62。但是我已经安装了 libjpeg62(我想要 libjpeg62-dev 但 sudo apt-get install libjpeg62-dev 想删除一些对我来说是必需的软件包,然后我拒绝了它)并将 libjpeg.so 与(RPi)链接;
sudo rm /usr/lib/arm-linux-gnueabihf/libjpeg.so
sudo ln -s /usr/lib/arm-linux-gnueabihf/libjpeg.so.62 /usr/lib/arm-linux-gnueabihf/libjpeg.so
但什么都没有改变。我看过这个问题,但我没有从 R-Pi 编译它,它没有影响任何东西,