原因はディスクIOではなくB-CASカードの同時使用にあった。だったらあのarib25をいじらなきゃいかんのか?
あんな低レイヤの超絶難解C言語とか読んでるうちに3年は経ちそうだ…絶望
しかし光明は見えた!
B-CASカードの同時使用を可能にするBonCasServerのPerl版が「bcs-perl.pl」の名前で公開されてる!
あとクライアント側となるrecpt1とBonCasServerとの連携ができる「b25-remote」が以下で公開されてる!
http://sourceforge.jp/projects/rec10/releases/
これはLinuxで全部完結出来る予感。
rec10内にあるb25-remoteをビルドしてインストール。
bcs-perl.plを「./bcs-perl.pl &」で起動。
環境変数を /etc/profile あたりに設定
export LD_PRELOAD=/usr/local/lib/b25-client.so
export B25_SERVER_IP=192.168.*.*
export B25_SERVER_PORT=6900
うまくいってれば録画時にbcs-perl.plのデバッグ出力が見える。
bcs-perl.plの起動スクリプト
このスクリプトを/etc/init.dに置いてchkconfigすればもうbcs-perlをつけ忘れることはない
#!/bin/sh # service_manager init file # chkconfig: 345 50 50 . /etc/rc.d/init.d/functions case "$1" in start) echo -n "Starting bcs-perl: " exec /usr/local/bin/bcs-perl.pl & echo ;; stop) echo -n "Stopping bcs-perl: " pkill -f /usr/bin/perl /usr/local/bin/perl & echo ;; restart) $0 stop $0 start ;; *) echo "Usage: bcs-perl {start|stop|restart}" exit 1 esac exit 0