2016/05/17

rtmpdump をコンパイル

rtmpdump を使って録音しているネットラジオがどうにも不安定で、4月の半ばごろからは8割程度が失敗に終わる事態に至り、これはいかんということで Google 先生に伺ったら「こっち」と指し示していただきました。

■rtmpdumpの安定性を向上させる
http://qiita.com/yayugu/items/12c0ffd92bc8539098b8

----------------------------------------------------------------
git clone git://git.ffmpeg.org/rtmpdump
cd rtmpdump
make SYS=posix
sudo make install
sudo ldconfig
----------------------------------------------------------------

手順自体はプレインだけど、mint MATE を入れる時は Ubuntu でコンパイルしたものをテキトーにコピーして使ってた気がするのです(もしかしたら nautilus synaptic でポチっとしただけかもしれない。実はよく覚えていない→調べたら実際にそうでした)。そんなわけで、少なくとも最近は何かをちゃんとコンパイルしたことないし、mint MATE をインストールして中身を大していじっていないから、コンパイルに必要な物はほとんど何も入っていないことが判明したのでした。

★新たにインストール

git
make
gcc

で、取り敢えず make してみるけど当然のようにエラー。

----------------------------------------------------------------
rtmp.c:60:25 fatal error: openssl/ssl.h: そのようなファイルやディレクトリはありません

 #include
----------------------------------------------------------------

そこでさらに Google 先生に教えを請うと次のようなお告げが。

■Linux Mint でrtmpdumpをソースビルド
http://raspi.webcute.net/2015/12/post-941/


★新たにインストール

aptitude

これがapt-get の代わりだなんて、初めて知ることになりました。さらにここに記述があり関係ありそうなものを導入してみました。

★新たにインストール

librtmp-dev

でも同じエラーが出る。そりゃ openssl とは関係ないもんね。うまくいかない。で、さらに直接 libssl を探して、かなりいい加減に次を導入。

★新たにインストール

libssl-dev

これを入れたらようやく先に進んで、実行ファイルなどができたので、既存の rtmpdump の実行形式を捨てて、新しいものをインストール(/usr/local/binに格納)。取り敢えずリプレイス完了。

しかーし、ここで一つ忘れていた。cron で実行すると、普通のターミナルと path が違ってるんだよね。この /usr/local/bin にはパスが通ってない。このことを思い出すのに10分掛かった。

スクリプトを書き換えたりパスを変更したりが面倒だったので、rtmpdump のシンボリックリンクを /usr/bin に放り込んでおしまいです。後は、ちゃんと期待通りの動作をしてくれることを祈るばかり。いまのところ大丈夫そうで、rtmpdumpが実際にストリームを食い始めるまでの待ち時間も短くなった気がします。

いつもながら、今回もお知恵を拝借した先人の皆さまに心から感謝申し上げます。バージョンアップが終わっている rtmpdump についてもあれこれ直しを入れてくださってるみなさんにも感謝です。本当にありがとうございます。

----
(May.16.2016)

0 件のコメント:

楽天モバイルを台湾で使ってみた

GWに、久しぶりに台湾に赴きました。コロナ禍の間に延命していた台湾大哥大と中華電信の回線のうち中華電信の方を失効させてしまい(なぜ中華電信だけ失効したんだろう)、今回の滞在は台湾大哥大と楽天モバイルの2回線で賄うことにしました。テザリングでAndroidスマホ1台とiPad、Ma...