我正在从我的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和Installed 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
但没有改变。我看过this question,但我没有从R-Pi编译它并没有影响任何事情,
答案 0 :(得分:0)
卸载所有jpeg版本(62和80),并使用
重新安装jpeg8sudo apt-get install libjpeg8