PC (Ubuntu 14.04) から Raspberry pi 2 へのアプリケーションを開発しています。Raspberry Pi のハードウェア アクセラレーションがサポートされているため、GStreamer-1.0 を使用しようとしています。アプリケーションについて簡単に説明します。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++ コードで行いたいので、これらの画像を使用していくつかの処理を行います。Raspberry Pi に gstreamer、gst-plugins-base、gst-plugins-good、gst-plugins-ugly、gst-plugins-bad、gst-libav、gst-omx をインストールし、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からコンパイルしておらず、何にも影響しませんでした.