事象の水平線

個人的ブックマーク代わりなメモ書きブログ。 地球は丸いよ。↓このへん。

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

PageTop
以前 recpt1 http版 を入れたのですが、たまーにチャンネル切り替えのタイミングでプロセスが落ちるので、プロセスが落ちたらブラウザから手動で再度走らせることが出来るようにしました。

方法は、適当なページ(サーバーのトップページとか)にフォームを埋め込んで、そのボタンを押したらプロセスを走らせる。だけ。

埋め込むフォーム
<form action='./html/reload_recpt1.php' method='post'>
<input type='submit' name='submit' value='recpt1のリロード'>
</form>

recpt1を走らせるphp(/var/www/html/reload_recpt1.phpとして保存)
<html>
<head>
<MEtA http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta http-equiv="refresh" content="10;URL=http:../">
<?php
//if submit has been pressed
if(isset($_POST['submit'])){
#reload_recpt1
exec("/usr/local/bin/reload_recpt1.sh");
#HTML
echo('<title>recpt1リロード終了</title>
</head>
<body><br><br><br>
10秒後にHomeに戻ります。<br>
recpt1をリロードしました。<br>
チャンネルを切り替えるか、TVTestを再起動してください。
');
}
php?>
</body>
</html>

phpがexecするシェルスクリプト(/usr/local/bin/reload_recpt1.shとして保存)
#!/bin/bash

/usr/local/bin/recpt1 --b25 --strip --http 8888 > /dev/null 2>&1 &

それぞれ、パーミッションとかは良しなに・・・・



めったに落ちることはないのだけれど、EPG取得中に落ちる気がする。
で、調べていたら『ぱぱらくだ日記』さんの『recpt1のhttp版パッチを適用してみた』という記事に、落ちないように修正したパッチというものがあったので、試しに頂いてみました。
で、一応手順をメモ。(前回と同じですけどね・・)

どうでもいい前準備
[root@NAS ~]# cd /usr/local/bin
[root@NAS bin]# mv recpt1 'recpt1(copy)'
[root@NAS bin]# mv recpt1ctl 'recpt1ctl(copy)'
[root@NAS bin]# mv checksignal 'checksignal(copy)'


インストール  <<追記>>tssplitte_liteのsegfault注意
[root@NAS bin]# cd /usr/local/src
[root@NAS src]# mkdir PT3-http
[root@NAS src]# cd PT3-http
[root@NAS PT3-http]# wget http://hg.honeyplanet.jp/pt1/archive/b14397800eae.zip
[root@NAS PT3-http]# unzip b14397800eae.zip


/usr/local/src/pt1-b14397800eae/recpt1/pt1_dev.h を geditで開いて、『pt1』を『pt3』に変えます。PT3なんで・・一応文字化け注意
/* -*- tab-width: 4; indent-tabs-mode: nil -*- */
#ifndef _PT1_DEV_H_
#define _PT1_DEV_H_

char *bsdev[NUM_BSDEV] = {
"/dev/pt3video1",
"/dev/pt3video0",
"/dev/pt3video5",
"/dev/pt3video4",
"/dev/pt3video9",
"/dev/pt3video8",
"/dev/pt3video13",
"/dev/pt3video12"
};
char *isdb_t_dev[NUM_ISDB_T_DEV] = {
"/dev/pt3video2",
"/dev/pt3video3",
"/dev/pt3video6",
"/dev/pt3video7",
"/dev/pt3video10",
"/dev/pt3video11",
"/dev/pt3video14",
"/dev/pt3video15"
};

~~以下略~~


[root@NAS PT3-http]# cd pt1-b14397800eae
[root@NAS pt1-b14397800eae]# wget http://www1.bbiq.jp/papanet/download/PT2/recpt1-http-patch
[root@NAS pt1-b14397800eae]# patch -p2 < recpt1-http-patch
[root@NAS pt1-b14397800eae]# cd recpt1
[root@NAS recpt1]# ./autogen.sh
[root@NAS recpt1]# ./configure --enable-b25
[root@NAS recpt1]# make
[root@NAS recpt1]# make install
firewallのtcpとudpの8888をGUIツールであけます。
[root@NAS recpt1]# reboot

daemon化とかは前回の記事参照

どの程度効果があるのかわかりません。もとより落ちる頻度が1週間に1度くらいだったんで・・・

パソコンでTVをそれほど見るとは思わずhttp版を導入してみましたが、HTPC兼コタツトップとして10mのHDMIケーブルを這わせてダイニングに17インチモニタを設置したら、意外にもダイニング用TVとして大活躍・・・
以前はダイニングからも5m先のリビングのテレビを見てましたが、冬は寒いので仕切ることで暖房効果アップ。
ニュース番組とかプラズマTVで見る必要ないし・・・

<<追記>>

あ?あれ?recpt1http版を「落ちないように修正」版にしたら余計落ちるんですけど・・・・ orz (余計落ちると感じるのはおそらくたまたま)
というか、写らなくなったときにpsでfutex_という見慣れないwchanになっていて、プロセスが何かを待っている・・?
で、上半分で書いたphpでのリロードが効かない(プロセスが落ちてないのだから当然・・)
んー、どうせだめなら手動でも簡単に生き返らせることが出来るほうがいいかも。。
スポンサーサイト

PageTop

コメント

 ※
 ※
管理者にだけ表示を許可する
  ※ 必須項目です

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。