昼間のラジオ番組をFreeBSDサーバー上の cron, rtmpdump, ffmpeg で自動録音しています。
今日、昼間に自動録音していた番組を確認しようとしたところ、録音されているファイルがない!
つまり、録音失敗したようです。
一時的な障害かもしれないので、明日の結果を待って再確認するというのも一つの手ですが、明日も録音できていないとつらいので手動でコマンドを叩いて動作確認してみることにしました。
> radiko.sh TBS 22:20 authtoken: RX9injZRq-726-A6XfxUlA \noffset: 9213 length: 16 \npartialkey: G256L14x3xQnzShygRlAyQ== authentication success areaid: JP13 Shared object "librtmp.so.0" not found, required by "rtmpdump"
なんと、いつのまにか録音に必要なライブラリが無くなっている!(すぐに確認して良かった〜)
このライブラリは、/usr/local/lib に存在しているはずです。確認してみると、
/usr/local/lib> ll librtmp* -rw-r--r-- 1 root wheel 137412 3月 1 12:12 librtmp.a lrwxr-xr-x 1 root wheel 12 3月 1 12:12 librtmp.so -> librtmp.so.1 -r--r--r-- 1 root wheel 106608 3月 1 12:12 librtmp.so.1
確かに librtmp.so.0 がありません。パッケージをまとめてアップデートしたときに一緒にバージョンアップされてしまったようです。困ったモノです。rtmpdump コマンドのオプションとかバージョンアップで対策できるかもしれませんが、単純にシンボリックリンクでファイル名を librtmp.so.0 として利用できるようにしてみます。
# ln -s librtmp.so.1 librtmp.so.0
そして、動作確認。
> radiko.sh TBS 23:12 authtoken: ggy62Jx2olVp22K9lP0W9w \noffset: 13730 length: 16 \npartialkey: UYAOeBgkf/rz6mmHcJW3cg== authentication success areaid: JP13 RTMPDump v2.4 (c) 2010 Andrej Stepanchuk, Howard Chu, The Flvstreamer Team; license: GPL Connecting ... WARNING: Trying different position for server digest! INFO: Connected... Starting Live Stream For duration: 64.000 sec INFO: Metadata: 390.004 kB / 64.00 sec Download complete
あっさり radiko.sh シェルスクリプトが復活しました。
ひと安心。