007SH(android 2.3)を使っている。
もともとバッテリーは少ないけど、待ち受けだけなら2日はもつ。
ところが何のタイミングか分からないけど、急に電池消費が激しくなる。
電池が急降下している間、ほとんどスリープなし状態。
とにかくいろんなプロセスを終了させたらスリープなし状態は終わった。
普通だったらこんなもん。
とりあえずスリープを無効にする権限を持ってるプロセスを調べた。
どれかが怪しいはず。
全然別の原因かも知れないけど。
多分ジョルテは入れる前から現象出てたはずだから無実だと思うとして、
他をちょっとずつ調べるのめんどくさい。
電話
ジョルテ
Android Assistant
Googleサービスフレームワーク
ワンセグ
HDMI
マップ
SHARP DMS
SharpIPCService
FeliCaObex
VideoConverterService
コンテンツマネージャー
BURS
アストロ
Dropbox
Google Play ストア
関係ないけどスクリーンショットのとり方をメモっておく。
通話終了キー+ホームキーで、/mnt/sdcard/screen shotにファイルができる。
追記>
犯人はBURS
2012年12月2日日曜日
2012年11月24日土曜日
ubuntu 12.10とpt2
ubuntu 12.10で、pt2をしばらく使ってみた。
一応動きはしたけど、どうも動きが怪しい。
カーネルに組み込まれてるDVB版のドライバで動かしているけど、
微妙に動きが変わっている。
12.04のカーネル(3.2.0-31)だと、ドライバのカーネルスレッドは常時動いていた。
なので、起動後にカーネルスレッドの優先度を上げたりできた。
(PT2(DVB)安定化検討中とか設定メモ: PT2(DVB)安定化検討中の続きとか)
12.10のカーネル(3.5.0)のDVB版ドライバは録画開始でスレッドが立ち上がるように変わったらしい。
カーネルスレッドの優先度を上げておくっていうやり方が使えなくなった。
また、データをドロップする確率がかなり上がってる感じ。
優先度上げても関係ないっぽいし、lowlatencyカーネルに変えても同じ。
もうしょうがないからカーネル3.2.0をそのまま使うことにした。
このままずっと治らなそうだなあ。
追記
最近更新して(3.5.0-23-lowlatency)ここ1週間くらいつかってみてるけど、
大丈夫っぽい。
特定のバージョンでのバグかもしれん。(おかしかったときは3.5.0-18くらいだったかな?)
一応動きはしたけど、どうも動きが怪しい。
カーネルに組み込まれてるDVB版のドライバで動かしているけど、
微妙に動きが変わっている。
12.04のカーネル(3.2.0-31)だと、ドライバのカーネルスレッドは常時動いていた。
なので、起動後にカーネルスレッドの優先度を上げたりできた。
(PT2(DVB)安定化検討中とか設定メモ: PT2(DVB)安定化検討中の続きとか)
12.10のカーネル(3.5.0)のDVB版ドライバは録画開始でスレッドが立ち上がるように変わったらしい。
カーネルスレッドの優先度を上げておくっていうやり方が使えなくなった。
また、データをドロップする確率がかなり上がってる感じ。
優先度上げても関係ないっぽいし、lowlatencyカーネルに変えても同じ。
追記
最近更新して(3.5.0-23-lowlatency)ここ1週間くらいつかってみてるけど、
大丈夫っぽい。
特定のバージョンでのバグかもしれん。(おかしかったときは3.5.0-18くらいだったかな?)
2012年11月20日火曜日
2012年11月16日金曜日
ubuntu 12.10とphpmyadmin
何か動かなくなった。今まで動いていたのに。
とりあえず以下を編集
/etc/apache2/conf.d/phpmyadmin.conf
こんなこと書いてあるのを、
<IfModule mod_php5.c>
AddType application/x-httpd-php .php
php_flag magic_quotes_gpc Off
php_flag track_vars On
php_flag register_globals Off
php_admin_flag allow_url_fopen Off
php_value include_path .
php_admin_value upload_tmp_dir /var/lib/phpmyadmin/tmp
php_admin_value open_basedir /usr/share/phpmyadmin/:/etc/phpmyadmin/:/var/lib/phpmyadmin/
</IfModule>
apache/mods-enabled/php.confから一部使ってこうする。
<IfModule mod_php5.c>
<FilesMatch ".+\.ph(p[345]?|t|tml)$">
SetHandler application/x-httpd-php
</FilesMatch>
AddType application/x-httpd-php .php
php_flag magic_quotes_gpc Off
php_flag track_vars On
php_flag register_globals Off
php_admin_flag allow_url_fopen Off
php_value include_path .
php_admin_value upload_tmp_dir /var/lib/phpmyadmin/tmp
php_admin_value open_basedir /usr/share/phpmyadmin/:/etc/phpmyadmin/:/var/lib/phpmyadmin/
</IfModule>
リスタートして終わり。
何なんだろう?AddTypeが意味なくなってんのかな?
とりあえず以下を編集
/etc/apache2/conf.d/phpmyadmin.conf
こんなこと書いてあるのを、
<IfModule mod_php5.c>
AddType application/x-httpd-php .php
php_flag magic_quotes_gpc Off
php_flag track_vars On
php_flag register_globals Off
php_admin_flag allow_url_fopen Off
php_value include_path .
php_admin_value upload_tmp_dir /var/lib/phpmyadmin/tmp
php_admin_value open_basedir /usr/share/phpmyadmin/:/etc/phpmyadmin/:/var/lib/phpmyadmin/
</IfModule>
apache/mods-enabled/php.confから一部使ってこうする。
<IfModule mod_php5.c>
<FilesMatch ".+\.ph(p[345]?|t|tml)$">
SetHandler application/x-httpd-php
</FilesMatch>
AddType application/x-httpd-php .php
php_flag magic_quotes_gpc Off
php_flag track_vars On
php_flag register_globals Off
php_admin_flag allow_url_fopen Off
php_value include_path .
php_admin_value upload_tmp_dir /var/lib/phpmyadmin/tmp
php_admin_value open_basedir /usr/share/phpmyadmin/:/etc/phpmyadmin/:/var/lib/phpmyadmin/
</IfModule>
リスタートして終わり。
何なんだろう?AddTypeが意味なくなってんのかな?
2012年11月12日月曜日
ubuntu 12.10とepgrec
Ubuntu 12.10(Quantal Quetzal)
にアップグレードしてみた。
前に作ったPT2(DVB), epgrec用do-record.shは単体では動いたので大丈夫だろうと思って
放っておいたら、録画されてる内容が全然違ってた。
どうも録画されてるチャンネルはあってるけど時間が6時間くらいずれてるっぽい。
関係ありそうなのはatとphpで、atは問題なく動いたので、原因はphp。
何か分かんないけど、デフォルトのタイムゾーンがUTCに変わったっぽい。
(<? phpinfo(); ?>で調べたらそうなってるっぽい。)
とりあえず
/etc/php5/conf.d/5-timezone
を作って、
date.timezone = Asia/Tokyo
と書いたらOK
atのせいかとおもって予約全部消したから番組表全部ドロップして
getepg.phpを動かし直した。
それとは別にphpmyadminが動かなくなってしまったので、また調べないと。
多分userdirでsuphp使ってるところとmod_php5が何かあるんじゃないかと予想。
なんかアップグレードごとに毎回トラブルがあるなあ。
何か日本語変換が頭悪くなってる感じもするし。
いい加減にしてほしい。(LTSなのにアップグレードした自分が悪いんだけど)
にアップグレードしてみた。
前に作ったPT2(DVB), epgrec用do-record.shは単体では動いたので大丈夫だろうと思って
放っておいたら、録画されてる内容が全然違ってた。
どうも録画されてるチャンネルはあってるけど時間が6時間くらいずれてるっぽい。
関係ありそうなのはatとphpで、atは問題なく動いたので、原因はphp。
何か分かんないけど、デフォルトのタイムゾーンがUTCに変わったっぽい。
(<? phpinfo(); ?>で調べたらそうなってるっぽい。)
とりあえず
/etc/php5/conf.d/5-timezone
を作って、
date.timezone = Asia/Tokyo
と書いたらOK
atのせいかとおもって予約全部消したから番組表全部ドロップして
getepg.phpを動かし直した。
それとは別にphpmyadminが動かなくなってしまったので、また調べないと。
多分userdirでsuphp使ってるところとmod_php5が何かあるんじゃないかと予想。
なんかアップグレードごとに毎回トラブルがあるなあ。
何か日本語変換が頭悪くなってる感じもするし。
いい加減にしてほしい。(LTSなのにアップグレードした自分が悪いんだけど)
2012年10月28日日曜日
設定メモ: android端末とfirefoxのブックマーク同期
設定メモ: android端末とfirefoxのブックマーク同期
で書いたPCのfirefoxとのブックマーク同期について、
よく考えたらPCは常時電源ONにしてwebサーバにしているので、
firefoxのブックマークデータを読んでhtmlで出力できるCGIを作れば、
事が足りるような気がしたので作った。
firefoxのユーザプロファイルのディレクトリ(~/.mozilla/firefox/*.default)
にあるbookmarkbackupsの中のjsonファイルを読み取る。
(でも、どうもここにあるものはバックアップであって
最新のブックマークになってるわけじゃないっぽい。まあいいか。)
見た目かなりしょぼい。
同期はできない。一方通行。
ブックマークの数が多いから折りたたみをやろうとしてちょっと苦労した。
jqueryとjquery-collapseが必要。
で書いたPCのfirefoxとのブックマーク同期について、
よく考えたらPCは常時電源ONにしてwebサーバにしているので、
firefoxのブックマークデータを読んでhtmlで出力できるCGIを作れば、
事が足りるような気がしたので作った。
firefoxのユーザプロファイルのディレクトリ(~/.mozilla/firefox/*.default)
にあるbookmarkbackupsの中のjsonファイルを読み取る。
(でも、どうもここにあるものはバックアップであって
最新のブックマークになってるわけじゃないっぽい。まあいいか。)
見た目かなりしょぼい。
同期はできない。一方通行。
ブックマークの数が多いから折りたたみをやろうとしてちょっと苦労した。
jqueryとjquery-collapseが必要。
2012年10月27日土曜日
android端末とfirefoxのブックマーク同期
デスクトップではfirefoxをつかってて、ノートPCとか会社のPCとか
全部firefox sync使って同期している。
携帯でも使いたいけど、携帯のブラウザは標準のやつがいい。
ということで探したらあった。
Shaman
シャーマン?かな。もうちょっとそれらしい名前をつけてくれれば見つけやすかったのに。
007sh使ってるので、キーだけで操作できてたら完璧だったんだけど。惜しいなあ。
もうちょっと別の方法を探す。
もう一つFirefox sync pro?とかいうのもあったけど、
それはfirefox側に拡張を入れて、googledocにデータを書き出して同期する感じだった。
有料な上にちょっとイメージと違う。
全部firefox sync使って同期している。
携帯でも使いたいけど、携帯のブラウザは標準のやつがいい。
ということで探したらあった。
Shaman
シャーマン?かな。もうちょっとそれらしい名前をつけてくれれば見つけやすかったのに。
007sh使ってるので、キーだけで操作できてたら完璧だったんだけど。惜しいなあ。
もうちょっと別の方法を探す。
もう一つFirefox sync pro?とかいうのもあったけど、
それはfirefox側に拡張を入れて、googledocにデータを書き出して同期する感じだった。
有料な上にちょっとイメージと違う。
2012年9月22日土曜日
ニコニコ動画のローカルストレージ容量
なんかニコニコ動画のローカルストレージ容量が増えたっぽい。
linuxのflashplayerは何かおかしくて容量増加を要求してくるのに
クリックに反応しないので許可できない。
とりあえず右クリック→グローバル設定から、
Webサイトの記憶領域設定パネル
でres.nimg.jpの上限を増やしたらOKだった。
linuxのflashplayerは何かおかしくて容量増加を要求してくるのに
クリックに反応しないので許可できない。
とりあえず右クリック→グローバル設定から、
Webサイトの記憶領域設定パネル
でres.nimg.jpの上限を増やしたらOKだった。
2012年9月15日土曜日
ibusインプットメソッド
ubuntu 12.04
ibusのインジケータが出てこない。
前のバージョンでは問題なかったのに。
とりあえず起動したら
ibus-daemon -r -d -x
とすると治る。
覚えておくためにメモ
ibusのインジケータが出てこない。
前のバージョンでは問題なかったのに。
とりあえず起動したら
ibus-daemon -r -d -x
とすると治る。
覚えておくためにメモ
2012年8月15日水曜日
PC新調
とりあえずepgrec/ラジオ録音サーバと普段使いのPCを兼ねたPCとして
ATOM機を使ってきたけどそろそろ限界。
休みだしPCを新調することにした。
常時ONにするので低消費電力にしたいが、flashとか見ながらだと録画が厳しかったりするので、
それなりのスペックが欲しい。
それで、今後のことも考えると、ハードウェアエンコード・デコードも欲しい。
ということで、 core i7-3770Tを選んだ。
ここを見ると、VAAPIとやらで、ハードウェアエンコード・デコードが可能なようだ。
そのうちやりたいが、まずはセットアップ。ubuntuを入れる。
セットアップ
ubuntu 12.04日本語版を入れた。
とりあえずは以下を参考に入れる。
全部はやってないけど、結構やりたいことが書いてある。すばらしい。
http://netlog.jpn.org/r271-635/2012/05/ubuntu_1204_install_memo.html
とりあえず↓はやった。
LANG=C xdg-user-dirs-gtk-update
追加で入れたもの
サービス停止
ubuntuのサービス的なものはupstart?とDEのautostartの仕組みをふくめて以下の3通りくらいのようだ
/etc/rc?.d/
昔からある
update-rc.dで止める。(手動で外してもいいと思うけど。)
/etc/init
ubuntuのupstart?
各confファイルのstart onをコメントにする。
/etc/xdg/autostart
DEのautostartの仕組み?
止めるもの
avahi-daemon
bluetooth
zeitgeist-datahub
ubuntuone-launch
LAMP環境を整える
http://tthhfugapiyo.blogspot.jp/2012/08/apache2userdirsuexecsuphp.html
epgrec引越し
とりあえず現行PCのepgrecの予約を全部消す。
消す前に予約一覧のページを保存しておく。
(予約したままデータを移すとatジョブは移行されないから多分うまくいかない。)
mysqlデータをバックアップ
現行PC> mysqldump -u ttfugapiyo -p epgrec > epgrec.sql
新PC> mysql -u root -p
> create database epgrec;
> grant all on epgrec.* to ttfugapiyo@localhost identified by "パスワード"
> flush privileges;
> quit
で、リストア
mysql -u ttfugapiyo -p epgrec < epgrec.sql
DVB用ツール類を/usr/local/binに
cp tssplitter_lite/tssplitter_lite/tssplitter_lite/tssplitter_lite /usr/local/bin/tssplitter_lite
cp dvb-pt1-test/newtune /usr/local/bin/tune
cp dvb-pt1-test/pt2_lnb /usr/local/bin/pt2_lnb
cp dvb-pt1-test/checksignal /usr/local/bin/checksignal
cp arib25/src/b25 /usr/local/bin/b25
cp epgdump_work/epgdumpr2/epgdump /usr/local/bin/epgdump
電源供給をPT2からやる設定
http://tthhfugapiyo.blogspot.jp/2012/07/pt2dvb_06.html
一応videoグループに追加
usermod -a -G video ttfugapiyo
nice値とかリアルタイム優先度とかを変えられるようにしておく
/etc/security/limits.conf
@video - nice -20
@video - rtprio 99
@video - memlock unlimited
ddclient
dynamic dnsを使うので、以下設定する。
パスワードはウィザードでやると''で囲まれてたが、
以前はそれだとうまく動かなかった記憶があるので、''を外した。
/etc/ddclient.conf
daemon=3600
protocol=dyndns2
use=web, web=checkip.dyndns.com, web-skip='IP Address'
server=members.dyndns.org
login=ユーザ名
password=パスワード
サーバ名
その他
DHCPサーバとして使っているのでその設定と、sshの設定をする。
そろそろ長いのでそのうち別に書く。
ATOM機を使ってきたけどそろそろ限界。
休みだしPCを新調することにした。
常時ONにするので低消費電力にしたいが、flashとか見ながらだと録画が厳しかったりするので、
それなりのスペックが欲しい。
それで、今後のことも考えると、ハードウェアエンコード・デコードも欲しい。
ということで、 core i7-3770Tを選んだ。
ここを見ると、VAAPIとやらで、ハードウェアエンコード・デコードが可能なようだ。
そのうちやりたいが、まずはセットアップ。ubuntuを入れる。
セットアップ
ubuntu 12.04日本語版を入れた。
とりあえずは以下を参考に入れる。
全部はやってないけど、結構やりたいことが書いてある。すばらしい。
http://netlog.jpn.org/r271-635/2012/05/ubuntu_1204_install_memo.html
とりあえず↓はやった。
LANG=C xdg-user-dirs-gtk-update
追加で入れたもの
flashplugin-installer
VLCメディアプレイヤー
SMPlayer
GVim
KeePassX
Comix
Vi Improved
lame
sox
ffmpeg
avconv
ssh
Byobu
k9copy
http://www.geocities.jp/ipa_mona/
Ubuntu restricted extras
Dropbox
GnuCash
mysql
apache2-suexec-custom
libapache2-mod-suphp
ddclient
samba
サービス停止
ubuntuのサービス的なものはupstart?とDEのautostartの仕組みをふくめて以下の3通りくらいのようだ
/etc/rc?.d/
昔からある
update-rc.dで止める。(手動で外してもいいと思うけど。)
/etc/init
ubuntuのupstart?
各confファイルのstart onをコメントにする。
/etc/xdg/autostart
DEのautostartの仕組み?
止めるもの
avahi-daemon
bluetooth
zeitgeist-datahub
ubuntuone-launch
LAMP環境を整える
http://tthhfugapiyo.blogspot.jp/2012/08/apache2userdirsuexecsuphp.html
epgrec引越し
とりあえず現行PCのepgrecの予約を全部消す。
消す前に予約一覧のページを保存しておく。
(予約したままデータを移すとatジョブは移行されないから多分うまくいかない。)
mysqlデータをバックアップ
現行PC> mysqldump -u ttfugapiyo -p epgrec > epgrec.sql
新PC> mysql -u root -p
> create database epgrec;
> grant all on epgrec.* to ttfugapiyo@localhost identified by "パスワード"
> flush privileges;
> quit
で、リストア
mysql -u ttfugapiyo -p epgrec < epgrec.sql
DVB用ツール類を/usr/local/binに
cp tssplitter_lite/tssplitter_lite/tssplitter_lite/tssplitter_lite /usr/local/bin/tssplitter_lite
cp dvb-pt1-test/newtune /usr/local/bin/tune
cp dvb-pt1-test/pt2_lnb /usr/local/bin/pt2_lnb
cp dvb-pt1-test/checksignal /usr/local/bin/checksignal
cp arib25/src/b25 /usr/local/bin/b25
cp epgdump_work/epgdumpr2/epgdump /usr/local/bin/epgdump
電源供給をPT2からやる設定
http://tthhfugapiyo.blogspot.jp/2012/07/pt2dvb_06.html
一応videoグループに追加
usermod -a -G video ttfugapiyo
nice値とかリアルタイム優先度とかを変えられるようにしておく
/etc/security/limits.conf
@video - nice -20
@video - rtprio 99
@video - memlock unlimited
ddclient
dynamic dnsを使うので、以下設定する。
パスワードはウィザードでやると''で囲まれてたが、
以前はそれだとうまく動かなかった記憶があるので、''を外した。
/etc/ddclient.conf
daemon=3600
protocol=dyndns2
use=web, web=checkip.dyndns.com, web-skip='IP Address'
server=members.dyndns.org
login=ユーザ名
password=パスワード
サーバ名
その他
DHCPサーバとして使っているのでその設定と、sshの設定をする。
そろそろ長いのでそのうち別に書く。
2012年8月14日火曜日
設定メモ: PT2(DVB)安定化検討中の続き
設定メモ: PT2(DVB)安定化検討中
の続き
カーネルプロセス[pt1]をreniceしてみたけど、効果はいまいちで、
まだドロップすることがある。
もうちょっと何とかならんかなと思って調べたところ、
リアルタイム優先度ってのがあるらしい。
ということで、
chrt -p 99 5202(←[pt1]のPID)
とやってみることにした。
とりあえずまた様子見。
の続き
カーネルプロセス[pt1]をreniceしてみたけど、効果はいまいちで、
まだドロップすることがある。
もうちょっと何とかならんかなと思って調べたところ、
リアルタイム優先度ってのがあるらしい。
ということで、
chrt -p 99 5202(←[pt1]のPID)
とやってみることにした。
とりあえずまた様子見。
2012年8月13日月曜日
apache2のuserdirとsuEXEC/suPHP
常時起動のサーバでPT2(DVB)でepgrecを使ってTVの録画をしている。
他にもrep2を動かしている。
置き場所は~/public_html
この中でwww-dataユーザのファイルがあるのは簡単に編集できないし、
録画データの扱いも面倒なので、ユーザ権限で動かしたい。
以前やったことがあるものとして、ユーザ権限でCGIを動かすことができる
suEXECを入れたことがある。
これだけだと、rubyとかperlとかのスクリプトはユーザ権限で動くようになるが、
phpはwebサーバ権限のまま。
phpにとってのsuEXECのようなものとしてsuPHPと言うのがある。
これらを、userdir上で動かそうとすると、ちょっと作業が必要だった。
設定とかはまったく覚えてないけど、一応関係ありそうなことをメモしておく。
新しく買ったパソコンに入れるついでに作業メモを残しておく。
入れるもの
apache2-suexec-custom
libapache2-mod-suphp
userdirは勝手に入った様な気がする。
userdir
まず、suexec/suphpとちょっと関係ある感じのuserdirを設定する。
public_htmlのなかでcgiが動くように&シンボリックリンクしたものを有効に。
suphp
とりあえずこれでuserdirで動くようになった。
でもこれでsuphpで動かそうとすると何か動かない。
でも色々入れたいし、直置きしたくないので、suphpの設定で回避する。
.htaccessで、
apache2再起動
あれ、動かない。
グループ書き込み権限はダメみたいだな。
動いた。
suexec
suexecも似たようなもんで、cgi-binでしか動かさない設定になっているけど、
自宅サーバでは色々試したい。
なので、以下のようにする。
で、apache2再起動して試す。
suexec.logには以下のようなエラー。
コメントを止めて、apache2再起動。無事動作確認完了。
関係ないけどInsertキー押そうとしてprint screen押して、シャッター音が鳴ってびびった。
深夜作業中には恐ろしい機能だ。
他にもrep2を動かしている。
置き場所は~/public_html
この中でwww-dataユーザのファイルがあるのは簡単に編集できないし、
録画データの扱いも面倒なので、ユーザ権限で動かしたい。
以前やったことがあるものとして、ユーザ権限でCGIを動かすことができる
suEXECを入れたことがある。
これだけだと、rubyとかperlとかのスクリプトはユーザ権限で動くようになるが、
phpはwebサーバ権限のまま。
phpにとってのsuEXECのようなものとしてsuPHPと言うのがある。
これらを、userdir上で動かそうとすると、ちょっと作業が必要だった。
新しく買ったパソコンに入れるついでに作業メモを残しておく。
入れるもの
apache2-suexec-custom
libapache2-mod-suphp
userdirは勝手に入った様な気がする。
userdir
まず、suexec/suphpとちょっと関係ある感じのuserdirを設定する。
a2enmod userdir
public_htmlのなかでcgiが動くように&シンボリックリンクしたものを有効に。
/etc/apache2/mods-enabled/userdir.conf
<IfModule mod_userdir.c>
UserDir public_html
UserDir disabled root
<Directory /home/*/public_html>
#AllowOverride FileInfo AuthConfig Limit Indexes
AllowOverride All
#Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec ExecCGI FollowSymLinks
<Limit GET POST OPTIONS>
Order allow,deny
Allow from all
</Limit>
<LimitExcept GET POST OPTIONS>
Order deny,allow
Deny from all
</LimitExcept>
</Directory>
</IfModule>
suphp
とりあえずこれでuserdirで動くようになった。
でもこれでsuphpで動かそうとすると何か動かない。
a2enmod suphp
a2enmod suexec
[Mon Aug 13 02:36:12 2012] [notice] Apache/2.2.22 (Ubuntu) PHP/5.3.10-1ubuntu3.2phpがdocument rootにないそうで。。。
with Suhosin-Patch configured -- resuming normal operations
[Mon Aug 13 02:36:27 2012] [error] [client 127.0.0.1] SoftException in Applicati
on.cpp:221: File "/home/ttfugapiyo/public_html/rep2/index.php" is not in document r
oot of Vhost "/var/www", referer: http://localhost/~ttfugapiyo/
[Mon Aug 13 02:36:27 2012] [error] [client 127.0.0.1] Premature end of script he
aders: index.php, referer: http://localhost/~ttfugapiyo/
でも色々入れたいし、直置きしたくないので、suphpの設定で回避する。
/etc/suphp/suphp.conf
;Check wheter script is within DOCUMENT_ROOT
;check_vhost_docroot=true
check_vhost_docroot=false
.htaccessで、
Options +ExecCGI
<FilesMatch "\.ph(p3?|tml)$">
SetHandler application/x-httpd-suphp
</FilesMatch>
apache2再起動
service apache2 stop
service apache2 start
あれ、動かない。
[Mon Aug 13 02:51:06 2012] [error] [client 127.0.0.1] SoftException in Applicati
on.cpp:564: Directory "/home/ttfugapiyo/public_html" is writeable by group, referer
: http://localhost/~ttfugapiyo/
[Mon Aug 13 02:51:06 2012] [error] [client 127.0.0.1] Premature end of script he
aders: index.php, referer: http://localhost/~ttfugapiyo/
グループ書き込み権限はダメみたいだな。
chmod -R g-w public_html
動いた。
suexec
suexecも似たようなもんで、cgi-binでしか動かさない設定になっているけど、
自宅サーバでは色々試したい。
なので、以下のようにする。
/etc/apache2/suexec/www-data.htaccessで以下の設定。
#public_html/cgi-bin
public_html
Options +ExecCGI
AddHandler cgi-script .cgi .rb
で、apache2再起動して試す。
[Mon Aug 13 03:15:38 2012] [error] [client 127.0.0.1] suexec policy violation: seeあれ、また動かない。おかしいな。前は動いてた様な。。。
suexec log for more details, referer: http://localhost/~ttfugapiyo/rt/
[Mon Aug 13 03:15:38 2012] [error] [client 127.0.0.1] Premature end of script heade
rs: test.cgi, referer: http://localhost/~ttfugapiyo/rt/
suexec.logには以下のようなエラー。
[2012-08-13 03:15:38]: userdir suffix disabled in /etc/apache2/suexec/www-dataよく見たら、/etc/apache2/suexec/www-dataに何か注意書きが。
# The first two lines contain the suexec document root and the suexec userdir思いっきり引っかかってた。
# suffix. If one of them is disabled by prepending a # character, suexec will
# refuse the corresponding type of request.
コメントを止めて、apache2再起動。無事動作確認完了。
関係ないけどInsertキー押そうとしてprint screen押して、シャッター音が鳴ってびびった。
深夜作業中には恐ろしい機能だ。
2012年8月4日土曜日
どうも地デジの番組表がとれてない
どうも地デジの番組表がとれてないってことに出張先で気づいた。
番組表は一週間分とられるから、おかしくなったのは一週間前ということになる。
とりあえずスマホだけもって出張いってたのでConnectBot入れてsshでなおそうとする。
→何かログインできない。
どうも東横インのネットは何か遮断されているような感じ。
→とりあえず3G回線でつないで何とか修正した。
(サーバの設定のせいだと思ってたので3日くらい放置、いくつか撮り逃してしまった。)
番組表の問題は
最初はCSのチャンネル変更のせいかなと思ったけどそんなことなかった。
一週間前くらいに、録画の最初あたりで録画が乱れるので、
一分前から録画開始、録画終了を一分早めるように変更したせいだ。
録画時間を短くするのはdo-record.shに入れたので、getepgでも60秒短くなる。→地デジの取得時間は60秒から0秒に
→番組表とれない。
という原因。
スマホのタッチでちまちま修正すんのはイライラするな。
タブが無いと不便過ぎる。
bluetoothのキーボード買っとこうかなあ。
番組表は一週間分とられるから、おかしくなったのは一週間前ということになる。
とりあえずスマホだけもって出張いってたのでConnectBot入れてsshでなおそうとする。
→何かログインできない。
どうも東横インのネットは何か遮断されているような感じ。
→とりあえず3G回線でつないで何とか修正した。
(サーバの設定のせいだと思ってたので3日くらい放置、いくつか撮り逃してしまった。)
番組表の問題は
最初はCSのチャンネル変更のせいかなと思ったけどそんなことなかった。
一週間前くらいに、録画の最初あたりで録画が乱れるので、
一分前から録画開始、録画終了を一分早めるように変更したせいだ。
録画時間を短くするのはdo-record.shに入れたので、getepgでも60秒短くなる。→地デジの取得時間は60秒から0秒に
→番組表とれない。
という原因。
スマホのタッチでちまちま修正すんのはイライラするな。
タブが無いと不便過ぎる。
bluetoothのキーボード買っとこうかなあ。
2012年7月25日水曜日
epgrec BS/CSチャンネル変更追従(DVB) テスト
前に改造したやつ。
(設定メモ: epgrec BS/CSチャンネル変更追従(DVB))
またCSチャンネルが変わったみたいなのでテスト。
とりあえず、getepg.phpを実行。
キッズステーションが、同じ名前でダブってる。
同じ名前だけどチャンネル番号が違うからチャンネルでキーワード予約してたらやり直さないといけない。それ以外は大丈夫そう。
s2scanをcronで定期実行しようかとも思ったけど、
scan失敗したらチャンネル全部消えるみたいなことになりそうだから止めとこ。
(設定メモ: epgrec BS/CSチャンネル変更追従(DVB))
またCSチャンネルが変わったみたいなのでテスト。
s2scan -a 2 -c > cs_channels.txtチャンネル追加と、前に変わったときの旧チャンネルが消えたみたい。
diff /usr/local/etc/cs_channels.txt cs_channels.txt
< 時代劇専門チャンネル:DTV_DELIVERY_SYSTEM=9|DTV_FREQUENCY=1693000|DTV_ISDBS_TS_ID=0x7060:292
24d22
< テレ朝チャンネル:DTV_DELIVERY_SYSTEM=9|DTV_FREQUENCY=1813000|DTV_ISDBS_TS_ID=0x70c0:303
27c25
< 朝日ニュースター:DTV_DELIVERY_SYSTEM=9|DTV_FREQUENCY=1813000|DTV_ISDBS_TS_ID=0x70c0:352
---
> キッズステーション:DTV_DELIVERY_SYSTEM=9|DTV_FREQUENCY=1813000|DTV_ISDBS_TS_ID=0x70c0:330
29a28,30
> 時代劇専門chHD:DTV_DELIVERY_SYSTEM=9|DTV_FREQUENCY=1853000|DTV_ISDBS_TS_ID=0x70e0:292
> ファミリー劇場HD:DTV_DELIVERY_SYSTEM=9|DTV_FREQUENCY=1853000|DTV_ISDBS_TS_ID=0x70e0:293
> スーパー!ドラマHD:DTV_DELIVERY_SYSTEM=9|DTV_FREQUENCY=1853000|DTV_ISDBS_TS_ID=0x70e0:310
32d32
< スーパードラマ:DTV_DELIVERY_SYSTEM=9|DTV_FREQUENCY=1893000|DTV_ISDBS_TS_ID=0x7100:310
43,44d42
< ファミリー劇場:DTV_DELIVERY_SYSTEM=9|DTV_FREQUENCY=2013000|DTV_ISDBS_TS_ID=0x7160:293
< TBSチャンネル:DTV_DELIVERY_SYSTEM=9|DTV_FREQUENCY=2013000|DTV_ISDBS_TS_ID=0x7160:301
sudo cp cs_channels.txt /usr/local/etc/
とりあえず、getepg.phpを実行。
キッズステーションが、同じ名前でダブってる。
同じ名前だけどチャンネル番号が違うからチャンネルでキーワード予約してたらやり直さないといけない。それ以外は大丈夫そう。
s2scanをcronで定期実行しようかとも思ったけど、
scan失敗したらチャンネル全部消えるみたいなことになりそうだから止めとこ。
2012年7月22日日曜日
PT2(DVB)安定化検討中
温泉行って血行がよくなったせいか、昨日の夜は何か頭痛がひどかった。
久々に早寝早起きだったので、pt2の検討。
今は/dev/dvb/adapter?/dvr0から、ddで取り込んでいる。
(設定メモ: PT2(DVB), epgrec用do-record.sh)
dd -> b25 -> tssplitter_lite -> dd -> file
とりあえず最初のddにconv=noerrorを入れてあるので、途中で多少データが落ちても止まらない。
ただ、複数チャンネル録画とかすると、ちょくちょくデータを落とす。
dd: reading `/dev/dvb/adapter0/dvr0': Value too large for defined data type
で、負荷が高いときにドライバからのリードが追いつかないような気がしているので、
最初のddの優先度を高くして、後の処理はnice値大きめにしてある。
これでしばらく動かしてみたけど、闇雲に最初のddの優先度を高くしてみてもあまり効果がないようだった。
とくに一番最初にドライバからデータがとれない場合、完全にダメになってしまう。
どうもドライバの方が間に合って無いのかなという気がしてきた。
なのでreniceでカーネルのpt1ドライバのスレッドの優先度を上げてみることにした。
になっているから、
ちょっとはマシになったような気もするけど。うーん。どうだろう。
あんまり変わらないような気もする。
録画はじめてしばらくすると大丈夫っぽいので、マシンスペックのせいでも無いと思うんだけど。
まだちょっと頭が痛いのでもう休もう。
久々に早寝早起きだったので、pt2の検討。
今は/dev/dvb/adapter?/dvr0から、ddで取り込んでいる。
(設定メモ: PT2(DVB), epgrec用do-record.sh)
dd -> b25 -> tssplitter_lite -> dd -> file
とりあえず最初のddにconv=noerrorを入れてあるので、途中で多少データが落ちても止まらない。
ただ、複数チャンネル録画とかすると、ちょくちょくデータを落とす。
dd: reading `/dev/dvb/adapter0/dvr0': Value too large for defined data type
で、負荷が高いときにドライバからのリードが追いつかないような気がしているので、
最初のddの優先度を高くして、後の処理はnice値大きめにしてある。
これでしばらく動かしてみたけど、闇雲に最初のddの優先度を高くしてみてもあまり効果がないようだった。
とくに一番最初にドライバからデータがとれない場合、完全にダメになってしまう。
どうもドライバの方が間に合って無いのかなという気がしてきた。
なのでreniceでカーネルのpt1ドライバのスレッドの優先度を上げてみることにした。
root 556 0.0 0.0 0 0 ? S Jul09 0:57 \_ [jbd2/sda1-8]
root 559 0.0 0.0 0 0 ? S< Jul09 0:00 \_ [ext4-dio-unwrit]
root 605 0.0 0.0 0 0 ? S< Jul09 0:00 \_ [hd-audio0]
root 723 2.1 0.0 0 0 ? S< Jul09 420:43 \_ [pt1]
root 29253 0.0 0.0 0 0 ? S Jul14 1:01 \_ [flush-8:16]
root 14602 0.0 0.0 0 0 ? S 04:12 0:04 \_ [kworker/0:3]
root 28225 0.0 0.0 0 0 ? S 07:34 0:00 \_ [kworker/1:1]
になっているから、
renice -n -20 -p 723とやってみた。
ちょっとはマシになったような気もするけど。うーん。どうだろう。
あんまり変わらないような気もする。
録画はじめてしばらくすると大丈夫っぽいので、マシンスペックのせいでも無いと思うんだけど。
まだちょっと頭が痛いのでもう休もう。
2012年7月19日木曜日
screenでマウススクロール
~/.screenrcに以下を書いておくといいらしい。忘れないうちにメモ。
(http://osdir.com/ml/screen-users-gnu/2010-01/msg00005.html)
termcapinfo linux ti@:te@
termcapinfo xterm ti@:te@
termcapinfo xterm-color ti@:te@
ubuntu 12.04のbyobuはどうもデフォルトtmuxみたいだけど、エスケープキーが^Aから変えられない。
UIで変更できたように見せかけて実際は変わってなくてイラついたので (本当は何かやり方があるんだろうけど)
backendをscreenに変更して使用中。
12.04より前だとmake menuconfigとかが激しく崩れてたと思うけど、12.04では問題無し。
byobuでscreenつかってても~/.screenrcは読み込まれるみたいなので、
上の設定は~/.screenrcに書いておく。
(http://osdir.com/ml/screen-users-gnu/2010-01/msg00005.html)
termcapinfo linux ti@:te@
termcapinfo xterm ti@:te@
termcapinfo xterm-color ti@:te@
ubuntu 12.04のbyobuはどうもデフォルトtmuxみたいだけど、エスケープキーが^Aから変えられない。
UIで変更できたように見せかけて実際は変わってなくてイラついたので (本当は何かやり方があるんだろうけど)
backendをscreenに変更して使用中。
12.04より前だとmake menuconfigとかが激しく崩れてたと思うけど、12.04では問題無し。
byobuでscreenつかってても~/.screenrcは読み込まれるみたいなので、
上の設定は~/.screenrcに書いておく。
2012年7月16日月曜日
epgrecの録画済みファイルをmplayerで見る
うちのPCだとvlcは重すぎでまともに見れない。
ローカルでしか見ない(見れない)のに、HTTP経由で見るのも負担。
なのでローカルで直接mplayerで見るように変える。
とりあえずダウンロードされるasxファイルを直接ローカルを指すように変える。
asxファイルを受け取って再生させるスクリプトを作って適当な名前でパスを通す。
(邪魔なので見た後はasxファイルを消すようにした。)
firefoxとかでasxファイルを開くときに↑のスクリプトを関連付ける。
とりあえずこれで録画済一覧ページからクリックでmplayerで再生できる。
.mplayer/configは今のところ以下。なんでこうなったかは覚えてない。
つまんない番組は]キーで加速する。(見なきゃいいんだけど)
音の高さが変わって聞き取れなくなっちゃうのでaf=scaletempoをいれてある。
TV録画しながらTV見ながらラジオ録音しながらrep2動かしたりしてると
さすがにATOMだと重いような気がしてきた。
とくにtssplitter_lite通すと録画開始してしばらくドロップが激しい時がある。
本当にPCスペックのせいかどうかは分からんけど、
ハードウェア支援のあるPCで低消費電力なやつをそろそろ探したい。
ローカルでしか見ない(見れない)のに、HTTP経由で見るのも負担。
なのでローカルで直接mplayerで見るように変える。
とりあえずダウンロードされるasxファイルを直接ローカルを指すように変える。
diff --git a/viewer.php b/viewer.php
index 4db8f17..fc4623c 100755
--- a/viewer.php
+++ b/viewer.php
@@ -37,8 +37,9 @@ try{
echo "<ASX version = \"3.0\">";
echo "<PARAM NAME = \"Encoding\" VALUE = \"UTF-8\" />";
echo "<ENTRY>";
- if( ! $rrec->complete ) echo "<REF HREF=\"".$settings->install_url."/sendstream.php?reserve_id=".$rrec->id ."\" />";
- echo "<REF HREF=\"".$settings->install_url.$settings->spool."/".$rrec->path ."\" />";
+ #if( ! $rrec->complete ) echo "<REF HREF=\"".$settings->install_url."/sendstream.php?reserve_id=".$rrec->id ."\" />";
+ #echo "<REF HREF=\"".$settings->install_url.$settings->spool."/".$rrec->path ."\" />";
+ echo "<REF HREF=\"".INSTALL_PATH.$settings->spool."/".$rrec->path ."\" />";
echo "<TITLE>".$title."</TITLE>";
echo "<ABSTRACT>".$abstract."</ABSTRACT>";
echo "<DURATION VALUE=";
@@ -49,4 +50,4 @@ try{
catch(exception $e ) {
exit( $e->getMessage() );
}
-?>
\ No newline at end of file
+?>
asxファイルを受け取って再生させるスクリプトを作って適当な名前でパスを通す。
(邪魔なので見た後はasxファイルを消すようにした。)
listmplayer.sh
#!/bin/bash
mplayer -xy 720 -fs -playlist "$1"
DIRNAME=`dirname "$1"`
rm -f ${DIRNAME}/*.ts*.asx
firefoxとかでasxファイルを開くときに↑のスクリプトを関連付ける。
とりあえずこれで録画済一覧ページからクリックでmplayerで再生できる。
.mplayer/configは今のところ以下。なんでこうなったかは覚えてない。
つまんない番組は]キーで加速する。(見なきゃいいんだけど)
音の高さが変わって聞き取れなくなっちゃうのでaf=scaletempoをいれてある。
[default]
# Write your default config options here!
#hardframedrop=1
framedrop=1
#hardframedrop=1
cache=8192
lavdopts=fast=1:threads=2
noslices=1
quiet=1
nocorrect-pts=1
ao=pulse
af=scaletempo
TV録画しながらTV見ながらラジオ録音しながらrep2動かしたりしてると
さすがにATOMだと重いような気がしてきた。
とくにtssplitter_lite通すと録画開始してしばらくドロップが激しい時がある。
本当にPCスペックのせいかどうかは分からんけど、
ハードウェア支援のあるPCで低消費電力なやつをそろそろ探したい。
2012年7月10日火曜日
epgrecの録画済み一覧
epgrecの録画済み一覧にthumbnailがでるけど、
jpgが作られたり作られなかったり、作られててもphpから正しくリンクされなかったり、
怪しい。
とりあえずの調べてみた結果、
1. gen-thumbnail.sh
OUTPUTファイル名がスペースを含むと、コマンドが失敗するのではないか。
ということで、
まだあまり試してないので様子見。
2. urlencodeの問題
ファイル名はurlencodeされてブラウザへ送られてくる。
どうも、#つきのファイル等、記号を含んだファイル名のものは、jpgファイルがあるのに
サムネイルが表示されない。
サムネイルのURLの生成に使われているhtmlentities($r->path, ENT_QUOTES, "UTF-8")の結果、
#記号が処理されずに途中で切れているように見える。
とりあえず全部UTF-8なので、rawurlencode($r->path)とすることで、ある程度解決したかもしれない。
まだあまり試してないので様子見。
jpgが作られたり作られなかったり、作られててもphpから正しくリンクされなかったり、
怪しい。
とりあえずの調べてみた結果、
1. gen-thumbnail.sh
OUTPUTファイル名がスペースを含むと、コマンドが失敗するのではないか。
ということで、
${FFMPEG} -i "${OUTPUT}" -r 1 -s 160x90 -ss ${offset} -vframes 1 -f image2 "${THUMB}"と言う感じで、OUTPUTとTHUMBを""で囲った。
まだあまり試してないので様子見。
2. urlencodeの問題
ファイル名はurlencodeされてブラウザへ送られてくる。
どうも、#つきのファイル等、記号を含んだファイル名のものは、jpgファイルがあるのに
サムネイルが表示されない。
サムネイルのURLの生成に使われているhtmlentities($r->path, ENT_QUOTES, "UTF-8")の結果、
#記号が処理されずに途中で切れているように見える。
とりあえず全部UTF-8なので、rawurlencode($r->path)とすることで、ある程度解決したかもしれない。
まだあまり試してないので様子見。
2012年7月8日日曜日
epgrec BS/CSチャンネル変更追従(DVB)
CSは何かチャンネル変更が頻繁に起こるみたい。
chardev版は多分色々やる人がいるだろうけど、
DVB版でepgrec使う人はそんなにいないだろうから、自分で何とかする必要がある。
チャンネル情報は、s2scanでスキャンすればとってこれる。
s2scan -a 2 -b > bs_channels.txt
BS朝日1:DTV_DELIVERY_SYSTEM=9|DTV_FREQUENCY=1049480|DTV_ISDBS_TS_ID=0x4010:151
BS朝日2:DTV_DELIVERY_SYSTEM=9|DTV_FREQUENCY=1049480|DTV_ISDBS_TS_ID=0x4010:152
BS朝日3:DTV_DELIVERY_SYSTEM=9|DTV_FREQUENCY=1049480|DTV_ISDBS_TS_ID=0x4010:153
BS−TBS:DTV_DELIVERY_SYSTEM=9|DTV_FREQUENCY=1049480|DTV_ISDBS_TS_ID=0x4011:161
...
s2scan -a 2 -c > cs_channels.txt
TBSチャンネルHD:DTV_DELIVERY_SYSTEM=9|DTV_FREQUENCY=1613000|DTV_ISDBS_TS_ID=0x6020:296
テレ朝チャンネルHD:DTV_DELIVERY_SYSTEM=9|DTV_FREQUENCY=1613000|DTV_ISDBS_TS_ID=0x6020:298
朝日ニュースターHD:DTV_DELIVERY_SYSTEM=9|DTV_FREQUENCY=1613000|DTV_ISDBS_TS_ID=0x6020:299
ザ・シネマ:DTV_DELIVERY_SYSTEM=9|DTV_FREQUENCY=1653000|DTV_ISDBS_TS_ID=0x7040:227
ホームドラマCH:DTV_DELIVERY_SYSTEM=9|DTV_FREQUENCY=1653000|DTV_ISDBS_TS_ID=0x7040:294
...
取ってきたファイルを/usr/local/etcに置くことにして、
とりあえず以下3つに対処が必要。
それぞれs2scanで取ってきたデータを使うように変更すればいいんじゃないか。
どっちもcで書かれてて、チャンネルテーブルをコード直書きで定義しているだけなので、
s2scanで作ったファイルを読んでテーブルを置き換えればいい。
ただ、tuneはCSも読めるように改造する必要がある。
newtune.c
readchannels.c
epgdumpの方は、上のreadchannelsをリンクして、
ひととおりテーブルが読み終わった後にすげ替えればいい。
epgrec
epgrecもテーブルがあるだけなので、同じようにファイルを読んで置き換えればいいはずだけど、
正直phpは分からん。 文字コードの扱いがうまくいってない気がするけど、とりあえず動く状態。
readchannels.php
config.phpの$BS_CHANNELS_MAP, $CS_CHANNELS_MAPを作り終わった後に読み込んですげ替えればいい。
ontvjapan.comの番号はとくに意味ないみたいなのでBSは4000番台, CSは5000番台にした。
チャンネル番号はすべてプログラム番号に変えて、プログラム番号を受け取ったらtuneの方で対応する。
なので、BS/CSの取得チャンネルは以下のように変更。
どんなコマンドを実行したかは忘れた。
追記:とりあえずまとめて以下
http://tthhfugapiyo.blogspot.jp/2014/06/epgrecdvb.html
chardev版は多分色々やる人がいるだろうけど、
DVB版でepgrec使う人はそんなにいないだろうから、自分で何とかする必要がある。
チャンネル情報は、s2scanでスキャンすればとってこれる。
s2scan -a 2 -b > bs_channels.txt
BS朝日1:DTV_DELIVERY_SYSTEM=9|DTV_FREQUENCY=1049480|DTV_ISDBS_TS_ID=0x4010:151
BS朝日2:DTV_DELIVERY_SYSTEM=9|DTV_FREQUENCY=1049480|DTV_ISDBS_TS_ID=0x4010:152
BS朝日3:DTV_DELIVERY_SYSTEM=9|DTV_FREQUENCY=1049480|DTV_ISDBS_TS_ID=0x4010:153
BS−TBS:DTV_DELIVERY_SYSTEM=9|DTV_FREQUENCY=1049480|DTV_ISDBS_TS_ID=0x4011:161
...
s2scan -a 2 -c > cs_channels.txt
TBSチャンネルHD:DTV_DELIVERY_SYSTEM=9|DTV_FREQUENCY=1613000|DTV_ISDBS_TS_ID=0x6020:296
テレ朝チャンネルHD:DTV_DELIVERY_SYSTEM=9|DTV_FREQUENCY=1613000|DTV_ISDBS_TS_ID=0x6020:298
朝日ニュースターHD:DTV_DELIVERY_SYSTEM=9|DTV_FREQUENCY=1613000|DTV_ISDBS_TS_ID=0x6020:299
ザ・シネマ:DTV_DELIVERY_SYSTEM=9|DTV_FREQUENCY=1653000|DTV_ISDBS_TS_ID=0x7040:227
ホームドラマCH:DTV_DELIVERY_SYSTEM=9|DTV_FREQUENCY=1653000|DTV_ISDBS_TS_ID=0x7040:294
...
取ってきたファイルを/usr/local/etcに置くことにして、
とりあえず以下3つに対処が必要。
それぞれs2scanで取ってきたデータを使うように変更すればいいんじゃないか。
- tune
- epgdump
- epgrec
どっちもcで書かれてて、チャンネルテーブルをコード直書きで定義しているだけなので、
s2scanで作ったファイルを読んでテーブルを置き換えればいい。
ただ、tuneはCSも読めるように改造する必要がある。
newtune.c
readchannels.c
epgdumpの方は、上のreadchannelsをリンクして、
ひととおりテーブルが読み終わった後にすげ替えればいい。
475 pStas = calloc(1, sizeof(STATION));
476 pStas->tsId = svtcur->transport_stream_id ;
477 pStas->onId = svtcur->original_network_id ;
478 pStas->svId = svtcur->event_id ;
479 pStas->ontv = arg_onTV ;
480 pStas->name = svtcur->servicename ;
481 staCount = 1;
482 }
483 read_channels_epgdump(arg_onTV, &pStas, &staCount);
484
485 fprintf(outfile, "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n");
486 fprintf(outfile, "<!DOCTYPE tv SYSTEM \"xmltv.dtd\">\n\n");
487 fprintf(outfile, "<tv generator-info-name=\"tsEPG2xml\" generator-info-url=\"http://localhost/\">\n");
epgrec
epgrecもテーブルがあるだけなので、同じようにファイルを読んで置き換えればいいはずだけど、
正直phpは分からん。 文字コードの扱いがうまくいってない気がするけど、とりあえず動く状態。
readchannels.php
config.phpの$BS_CHANNELS_MAP, $CS_CHANNELS_MAPを作り終わった後に読み込んですげ替えればいい。
include_once( INSTALL_PATH . '/readchannels.php');
ontvjapan.comの番号はとくに意味ないみたいなのでBSは4000番台, CSは5000番台にした。
チャンネル番号はすべてプログラム番号に変えて、プログラム番号を受け取ったらtuneの方で対応する。
なので、BS/CSの取得チャンネルは以下のように変更。
// BS/CSでEPGを取得するチャンネルチャンネルがガラッと変わるので、mysqlの方は旧チャンネルのデータを落とした。
// 通常は変える必要はありません
// BSでepgdumpが頻繁に落ちる場合は、受信状態のいいチャンネルに変えることで
// 改善するかもしれません
define( "BS_EPG_CHANNEL", "211" ); // BS
define( "CS1_EPG_CHANNEL", "CS55" ); // CS1
define( "CS2_EPG_CHANNEL", "CS300" ); // CS2
どんなコマンドを実行したかは忘れた。
追記:とりあえずまとめて以下
http://tthhfugapiyo.blogspot.jp/2014/06/epgrecdvb.html
PT2(DVB), epgrec用do-record.sh
TVの録画にepgrecを使いたい。
ただ、chardev版はカーネルのバージョンアップごとに更新しないといけない(頻繁にUPするのでめんどい)し、
ubuntu 12.10でやってみたら入らなかったので除外。
DVB版で使うことにする。
DVB版でepgrecを使うには、do-record.shに工夫が必要。
まず、epgrecから渡されるTUNERは適当なので、無視する。
TYPEによって、/dev/dvb/adapter0-3のどれを使うか決め、同じadapterを使うことが無いように
排他制御をする必要がある。
TSの取り込み部分は、fuse_b25を使ってやってみた時期もあったけど、
0byteのファイルが出来る頻度が多くて動きが怪しいという印象。
よって、/dev/dvb/adapter?/dvr0からddで取り出し、b25コマンドで復号するというローテクで。
録画失敗率は下がったと思う。
シェルスクリプトで色々やってたが、細かい制御が面倒になったのでrubyでやることにした。起動まではrubyだけど、実際に録画に使用されるのはmkfifoで作ったfifoと各種コマンドなので
処理的には大丈夫だと思いたい。
https://sites.google.com/site/tthhfugapiyo/home/tv.rb
spawnを使っているのでruby1.9系が必要。
直接TVを見るときも排他が必要なので、コマンドラインからも実行できるようにした。
mplayerで見る。
tv.rb 211 -p
mplayerで見ながらfileに落とす。
tv.rb 211 -o file -p
do-record.shとして使う。
ln -s tv.rb do-record.sh
CHANNEL=211 DURATION=1800 TYPE=BS OUTPUT=file.ts do-record.sh
デフォルトでBSとCSはtssplitter_liteをかけるようにしたので、
epgdumpで使うときはMODE=-1になるようにgetepg.phpの方を改造する必要がある。
追記:色々変更したのでまとめて以下
http://tthhfugapiyo.blogspot.jp/2014/06/epgrecdvb.html
ただ、chardev版はカーネルのバージョンアップごとに更新しないといけない(頻繁にUPするのでめんどい)し、
ubuntu 12.10でやってみたら入らなかったので除外。
DVB版で使うことにする。
DVB版でepgrecを使うには、do-record.shに工夫が必要。
まず、epgrecから渡されるTUNERは適当なので、無視する。
TYPEによって、/dev/dvb/adapter0-3のどれを使うか決め、同じadapterを使うことが無いように
排他制御をする必要がある。
TSの取り込み部分は、fuse_b25を使ってやってみた時期もあったけど、
0byteのファイルが出来る頻度が多くて動きが怪しいという印象。
よって、/dev/dvb/adapter?/dvr0からddで取り出し、b25コマンドで復号するというローテクで。
録画失敗率は下がったと思う。
シェルスクリプトで色々やってたが、細かい制御が面倒になったのでrubyでやることにした。起動まではrubyだけど、実際に録画に使用されるのはmkfifoで作ったfifoと各種コマンドなので
処理的には大丈夫だと思いたい。
https://sites.google.com/site/tthhfugapiyo/home/tv.rb
spawnを使っているのでruby1.9系が必要。
直接TVを見るときも排他が必要なので、コマンドラインからも実行できるようにした。
mplayerで見る。
tv.rb 211 -p
mplayerで見ながらfileに落とす。
tv.rb 211 -o file -p
do-record.shとして使う。
ln -s tv.rb do-record.sh
CHANNEL=211 DURATION=1800 TYPE=BS OUTPUT=file.ts do-record.sh
デフォルトでBSとCSはtssplitter_liteをかけるようにしたので、
epgdumpで使うときはMODE=-1になるようにgetepg.phpの方を改造する必要がある。
追記:色々変更したのでまとめて以下
http://tthhfugapiyo.blogspot.jp/2014/06/epgrecdvb.html
2012年7月7日土曜日
PT2信号レベル測定(DVB)3
天気悪すぎ。
電波が弱い。
信号レベル測定のプログラムを使って調整しようとおもったけど、
チューニングが成功しないと信号レベルが出てこないから使えないな。
あと値がふらふらするからいまいち分からない。一次遅れを入れよう。
(本当はalsamixerみたいな棒グラフにしたいけど)
あきらめた。
電波が弱い。
信号レベル測定のプログラムを使って調整しようとおもったけど、
チューニングが成功しないと信号レベルが出てこないから使えないな。
あと値がふらふらするからいまいち分からない。一次遅れを入れよう。
(本当はalsamixerみたいな棒グラフにしたいけど)
- 更新した(checksignal.c)
- readchannels.cは前のまま
あきらめた。
2012年7月6日金曜日
PT2信号レベル測定(DVB)2
今日大雨だったので動かしてみた。
(前回の投稿にリンクするのはどうやるんだろう)
激しい雨のとき
ちょっと収まったとき
(前回の投稿にリンクするのはどうやるんだろう)
激しい雨のとき
$ ./checksignal 2 CS333
Successfully tuned to AT−X .
494, 494, 494
451, 494, 451
458, 494, 451
472, 494, 451
465, 494, 451
398, 494, 398
ちょっと収まったとき
$ ./checksignal 2 CS333激しく違う。
Successfully tuned to AT−X .
2529, 2529, 2529
2529, 2529, 2529
2533, 2533, 2529
2527, 2533, 2527
2524, 2533, 2524
2515, 2533, 2515
2516, 2533, 2515
PT2の電源供給(DVB版)
今のところ以下のような構成。
アンテナ
↓
分配器(両通電)
↓ ↓
TV PC
分配器の両通電タイプにしたので、問題ないと思ってたけど、
分配器の説明に、「両方電源入れたら壊れるかもしれんからやめて」みたいなことがかいてある。
TVつけたときにPC落としたりしないし。両通電の意味無いんじゃ。。
仕方ないから↓のようにする。
問題は、dvbでどうやって常時LNBをONにするか。
とりあえずtuneコマンドのioctlを改造して、ioctlでpt2のLNBをONにするものを作った?
(改造したのか、dvb-pt1-testの中に元々あったか忘れた。もしかしたら誰かが作ったものかも)
https://sites.google.com/site/tthhfugapiyo/home/pt2_lnb.c
ただ、プログラムを終わらせるとLNBがOFFになってしまう。
ずっと動かしっぱなしだとその間デバイスが使用中になるのでよくない。
よって、モジュールオプションdvb_powerdown_on_sleepでOFFにならないようにする。
/etc/rc.localに入れようかと思ったけど、いまいち確実でないので、udevを使う。
アンテナ
↓
分配器(両通電)
↓ ↓
TV PC
- PT2を入れたPCは常時電源ONにしている。
- TVはたまにしかつけないので電源OFF。
分配器の両通電タイプにしたので、問題ないと思ってたけど、
分配器の説明に、「両方電源入れたら壊れるかもしれんからやめて」みたいなことがかいてある。
TVつけたときにPC落としたりしないし。両通電の意味無いんじゃ。。
仕方ないから↓のようにする。
- TVからは電源供給しない。
- PCから常時電源供給。
問題は、dvbでどうやって常時LNBをONにするか。
とりあえずtuneコマンドのioctlを改造して、ioctlでpt2のLNBをONにするものを作った?
(改造したのか、dvb-pt1-testの中に元々あったか忘れた。もしかしたら誰かが作ったものかも)
https://sites.google.com/site/tthhfugapiyo/home/pt2_lnb.c
ただ、プログラムを終わらせるとLNBがOFFになってしまう。
ずっと動かしっぱなしだとその間デバイスが使用中になるのでよくない。
よって、モジュールオプションdvb_powerdown_on_sleepでOFFにならないようにする。
/etc/modprobe.d/mod_dvb.conf:つぎに、モジュール読み込み時にONにする方法。
options dvb-core dvb_powerdown_on_sleep=0
/etc/rc.localに入れようかと思ったけど、いまいち確実でないので、udevを使う。
/etc/udev/rules.d/90-pt2-lnb.rules:
SUBSYSTEM=="dvb", ACTION=="add", ENV{DVB_DEVICE_TYPE}=="frontend", RUN+="/usr/local/bin/pt2_lnb 2"これでOKになったはず。
2012年7月5日木曜日
PT2信号レベル測定(DVB)
もらったアンテナで衛星放送を見てるけど、ちゃんと設置してなくてただ置いているだけ。最近雨が多くてなんか電波が悪いようなそうでもないような。
アンテナの調整をしようと思ったけど、信号レベルの測定のためにテレビを持っていくのは面倒くさすぎる。
なんとかノートPCですませたい。
chardev版で信号レベルを測っている人はいる模様なのでやってみた。
(トラックバックのやり方がよくわからんけどおぼえてたら後でリンクする)
(Bloggerにはトラックバックというのはないらしいので参考URLhttp://blog.lwlv.net/archives/677)
DMAの領域確保に失敗しているのか?
試しに減らしてみたらpanic状態になってsysrqキーに助けられる。(キーはよく知らないのであとでメモっとこう)
しかもロード失敗してるのに/dev/pt1video0とか残ってるし。
PT2はDVBで使ってるので、chardev版はさっと諦めて、DVBで何とか信号測定する方法を探す。
同じようにDVB版に入れれば何とかなりそうと思ったら入ってた。
pt1/va1j5jf8007t.cのva1j5jf8007t_read_snr関数でやっているようだ。
dvb_frontend_opsのread_snrに登録されている。
dvb_frontend.cを見るとioctlのFE_READ_SNRでいけそう。
dbの計算式とかrecpt1と違うみたいなので数値の比較は出来なそう。
暇な時にアンテナ調整してみる予定。
Bloggerって添付ファイルはっつけらんねーのかな。
ファイル添付無理っぽい。他に作ってリンクするしかないようだ。面倒くさいな。
以下、dvb-pt1-testのtuneを改造したもの。使用頻度は低いので超適当。
地上波は岡山設定。
s2scanの結果を/usr/local/etc/cs_channels.txt, /usr/local/etc/bs_channels.txt
に置いておくと読むようにしたはず。
checksignal.c
readchannels.c
アンテナの調整をしようと思ったけど、信号レベルの測定のためにテレビを持っていくのは面倒くさすぎる。
なんとかノートPCですませたい。
chardev版で信号レベルを測っている人はいる模様なのでやってみた。
(Bloggerにはトラックバックというのはないらしいので参考URLhttp://blog.lwlv.net/archives/677)
[ 426.395992] lowmem_reserve[]: 0 0 0 0むりだった。
[ 426.396080] DMA: 5*4kB 7*8kB 5*16kB 5*32kB 1*64kB 1*128kB 1*256kB 0*512kB 1*1024kB 1*2048kB 0*4096kB = 3836kB
[ 426.396112] Normal: 0*4kB 1*8kB 0*16kB 1*32kB 1*64kB 0*128kB 1*256kB 0*512kB 1*1024kB 0*2048kB 0*4096kB = 1384kB
[ 426.396142] HighMem: 19*4kB 6*8kB 2*16kB 1*32kB 0*64kB 1*128kB 0*256kB 0*512kB 0*1024kB 0*2048kB 0*4096kB = 316kB
[ 426.396172] 158201 total pagecache pages
[ 426.396178] 49 pages in swap cache
[ 426.396184] Swap cache stats: add 66, delete 17, find 3/4
[ 426.396190] Free swap = 9767276kB
[ 426.396195] Total swap = 9767516kB
[ 426.405931] 260016 pages RAM
[ 426.405941] 32706 pages HighMem
[ 426.405947] 5955 pages reserved
[ 426.405952] 140035 pages shared
[ 426.405957] 179903 pages non-shared
[ 426.405965] PT1:DMA ALLOC ERROR
[ 426.412817] pt1-pci: probe of 0000:02:00.0 failed with error -5
DMAの領域確保に失敗しているのか?
試しに減らしてみたらpanic状態になってsysrqキーに助けられる。(キーはよく知らないのであとでメモっとこう)
しかもロード失敗してるのに/dev/pt1video0とか残ってるし。
PT2はDVBで使ってるので、chardev版はさっと諦めて、DVBで何とか信号測定する方法を探す。
recpt1/checksignal.c
249 if(ioctl(fd, GET_SIGNAL_STRENGTH, &rc) < 0) {から調査、i2cで0x8c,0x8dあたりをどうのこうのしているらしい。
250 fprintf(stderr, "Tuner Select Error\n");
251 return ;
252 }
同じようにDVB版に入れれば何とかなりそうと思ったら入ってた。
pt1/va1j5jf8007t.cのva1j5jf8007t_read_snr関数でやっているようだ。
dvb_frontend_opsのread_snrに登録されている。
dvb_frontend.cを見るとioctlのFE_READ_SNRでいけそう。
~/work/dvb-pt1-test$ ./checksignal 2 CS333いけた。(のかな?)
Successfully tuned to AT−X .
2855, 2855, 2855
2832, 2855, 2832
2839, 2855, 2832
2815, 2855, 2815
2814, 2855, 2814
2799, 2855, 2799
dbの計算式とかrecpt1と違うみたいなので数値の比較は出来なそう。
暇な時にアンテナ調整してみる予定。
ファイル添付無理っぽい。他に作ってリンクするしかないようだ。面倒くさいな。
以下、dvb-pt1-testのtuneを改造したもの。使用頻度は低いので超適当。
地上波は岡山設定。
s2scanの結果を/usr/local/etc/cs_channels.txt, /usr/local/etc/bs_channels.txt
に置いておくと読むようにしたはず。
checksignal.c
readchannels.c
とりあえず
色々メモを記録していくことにしようかな。
忘れたときのために。
あとデータが飛んだときのために。
まずは最近PCの時計が10年くらいとんでfirefox syncで拡張が一部消えてしまったので再インストールメモ
忘れたときのために。
あとデータが飛んだときのために。
まずは最近PCの時計が10年くらいとんでfirefox syncで拡張が一部消えてしまったので再インストールメモ
- Adblock Plus
- 重い広告がおおいから
- Clear Cache Button
- niconicoとかでキャッシュを消せと言われたときに
- Evernote Web Clipper
- あんまりつかってない
- FireGestures
- 必須
- Gmail Watcher
- 一応
- Google Reader Watcher
- 必須
- 会社用と家用でラベルフィルタで分けて見る(日本語ラベルは使えない)
- QuickDrag
- いちいち選択して右クリックして検索とかめんどくさいので
- SearchBox Sync
- 検索した時にgoogleのアドレスから検索ボックスへ検索ワードが入る。
- googleが動的になったのでいまいち
- google toolbarの代わり
- SearchWP
- 検索ボックスの単語をハイライト
- google toolbarの代わり
登録:
投稿 (Atom)