Edison上のLinphoneでH264エンコーダPluginを利用する

Edison上のLinphoneでH264エンコーダを利用しようと思ったら思いのほかハマったのでメモ。おそらくffmpegなどが一部古いので、最新のバージョンでは動かせないのが要因。

スポンサーリンク

これまでに記載したやり方でLinphoneのPlugin、msx264-1.5.1.tar.gzをクロスコンパイルするとプラグインが読み込めず、コーデックを選べない。
linphonec -d 5
などとしてデバッグメッセージを出すと、
2015-09-15 05:38:22:092 ortp-warning-Fail to load plugin /usr/local/lib/mediastreamer/plugins/libmsx264.so.0 : libx264.so.142: cannot open shared object file: No such file or directory
とのことで、要はlibx264.so.142が必要になった。で、最新のlibx264(この時点で148)を入れると別のライブラリがコンパイルできなかったので、古いコードを落としてコンパイルする。

libx264.so.142:
ここから、x264-snapshot-20141212-2245-stable.tar.bz2をダウンロードして展開する。Gitは多分ここ

sudo ./configure --disable-asm --enable-shared;
sudo make;
sudo make install DESTDIR=/home/username/linphone-edison/install/

ちなみにクロスコンパイルを行うマシンのlibx264のバージョンが違うと、問題が起きるかもしれないので、一緒にしたい場合は上記のmake installをDESTDIRなしで別途行えば良いはず(クロスコンパイルにならないように、環境変数に注意)。

上記のインストールをしてから、プラグイン、ffmpeg(いらないかも?)、mediastreamer2、linphoneをコンパイルしなおして、Edisonに移して、ldconfigしてからlinphonec -Cで起動と通信を確認できた。
でも、CPU占有率が高くてカクカクする・・・カメラのハードウェアエンコーダなどを利用する方法はまた今度調査する予定。

スポンサーリンク


スポンサーリンク

コメントする

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です