epgrecで録画失敗する

たまに、EPGを取得するときにrecfsusb2nが動いたままになって録画に失敗しているときがある。

どうやらrecfsusb2nは、放送されてない等、信号のないときに動くと終了しなくなるらしい。
あくまで引数で渡すのは”録画時間”なわけで、信号ないと録画されなくて録画時間もゼロで終了しなくなる。ってことかな。

ってことで、do-record.shを弄ってみた。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#!/bin/sh
echo "CHANNEL : $CHANNEL"
echo "DURATION: $DURATION"
echo "OUTPUT  : $OUTPUT"
echo "TUNER : $TUNER"
echo "TYPE : $TYPE"
echo "MODE : $MODE"
 
RECORDER=/usr/local/bin/recfsusb2n
 
if [ ${OUTPUT} = "/tmp/__temp.ts" ]; then
        $RECORDER --b25 $CHANNEL $DURATION ${OUTPUT} >/dev/null &
        cmd_pid=$!
        sleep 65
        result=`ps -ef | grep $cmd_pid | grep -v grep`
        if [ "${result}" ]
        then
                kill $cmd_pid
                logger -t getepg recfsusb2n_err
        fi
else
        $RECORDER --b25 $CHANNEL $DURATION ${OUTPUT} >/dev/null
fi

出力ファイル*1でgetepg.phpから呼び出されたか判別して、EPG取得だったらrecfsusb2nをバックグラウンドで動かして65秒後も動いていたら、プロセスを殺してシステムログに書き込むようにした。
普通の録画はそのまま。

たぶん、これで大丈夫なはず。

脚注

  1. EPG取得の時、epgrecのシステム設定の「EPG取得用テンポラリファイルの設定」にある録画データのパスになる [戻る]

Fedora16へ

遅くなったけど

1
2
3
4
5
# rpm -Uvh \
> http://download.fedora.redhat.com/pub/fedora/linux/releases/16/Fedora/x86_64/os/Packages/fedora-release-16-1.noarch.rpm \
> http://download.fedora.redhat.com/pub/fedora/linux/releases/16/Fedora/x86_64/os/Packages/fedora-release-notes-16.1.0-1.fc16.noarch.rpm
# yum clean all
# yum upgrade

http://download.fedora.redhat.com/pub/fedora/linux/releases/

epgrecのインストール

録画予約システムepgrecを参考にインストールする。

epgdumpr2のインストール

ソースをダウンロードして展開、ビルドする。
できた実行ファイルをパスが通ってる所に置く。

1
2
3
4
5
[root@yste download]# wget --content-disposition 'http://www.mda.or.jp/epgrec/index.php?plugin=attach&refer=%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E5%89%8D%E3%81%AE%E6%BA%96%E5%82%99&openfile=epgdumpr2.tar.gz'
[root@yste download]# tar xvzf epgdumpr2.tar.gz
[root@yste download]# cd epgdumpr2
[root@yste epgdumpr2]# make
[root@yste epgdumpr2]# cp epgdump /usr/local/bin

atのインストール

fedoraにはどこかのタイミングで入るんじゃないかなぁ?
ない場合は

1
[root@yste epgdumpr2]# yum install at

でインストールする。

/etc/at.denyの設定

apacheユーザーがないか確認する。

/etc/passwdの確認

通常、apacheユーザーはログイン不可のnologinになってると思うので
/sbin/nologin から /bin/sh
に変更する。

Fedoraでテレビ録画

Windowsで処理済みKTV-FSPCIEの動作確認もできたので、ぼちぼち録画サーバーの準備でもはじめようかなと思います。

環境はFedora15 x64にKTV-FSPCIE(処理済)

recfsusb2n for linux?を参考にインストールする。

ユーザーとグループの作成

video グループを作成する。

1
# groupadd video

作った ?video グループにデバイスを使用するユーザーを追加する。

1
# gpasswd -a foo_user video

パーミッションルールの追加

fedoraで実績がうんぬん書いてあるのに、Ubuntuの場合しか書いてない…
ちょろっと調べてfedora用にする

1
2
3
4
5
6
#?vi /etc/udev/rules.d/89-tuner.rules
 
# FSUSB2N
#kernel-2.6.41.1-1から参考元と同じになる。
#BUS=="usb" SYSFS{idVendor}=="0511", SYSFS{idProduct}=="0029", MODE="0666", GROUP="video"
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTRS{idVendor}=="0511", ATTRS{idProduct}=="0029", MODE="0664", GROUP="video"

再起動ついでにデバイスを取り付ける。

Fedora15を最小インストールする

1.Fedoraをダウンロード
Fedora ProjectからDVD isoをダウンロード。
ダウンロード→その他のオプション-形式→Fedora 15 DVD(32bit or 64bit)
実機にインストールする場合はDVDに書き込む。

2.インストール開始
Install a new system or upgrade an existing systemを選択しEnter。
dw2011072602 512x384 Fedora15を最小インストールする

日本語も不自由ですが日本語しか…

仮想PC使ってコンソールなのは面白くないので。
GNOMEをインストールしようかな。

すぐインストールするくらいなら、最初から入れとけよと。
だが、手動でインストールするのが楽しいのだよ、ワトスン。

# yum groupinstall -y "X Window System" "GNOME Desktop Environment"

199Mほど。
インストールが終わったらroot以外のユーザーでstartx
rootでstartxはしちゃだめだよ?

$ startx

dw2009112101 550x462 日本語も不自由ですが日本語しか…

いやっほぅ。
でも、英語ですねー。
Fedoraは日本語でインストールしたのに…

とりあえず、System > Log Out ~でCUIに戻る。
現在ロケールが何に設定されているか確かめてみる。

$ echo $LANG
en_US.UTF-8

oh!,英語だったんですねー。

日本語にしてみるかと、いろいろやってみたけれど…
すんなり表示できないみたいなので*1、startxを日本語で実行させたほうが楽。

$ LANG=ja_JP.UTF-8 startx

dw2009112102 550x462 日本語も不自由ですが日本語しか…

わーい、日本語になったよ。
でも、毎回ロケール指定するのメンドイのでエイリアスを設定しますか。

$ alias startx="LANG=ja_JP.UTF-8 startx"

これで普通にstartxとコマンド打つだけで日本語になってくれるはず。
でも、再起動したりするとこの設定は消えてしまうので、~/.bashrcにの中に書きましょう。
全ユーザー共通にしたかったら/etc/.bashrcに書けばいいのかな。

最後に、
システム起動時にX Windowを起動させたい場合
/etc/inittab
id:5:initdefault:

脚注

  1. 表示のさせ方が面倒だったり、表示速度が遅くなったりとか [戻る]

休日だからこそ

とりあえず、インストールはした。
ベースと日本語サポートくらいしかパッケージ入れてないけど。

dw2009112001 550x361 休日だからこそ

上へ参ります。