radikoの録音

radikoの録音に、ずっとwindowsなクライアントを使ってたんですが

我慢して使ってたんですが

あまりのダメっぷりに使用を諦めました。バージョン進めば進むほどダメになっていくという・・・・よく今まで耐えたわ、俺。

代わりにFreeBSD上でrtmpdumpを使うようにしました。音質・録音の確実性とも言うことない状態でございます。幸せ!

あちこちに散見されるシェルスクリプトを参考に、録音時間だけ以下の処理で良きにはからえるようにしています。

(省略)

startUnixTime=$( /bin/date +%s )

if [ $# -eq 2 ]; then

channel=$1

backEndTime=$2

(省略)

backEndUnixTime=$( /usr/local/bin/ruby -e "require \"time\";t=Time.parse(\"${backEndTime} JST\"); p t.to_i" )

seconds=$( /bin/expr ${backEndUnixTime} - ${startUnixTime} )

if [ ${seconds} -lt 0 ]; then

seconds=$( /bin/expr 86400 + ${seconds} )

fi

(省略)

rtmpdump -v \

-r "rtmpe://radiko.smartstream.ne.jp" \

--playpath "simul-stream" \

--app "${channel}/_defInst_" \

-W $playerurl \

-C S:"" -C S:"" -C S:"" -C S:$authtoken \

--live -B ${seconds} \

--flv $output

Linuxだとruby使わんでもいいらしいですね。dateの-dオプションだっけ?要は任意の日時をunixtimeにしたいだけです。

echo "/dokoka/radiko.sh TBS 22:00" | at -t 02071759

第二引数に停止時刻をHH:MMフォーマットで与えます。24時間以上の連続録音はできません。

そういえばffmpegportsで入れたんですが、デフォルトだとlameのライブラリ使ってくれんのね。lameなしだとヒドいファイル作ってくれてたまげました。

さて、配信仕様が変わりませんように・・・・・(´人`)