[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 07/09 17:45 / Filesize : 277 KB / Number-of Response : 941
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

【視聴・録画】Linuxでテレビ総合6【デジタル/アナログ】



1 名前:login:Penguin [2012/01/17(火) 21:48:51.47 ID:qQ+25vg4]
Linuxでのテレビ視聴・録画に関して、デジタル/アナログ問わず扱うスレッド

【関連スレ】
Linux でビデオ録画【六枚目】
pc11.2ch.net/test/read.cgi/linux/1193058543/
【自家製】MythTV Part.3【HDDビデオ】
pc11.2ch.net/test/read.cgi/linux/1223721998/
【BT878】Linuxでのキャプチャを語るスレ
pc11.2ch.net/test/read.cgi/linux/1017186805/
Linuxでfriio
pc11.2ch.net/test/read.cgi/linux/1213378360/

【前スレ】
【視聴・録画】Linuxでテレビ総合5【デジタル/アナログ】
engawa.2ch.net/test/read.cgi/linux/1309182037/

【過去スレ】

【視聴・録画】Linuxでテレビ総合4【デジタル/アナログ】
hibari.2ch.net/test/read.cgi/linux/1293388638/
【視聴・録画】Linuxでテレビ総合3【デジタル/アナログ】
hibari.2ch.net/test/read.cgi/linux/1269999876/
【視聴・録画】Linuxでテレビ総合2【デジタル/アナログ】
pc11.2ch.net/test/read.cgi/linux/1253880711/
【視聴・録画】Linuxでテレビ総合【デジタル/アナログ】
pc11.2ch.net/test/read.cgi/linux/1231189481/
Linuxでテレビを見る
pc11.2ch.net/test/read.cgi/linux/1013649811/



207 名前:login:Penguin mailto:sage [2012/03/25(日) 11:21:54.99 ID:CaB5CU4l]
>>206
何のソフトかを明記しましょう

ちなみにMythTVではそれらはちゃんと表示されるよ

208 名前:login:Penguin mailto:sage [2012/03/25(日) 11:49:42.18 ID:3KuUlyqF]
>>207
ごめん。
EPGrecでした。

209 名前:108 mailto:sage [2012/03/25(日) 20:49:43.42 ID:xJKYBG8P]
皆さんよろしくお願いします。

>>115のindex 811d2e3..0c21d80 100755を含める12行からなるファイルAを作り、
現在、正常に稼動しているsetChannelInfo.phpのコピーに対して以下のように適用させました。
patch setChannelInfo.php < A
すると、
patching file setChannelInfo.php
Hunk #1 FAILED at 8.
1 out of 1 hunk FAILED -- saving rejects to file setChannelInfo.php.rej
というエラーが出てしまい、同ディレクトリに
setChannelInfo.php.rej
というファイルが作成されました。
どうもうまくパッチを当てられていないようなのですが、どうすれば良いのか教えてもらえますか?

実は上記に関連するかもしれない気になる部分があります。当初、上記の作業をすると、
malformed patch at line 4: try {
などのエラーが出たので、検索してヒットしたサイトを参考に
行頭に+や-が存在しない全ての行に対して、行頭にスペースを挿入してから改めて上記の作業を行いました。
結果、malformed patchというエラーは出なくなったのですが、それがいけなかったのでしょうか?

それと、1行目のindex 811d2e3..0c21d80 100755 という部分は何を指すのでしょうか?
もしかしたら、パッチを当てる対象ファイルの指定かな?と思ったのですが、よく分からず、
パッチの対象となるsetChannelInfo.phpは2011年10月版のEPGrecに含まれているものを利用しています。
よろしくお願いします。

>>160
2週間ぶりの作業となってしまいましたが、今からチャレンジしてみたいと思います。
いつもありがとうございます。

210 名前:epgrecのUIの人 mailto:sage [2012/03/26(月) 00:40:15.21 ID:g66/NFaL]
>>206
終了日時を表示するだけなら簡単です

/templates/recordedTable.htmlの173行目辺り

<th>
<th>録画日時</th>
<th>Ch</th>
を以下のように変更
<th>
<th>録画日時</th>
<th>終了日時</th>
<th>Ch</th>

184行目辺り
<tr id="resid_{$rec.id}" class="ctg_{$rec.cat}">
 <td>{$rec.starttime}</td>
 <td>{$rec.station_name}</td>
を以下のように変更
<tr id="resid_{$rec.id}" class="ctg_{$rec.cat}">
 <td>{$rec.starttime}</td>
 <td>{$rec.endtime}</td>
 <td>{$rec.station_name}</td>

ファイルサイズはGB単位になるのでちょっとややこしい
手元の改造版では表示してるんですけど、実装が特殊なのでパッチにできない…どうしよう?

211 名前:epgrecのUIの人 mailto:sage [2012/03/26(月) 00:58:01.82 ID:g66/NFaL]
>>209
あのパッチは、無くても困る部分でも無いし、理解できない人には手を出して欲しくないという意味でパッチをそのまま掲載しました
パッチの意味がわかる人であれば、あの程度なら手動でもパッチを当てられるということで

ちまにみ私もパッチのあて方わかりません!
パッチ単独でなんて十年以上使った記憶が無い
Linuxはepgrecのためだけにインストールしたし
MacとWinを使ってきた身としては肩身が狭い

212 名前:login:Penguin mailto:sage [2012/03/26(月) 01:32:36.31 ID:AoW6udjI]
>>211
番組表で一局を一週間分並べるのは大変ですか?
偶にそういう事をしたくなる事が有るのですが
無くてもそれほど困ってないので大変そうなら忘れてください

213 名前:login:Penguin [2012/03/26(月) 16:13:18.48 ID:2pRoY6Uz]
>>206
>>210

わたしゃ recordedTable.php で
$arr['mode'] = $RECORD_MODE[$r->mode]['name'];
の後に
$arr['filename'] = $r->path;
$arr['filesize'] = intval(filesize('./video/'.$r->path)/1024/1024) ;

とし、


templates/recordedTable.html に
<th>ファイル名</th>
<th>ファイルサイズ(MiB)</th>
やら
<td>{$rec.filename}</td>
<td>{$rec.filesize}</td>
を加えて実装してみました。



214 名前:epgrecのUIの人 mailto:sage [2012/03/26(月) 19:22:02.44 ID:0kFY2zTI]
>>212
これも私のところでは表示できるようにしてます
一週間分番組を並べるだけだとそれほど難しくないのですが、
epgrecオリジナル用にメニューやレイアウトを作るのが面倒かなぁ

215 名前:epgrecのUIの人 mailto:sage [2012/03/26(月) 20:05:01.98 ID:Gyu9nGS3]
>>213
filesizeだと2GB超えられないような?


表示してみたいという人はいると思うので、参考用に私の手元で動かしてるものの一部を載せておきます
ファイルのパス取得
function movie_path ( $path = "" ) {
$settings = Settings::factory();
return INSTALL_PATH.$settings->spool."/".$path;
}

ファイルサイズ取得(これは環境によっては動かないかも?)
function overfilesize($file){
if(!file_exists ($file)) return false;
return exec("stat -c %s '$file'");
}

ファイルサイズ整形用Smarty Plugin(*smarty3.0.7で動作確認) function.filesizeunit.php
<?php
// {filesizeunit size=$.filesize}
function smarty_function_filesizeunit($params, &$smarty){
if(!array_key_exists('r', $params)) {$params['r'] = 2;}
$sizes = array('Bytes', 'KB', 'MB', 'GB', 'TB');
for($i=0; ($params['size'] >= 1024) && ($i < count($sizes)); $i++) {
$params['size'] = $params['size'] / 1024;
}
return round($params['size'], $params['r']).'<span class="ext unit">'.$sizes[$i].'</span>';
}
?>

disk_free_space()とかdisk_total_space()でディスク容量表示もWindowsな私には便利です:)



216 名前:login:Penguin mailto:sage [2012/03/27(火) 06:57:11.56 ID:uZuHE7uS]
>>213
物理HDDがすぐに一杯になるので、パス表示できるのは魅力的。
templates/recordedTable.html

<th>ファイル名</th>
<th>ファイルサイズ(MiB)</th>

<td>{$rec.filename}</td>
<td>{$rec.filesize}</td>
は何処に加えれば良い?


>>215は難しそうなので・・・

217 名前:epgrecのUIの人 mailto:sage [2012/03/27(火) 07:47:56.46 ID:su+Dovp2]
epgrec asssist を公開しました

sourceforge.jp/users/trumphouse/pf/epgrec_assist/

javascriptを利用してepgrecの見た目、使い勝手を改善します。
スマートフォン等、画面が狭くてもそれなりの情報量を表示できるようになります…多分

このスクリプトは実験的に作成したものです。
初心者でも簡単に組み込めるように、epgrec 本体の改造を最小限にしてます。
今のところ番組表、録画一覧のみ対応しています。
残りページに対応するかどうかは未定です

epgrecが出力するhtml構造に大きく依存している関係で、
テンプレートを改造しているような場合はうまく動かないと思います。
改造して使っている方は適当にバックアップして、
/templates/をオリジナルのものに戻してして試してみてください。
重複判定の修正等、phpファイルだけを改造している分には問題ないと思います。

昨日改造方法を書いておきながら…と思ったので
一応おまけ的な機能を追加して公開しました。
詳しくは付属のhtmlドキュメントをご覧ください。


使い勝手等、感想をお待ちしてます:)
尚、IE6、7は対応してません…IE6、7の方ってまだ多いでしょうか?

218 名前:epgrecのUIの人 mailto:sage [2012/03/27(火) 08:06:49.74 ID:31rFH8VL]
>>216
<th>は<th>のかたまりの最後、
<td>は<td>のかたまりの最後、
でいいじゃないかと
…ファイルサイズちゃんと取れるかどうかは?です

HDDが一杯になるなら、空き容量表示したほうがいいと思うんだけどなぁ

219 名前:login:Penguin mailto:sage [2012/03/27(火) 11:31:10.16 ID:CQptSCCl]
>>218

>>215はやってみたいけど自分も初心者なので、何をどうすれば良いのか分からないのです。
もちろん、空き容量表示できたら便利だとは思うのですが、詳しく教えてくださいとは言い難い流れを感じたので!

ところで、chform_assistの利用にはtemplateの中身を改変してきたから
>>217の利用には、改変を元に戻さないといけないのかな?

220 名前:213 [2012/03/27(火) 12:49:17.61 ID:jVrM+0QH]

>>215
うちでは 5174MiB でも 10189MiB でも表示されとります。
もしかして、 64bit 環境依存?

>>216
ん?ファイルネームは出ますが、パスってことになると、どうなんでしょ。
標準の構成のところにしか録画していないので、検証不足です。

<th>...</th>
は、
<th>削除</th>
の次に、

<td>....</td> は
<td><input type="button" value="削除" onClick="javascript:PRG.dialog('{$rec.id}','{$rec.title}')" /></td>
の次に入れました(この辺はお好みで変更しうるのでしょう)。




221 名前:epgrecのUIの人 mailto:sage [2012/03/27(火) 17:39:17.73 ID:31rFH8VL]
>>219
今のところ番組表と録画一覧しか対応してないので、
検索ページで epgrec assist を読み込まない限り
chform assist 用の改造(検索ページ)は影響を受けません

一応、epgrec assist の中に chform のスクリプトも一式入れてあるので、
オリジナルのテンプレートに戻して、
検索ページで epgrec assist を読み込むと chform と同じになるようにしてます

epgrec asssist をダウンロードして
htmlドキュメントを見ていいただくと、ちょっと幸せになるかも?

>>220
64bit依存だったと思います
マニュアルにも
filesize
「注意: PHP の数値型は符号付整数であり、 多くのプラットフォームでは
32 ビットの整数を取るため、 ファイルシステム関数の中には 2GB より
大きなファイルについては期待とは違う値を返すものがあります。」
とあります
…disk_total_spaceはちゃんと取れるのにねぇ

222 名前:login:Penguin mailto:sage [2012/03/28(水) 22:16:12.58 ID:lfa01bK9]
ubuntu11.10 x86で、chardev版使ってるんだけど、
直近のd49174955c7f、9e9dbb17b70f、8e0f7191b92eの
3つで、いずれもmakeに失敗します。

9e9dbb17b70f、8e0f7191b92eについては、>>187の修正で
makeが通るようになったんですが、この修正でOKなんですかね?

d49174955c7fについては、修正された

uint8_t *data;
int32_t size;

の部分でコケます。

ちょっと前は、8e0f7191b92eが普通にmakeできてたような
気がするんだけどなぁ・・・。気のせいかな。

223 名前:199 mailto:sage [2012/03/29(木) 01:35:47.53 ID:Eno0fWPn]
ubuntu 11.10 x64、chardev pt1-8e0f7191b92e
無修正でもmakeは通ってたよ

224 名前:login:Penguin mailto:sage [2012/03/29(木) 01:46:34.79 ID:xUOkY72L]
なんか無修正ってエロい。

225 名前:login:Penguin mailto:sage [2012/03/29(木) 02:20:33.06 ID:/+o4GaXh]
デスクトップ環境だから、録画したファイルのちょっとしたチェック再生にVLC使っているんだ。
でも、このプレイヤーは二ヶ国語の再生ができないからずっと不便に感じていた。

それが可能だという情報のあったSMPlayerやらMPlayerやらをインストールしてみたけど、
二ヶ国語の録画ファイルの再生をしてみると、やたらと音程が低く再生されてしまう。
ニュース番組の内部告発などで、プライバシーに配慮する時の音声モザイクをかけたようになるんだ。

二ヶ国語が問題なく再生できる動画プレイヤー、いくつか知ってたら教えて欲しい。

ちなみにSMPlayerはオーディオオプションの音声の同期と非同期を切り替えたり、再生デバイスを切り替えることで
まともに再生できる場合もありますが、何をやってもダメな場合もある。


>>222 うちの環境では問題なしデスヨ。



226 名前:login:Penguin mailto:sage [2012/03/29(木) 02:46:11.46 ID:xUOkY72L]
>>225
そのためのVLC用のPatchがあるよ。

227 名前:login:Penguin mailto:sage [2012/03/29(木) 08:31:15.53 ID:onzsYZy3]
Windows用のVLCなら
二ヶ国語の再生できるはず。

228 名前:login:Penguin mailto:sage [2012/03/29(木) 10:28:59.45 ID:R7ftk0nY]
米McAfee、MySQL向けの監査ツールを無償公開
ttp://sourceforge.jp/magazine/12/03/27/1333243

229 名前:login:Penguin mailto:sage [2012/03/29(木) 12:08:21.51 ID:WhLpXVZv]
mplayerやgstreamerも2か国語対応のパッチがあるよ
どのみちパッチ当てなきゃ ステレオ<->モノラルの切り替わりでもおかしくなっちゃうし

230 名前:222 mailto:sage [2012/03/29(木) 21:37:27.63 ID:kQERBSTE]
>>223,225
レスthxです。
んー、そうですか。普通にmakeできてるんですね。
確かにウチでも、10日程前にはmakeが通ってたはずなんですよね。
以降、特殊なことをしたつもりもないんですが。
>>187さんと同じ状態なのかどうかわからないですが、makeできない
人もいるみたいですし、時間があるときにちょっと調べてみます。

231 名前:login:Penguin mailto:sage [2012/03/29(木) 21:56:05.41 ID:qoxBdgyI]
グダグダ書くより、エラーの内容書いた方がはえーんじゃね

232 名前:login:Penguin mailto:sage [2012/04/01(日) 01:31:50.00 ID:khbq+aiY]
PT3も動くといいね

233 名前:login:Penguin mailto:sage [2012/04/01(日) 01:35:53.53 ID:qj2E2UGU]
earthsoft.jp/PT3/
PT3 目次
PT3 仕様等 earthsoft.jp/PT3/specification.html
PT3 製品画像 earthsoft.jp/PT3/photo.html

エープリルフールでないことを祈る。

234 名前:login:Penguin [2012/04/01(日) 01:59:15.11 ID:GPzEClzb]
おー噂の!

235 名前:login:Penguin mailto:sage [2012/04/01(日) 06:39:52.33 ID:bvHHaFDq]
>>233
ぱっと見チューナー一つということで
2枚さしてるような奴には入れ替えはできんな
PT2を2枚からこれ4枚とかいろんな意味で無理そうだし



236 名前:login:Penguin mailto:sage [2012/04/01(日) 06:41:21.37 ID:bvHHaFDq]
って仕様ちゃんと見たら思いっきり
ISDB-S 2TS と ISDB-T 2TS の合計 4TS を同時に受信可能
を見落としてたわ

237 名前:login:Penguin mailto:sage [2012/04/01(日) 08:31:24.40 ID:k6dLpVzg]
今更1チューナーずつの製品出すわけないだろ。

238 名前:login:Penguin mailto:sage [2012/04/01(日) 10:08:02.45 ID:mvBOv8XX]
分波器内蔵はスペースの問題で難しいとか前言ってたな・・・
分波器内蔵かつロープロ対応なんていう製品は作れそうにないから・・・ネタ?
でもネタを振るような企業か・・・?

239 名前:login:Penguin mailto:sage [2012/04/01(日) 10:49:38.73 ID:qj2E2UGU]
toro.2ch.net/test/read.cgi/avi/1333209306/61
> 61 名前:名無しさん@編集中 [sage]: 2012/04/01(日) 03:10:58.15 ID:YQDjD4BH (14)
> 缶チューナー、シャープ製としか公開していないけど調べてみたらVA4M6JC2103だね
> スペックと形状から言ってこれで間違いないと思われ
>
> ttp://www.sharp.co.jp/products/device/lineup/selection/rf/ground_wave/index.html
> ttp://www.sharp.co.jp/products/device/lineup/selection/rf/ground_wave/images/ground_wave_img01.gif


240 名前:login:Penguin mailto:sage [2012/04/01(日) 13:16:08.72 ID:RlqTA5dU]
これは分配器であって分波器じゃない

241 名前:login:Penguin mailto:sage [2012/04/01(日) 13:18:31.82 ID:bvHHaFDq]
メーカーにちゃんと嘘じゃない発表だというのが確認されたようだな

242 名前:login:Penguin mailto:sage [2012/04/01(日) 20:16:39.12 ID:L/5Adoj6]
usamimi.info/~linux/d/up/up0863.jpg
epgrecのBS/CSで空のチャンネルを非表示にできなくて困ってる。
「視聴しない」にチェックを入れても効果が無い。
地上波だと最初から表示されないんだがBS/CSではどうにもならず。
同じ現象になっている人いますか?
epgrecは今日git cloneした最新版。

243 名前:login:Penguin mailto:sage [2012/04/01(日) 21:36:23.80 ID:M6p9JDzk]
>>238
アースのサイトにある写真の限りだけど、片方のコネクターが地上波で、もう片方が衛星波じゃないかな?
それより、PT2の時のように、ドライバ開発の中の人に試作品が貸し出されるかどうかが心配。

244 名前:login:Penguin mailto:sage [2012/04/01(日) 21:56:38.85 ID:/KiNinAC]
でも 4月1日なんだよなぁ

245 名前:epgrecのUIの人 mailto:sage [2012/04/01(日) 22:54:15.70 ID:Bg4bwcE1]
>>242
BS/CS無いのであてづっぽうですが、

画面を見る限りBSのepgデータがまだ取得されていなくて
データベースにチャンネル情報も番組情報も入っていない状態に見えます。
チャンネルの非表示情報はデータベースに記録されるので、
チャンネルのepgデータが取得されていない状態では機能しません。
epg取得するまでも無く見る予定が無いようなチャンネルは、
config.phpの…CHANNEL_MAPの中でコメントアウトしたほうが早いです。

ついでに
epgデータ未取得のチャンネルがあると表示が崩れる場合の応急処置

index.phpの140行目辺り
// 全体の幅
$chs_width = $ch_set_width * $num_ch;

を以下のように変更
// 全体の幅
$chs_width = $ch_set_width * count($channel_map);



246 名前:login:Penguin mailto:sage [2012/04/02(月) 00:03:07.09 ID:vwK6JxF2]
ありがとうございます。
config.phpでBSの不要なチャンネルをコメントにして解決したよ。

ちなみにmysqlのDBの中を見てみたら情報取得できてないチャンネルは全部GRになってた。

mysql> select * from Recorder_channelTbl;
+----+------+---------+-----------------------------------------+------------------------+-----+------+
| id | type | channel | name | channel_disc | sid | skip |
+----+------+---------+-----------------------------------------+------------------------+-----+------+
| 1 | BS | 192 | WOWOWライブ | 4192.epgdata.ontvjapan | hd | 1 |
| 2 | BS | 193 | WOWOWシネマ | 4193.epgdata.ontvjapan | hd | 1 |
| 3 | BS | 201 | スター・チャンネル2 | 4201.epgdata.ontvjapan | hd | 1 |

中略

| 84 | GR | 0 | none | none | | 1 |
| 85 | GR | 0 | none | none | | 1 |
| 86 | GR | 0 | none | none | | 1 |
| 87 | GR | 0 | none | none | | 1 |
| 88 | GR | 0 | none | none | | 1 |
| 89 | GR | 0 | none | none | | 1 |
| 90 | GR | 0 | none | none | | 1 |
+----+------+---------+-----------------------------------------+------------------------+-----+------+
90 rows in set (0.00 sec)

247 名前:epgrecのUIの人 mailto:sage [2012/04/04(水) 02:44:58.30 ID:EoWmcYqK]
epgrec assist 更新しました

・番組の長さの計算が間違ってたのを修正
・録画予約一覧対応
・ディスク残量を改造無く取得できるよう、phpスクリプト付けました
その他色々
詳しくは新しく作ったHP

w3.quake3.jp/osamu/epgrec_assist/

をご覧ください
ファイルはこちらから
HP作ったのでhtmlドキュメント添付をやめました

sourceforge.jp/users/trumphouse/pf/epgrec_assist/

248 名前:epgrecのUIの人 mailto:sage [2012/04/04(水) 03:44:29.43 ID:EoWmcYqK]
>>246
242の画像を見るとBSの番組表なのに地デジが表示されてるのが気になる

ついでに、多分次に不便になる部分

チャンネル選択フォームで非表示にしたチャンネルを表示しないようにする応急処置
例えば、番組検索だと
programTable.phpの130行目あたり

$crecs = DBRecord::createRecords(CHANNEL_TBL, "WHERE skip = '0'");

249 名前:epgrecの中の人 mailto:sage [2012/04/04(水) 18:03:19.08 ID:glOyWFE8]
恐らく初回EPG受信のときに信号強度か別の問題で
正常なEPGのXMLが取れなかったんじゃないかと。
初回に失敗すると、そうなるので。

250 名前:login:Penguin mailto:sage [2012/04/09(月) 21:51:26.89 ID:sZ39Fjc8]
getepgは(mysql周りが)非力なPCにはちょっとツラいね
DB分離するべきかしら

251 名前:epgrecの中の人 mailto:sage [2012/04/10(火) 11:27:55.01 ID:3sOpM8os]
SQLiteのサポートはかねてからの課題で、DBRecordクラスを抽象化して
MySQLとSQLiteの両方をサポートできるようにすると理に叶うんですが、
ソースの中に散在するMySQL依存のクエリが問題で思考停止してます。
アドホックな対応は嫌なので、理にかなうサポートをしたいところです。

SQLiteは軽いので非力なPCにはいいんですが、番組検索の結果など
が大きく変わる可能性もありますね。

252 名前:login:Penguin mailto:sage [2012/04/10(火) 21:06:31.90 ID:ZvoYxROH]
>>251
ちと試した感じだとかなり遅かったなsqlite。あんま詳しくないので諦めたが。最近は良くなってるのかも。

253 名前:login:Penguin mailto:sage [2012/04/10(火) 21:08:21.33 ID:6lerQ9P4]
インデックス付ければまともになるけど定期的にvacuumしないといけないし結構めんどいよ

254 名前:login:Penguin mailto:sage [2012/04/10(火) 22:40:47.51 ID:HPtQJrtk]
atom330/メモリ1GBだと、GR/BS/CSの全CH更新で数十分かかってる。組み直そうかな・・・

255 名前:login:Penguin mailto:sage [2012/04/10(火) 23:55:07.12 ID:nFYumDB1]
>>254
何が性能劣化の原因になっているか調査ぐらいしたのか?
Atom330はお前さんの頭よりずっと速いぞ
vmstatだかsarで統計情報とってからだな



256 名前:login:Penguin mailto:sage [2012/04/11(水) 00:10:52.83 ID:J7S3IDQF]
調査もなにも>>253が言ってるようにDBにINDEX追加すれば早くなる
あとepgdump内の無駄な処理を削るとかな

257 名前:epgrecのUIの人 mailto:sage [2012/04/11(水) 02:34:11.26 ID:DIuiFUZg]
SQLiteのサポートより、今の攻撃的なqueryを何とかしてほしい
INDEXも中途半端なので、このままSQLite対応すれば逆に重くなりそう
query効率化、適切なINDEX、をまず検討して欲しい

…getepgは新しいtable作って予約分のみ更新チェックしたほうが効率よさそうだけど?

SQLiteをサポートするメリットって?
・導入時の敷居が低くなる
・軽い(実行サイズが小さい)
・データのバックアップが簡単
くらいしか思いつかない
DBに慣れてない人は、バックアップが簡単になるのはうれしい、と思うかもしれないけど、
atとの整合性をチェックする機能が無いので逆に混乱すると思う

258 名前:login:Penguin mailto:sage [2012/04/11(水) 02:53:58.69 ID:yLpWTSrP]
録画する番組情報だけディスクに保存して、DBに置く情報は全てオンメモリで済ませるってのもありじゃね?
バックアップが必要になるような情報があるならできないけど

259 名前:login:Penguin mailto:sage [2012/04/11(水) 03:07:10.58 ID:+uGK32dW]
キーワード録画の洗い替えを日次バッチで
予約プログラムの洗い替えを2時間毎のバッチでってのは
良いアイディアだと思う

260 名前:epgrecのUIの人 mailto:sage [2012/04/11(水) 10:04:30.77 ID:DIuiFUZg]
>>254
GRのチャンネル数と、数十分、の数が?なのですが、
EPGを取得するのに
GRのチャンネル数×60秒 + BS 120秒 + CS 240秒必要です
これより長い分が処理時間なので、
GRチャンネル数の多い関東でBSもCSもだとそれなりの時間になります

私のとこは東京のマンションで地デジだけだけど、
ケーブル経由の地デジなので、全部で13局
D525+4GBで…ログを見る限り15分はかかってないですねぇ

BS、CSはチャンネル数が多いので、負担が大きくなるのかなぁ

>>258
DBオンメモリより簡単にできて、弊害が少ない対策がたくさん残ってる

261 名前:login:Penguin mailto:sage [2012/04/11(水) 12:54:35.11 ID:waiup9L4]
>>260
ウチも東京です。出先だからうろ覚えですみませんが
epgdumpの吐いたcsのxmlを食わせるだけで10〜15分位。
その間、mysqldのcpu使用率がほぼ100%、物理メモリも使い切ってるけどswapは起きてませんでした。

ウチの環境がくさってるのかな、帰ったらもう少し調べてみます。


262 名前:login:Penguin mailto:sage [2012/04/11(水) 13:59:47.82 ID:L4PhqQHQ]
>>258
必要な都度 ネットからEPG取ってきて利用するほうが速くて楽な気がする
YahooTVとかもiEPGからの提供で 放送波のEPGと内容変わらない感じだし
テレビ王国とかだとiEPG予約用の情報ファイルもついてきてイベントIDとかまでわかるし

263 名前:login:Penguin mailto:sage [2012/04/11(水) 15:01:56.99 ID:Xt13T6tl]
とりあえず番組表テーブルのprogram_discにインデックスを付けるといいと思うよ

264 名前:login:Penguin mailto:sage [2012/04/11(水) 23:03:00.61 ID:N4vQpy1d]
>>260
参考までに自分の環境を書いておきます
東京で地デジはキー局でbsは無料のみ受信していて前のpcはatlon2 245で今はi3 2100ですがいつも29分〜43分位の間更新していますね
i3の方はクロックそのものは上限にいくもののシステムモニタで監視してみると使用率には随分と余裕がありましたがアスロンの方は結構負荷がかかっていました
古いpcやノート向けのcpuだと結構キツいのかもしれませんね

265 名前:login:Penguin mailto:sage [2012/04/11(水) 23:43:51.42 ID:oDU+tuhm]
とりあえず一言言っておく

データベース使うなら、
ちゃんとデータベース使いこなせ。

素人すぎるわ。



266 名前:login:Penguin mailto:sage [2012/04/11(水) 23:51:07.68 ID:UcLCSrC9]
つか、せこくインデックスつくるとか言う前に糞PC買い直せよ

267 名前:login:Penguin mailto:sage [2012/04/11(水) 23:54:38.11 ID:oDU+tuhm]
DBRecordってまさか自分で作ったのか・・・。

DBRecordの抽象化なんて考えてるなら
DBRecordは破棄すべきだ。
すでに抽象化されたライブラリが存在する。それを使え。

データベースだが、MySQL使おうがSQLiteを使おうが
今の個人のPCなら1万行ぐらい簡単に扱えるから。

もし遅いなら、プログラムの問題。

268 名前:login:Penguin mailto:sage [2012/04/11(水) 23:55:14.04 ID:oDU+tuhm]
>>266
> せこくインデックスつくるとか

素人乙。

269 名前:login:Penguin mailto:sage [2012/04/11(水) 23:57:01.67 ID:rVOBVwYb]
文句だけ言って自分の手を動かさない奴はどっちにしろゴミクズ

270 名前:login:Penguin mailto:sage [2012/04/12(木) 00:05:05.67 ID:py+EArbp]
プリペアドステートメント使ってくれ。見にくい。
とおもったけど、mysqliって標準で入っていなかったりするのか?

まあ、PDOとかそこらへん使ってmysql依存から抜け出せば
どうでもいい話だけど。

271 名前:login:Penguin mailto:sage [2012/04/12(木) 00:06:06.57 ID:WwaJKmFo]
また落ち着くまで解散ですかね

272 名前:epgrecのUIの人 mailto:sage [2012/04/12(木) 07:45:19.88 ID:4E2izLxn]
epgrecのやり方だとINDEXってかなり効果的ですよ
programtblのprogram_discにINDEXを設定すると
「番組情報のDB更新部分のみ」、のスピードはかなり速くなります

GR一局のみ298番組分のxmlデータで計測した場合
インデックスなし … 2.9s
インデックス付き … 0.5s
インデックス付き+queryまとめ … 0.4s

面白いのは「インデックスなしでqueryまとめると3倍遅くなった!?」という悲しい結果
まぁ、サーバーじゃなくてwindowsで試験的にやってる事なので、他の環境だとわかりません

…ということで、getepg(storeProgram)遅い対策はじめました
今のところ
インデックス付け、DBへのlink一本化、余分なquery排除、queryまとめ
で更新だけ(新規追加無し)なら1局分6.9秒だったのが0.5秒切るくらいになりました

273 名前:epgrecの中の人 mailto:sage [2012/04/12(木) 12:35:59.79 ID:A3cBAIRM]
いやまあ、getepgが遅いのはDBRecordで
$foo->bar = ”ほえほえ";
とやるたびにupdateしてるからで、それを治すだけで、まあまあ
速くはなりますね。
DBRecordがnewされたときコンストラクタで配列にデータを読みだしておいて
$foo->bar = ”ほえほえ";
とされたらdirtyフラグをたてて配列に代入、オブジェクトが破棄される時に
dirtyフラグが立っていたらDBに書き戻すというような方法で無駄なクエリは
相当減らせるでしょう。
ただ、phpはデストラクタが呼び出されるタイミングが明確ではないのが問題で、
たぶんWebサーバーの環境にもよるような気がする。
$foo->close();
のようなのをいちいち呼び出すのは美しくないけど、仕方ないか。

274 名前:login:Penguin mailto:sage [2012/04/12(木) 14:23:17.01 ID:dQfK/sRg]
>$foo->close();>のようなのをいちいち呼び出すのは美しくないえっ

275 名前:login:Penguin mailto:sage [2012/04/12(木) 14:32:56.20 ID:klt8Nn9b]
改行してくれ



276 名前:login:Penguin mailto:sage [2012/04/12(木) 14:48:18.23 ID:FKT0AvM5]
DBのcloseを明示的にやらなきゃならないのは仕方のないこと
PHP内部だけで完結するものではないし、デストラクタに任せるのは危険

277 名前:login:Penguin mailto:sage [2012/04/12(木) 20:55:09.45 ID:dQfK/sRg]
>>275
すまん
w3mの罠を忘れてたんだ

278 名前:login:Penguin mailto:sage [2012/04/14(土) 00:35:16.66 ID:zqD3Byes]
>>261
並列化getepg.phpを使ってたりしない?

279 名前:login:Penguin mailto:sage [2012/04/14(土) 18:46:53.17 ID:rkI0W21n]
>>262
ネットにつなぐのが必須になるのは、セキュリティーの観点からいやだな。
年に一度ていど、実家に帰ってメンテナンスするのでは追いつかないから。
個人的にはepgdumpで今後も頑張ってほしい。

280 名前:login:Penguin mailto:sage [2012/04/14(土) 18:57:56.03 ID:2ENatdV9]
確かにepgdumpはCPUを食う
やむを得ないものでしょうかね

281 名前:108 mailto:sage [2012/04/14(土) 21:31:57.21 ID:wsy2vRe1]
>217
プロバイダ規制に巻き込まれてあと5か月ほど書き込みできないようです。
今日は友人の家から書き込みしています。

お疲れ様です。返信できませんが、利用させてもらっています。ゆっくり書き込みできないので、要望ばかりになってしまいますが、
>>217ですが、番組をクリックするとポップアップするウィンドウの簡易予約とカスタム予約のボタンがウィンドウ範囲外に隠れてしまって予約を入れられない場合があるようです。
それと、録画予約のしくみlについてなのですが、時間的に重複(チューナー数が不足)するような予約をしたタイミングでエラーを返すのではなく、
重複するというフラグを立てた状態で予約してしまえるようになったなら、更に便利にならないでしょうか?
チューナー数不足を気にせずに、気になる番組をどんどん予約していって、予約一覧にて、重複(チューナー数の不足)フラグの立っている番組を削除したりカスタム予約したりできたなら、
個人的には使い勝手があがるのですが、皆さんは如何でしょうか?

次にいつ書き込みできるかは分かりませんが、週に一度は読んでいます。ご検討よろしくお願いします。

282 名前:login:Penguin mailto:sage [2012/04/14(土) 21:55:50.97 ID:yt6qHa2y]
規制で書き込めない時はレス代行ってのが2ちゃんのどっかの板にあるから依頼してみればいい

283 名前:login:Penguin mailto:sage [2012/04/15(日) 03:06:03.46 ID:6YifMCT5]
>>253
それって/etc/cron.weeklyとか、monthlyにこれを実行するスクリプトおいとけばいいんじゃないの?
自分はそうしてるけど。

mysqlcheck -A -a --auto-repair -o -u [user]--p[pass]

284 名前:epgrecの中の人 mailto:sage [2012/04/15(日) 21:04:35.35 ID:liNN88VV]
というわけで
>>273
のようなDBRecord.class.phpをgitの方にコミットしときました
結構早くなるっぽい

>>274
DBの都合がコードに表出するのは嫌だ、というのがあるわけです

285 名前:login:Penguin mailto:sage [2012/04/15(日) 21:48:51.58 ID:sDtZEai6]
>>284
これはこのクラスだけ更新して大丈夫なのかしら?



286 名前:epgrecの中の人 mailto:sage [2012/04/15(日) 23:44:46.46 ID:liNN88VV]
>>285
大丈夫だと思いますよ。テストが甘いので
人柱というきとで

287 名前:epgrecのUIの人 mailto:sage [2012/04/20(金) 19:29:41.41 ID:2G3oc9xn]
>>281
予約ボタンがはみ出るバグは0.1.1で対応したつもりだったのですが
画面が極端に小さいとはみ出る…のはまだ手をつけてません
何にせよ、ブラウザも画面サイズも、発生条件が何一つわからないので
対応できません

「予約で重複するフラグ」は面白いアイデアだとは思いますが
重複フラグ??って何?
重複したものが無くなると消えるんでしょうか?

ABCDEと予約して、ABCは実際に予約され、DEに重複フラグが付いた場合、
一覧でAを削除すると
・次にDEのどちらが予約対象になるのかわからない
・自動キーワード予約の扱いは?
・そもそもAを削除したからといってDEが予約されるかどうかもわからない
・DEが予約されなかったからといって、またAを予約しなおすのは大変
DEをカスタマイズすれば予約される?
・カスタマイズすれば予約可能なのは、どこかに印がある?

一番の問題点は、
単純な機能に思えるかもしれないけど、関連する箇所、追加しないといけない機能が多く、
本体の様々な場所に手を入れなければならなくなること

現実的にやるとすると、「実行できない」フラグじゃなくて、
「実行する」フラグかなぁ…私はやる予定ないですが

288 名前:login:Penguin [2012/04/21(土) 22:46:15.22 ID:U4EKiQ0n]
tssplitした後の*.tsて、xzしても全然縮まんすなー

289 名前:login:Penguin mailto:sage [2012/04/21(土) 22:54:50.82 ID:HEDoKS+R]
MPEGやAACは縮まんでしょ

290 名前:epgrecの中の人 mailto:sage [2012/04/22(日) 17:53:57.06 ID:9i28yLfF]
>>273
付近で話題になっていた高速化ですが非常に効果があったので、
gitの方にコミットしときました。基本的にDBRecord.class.phpと
Keyword.class.phpを差し替えて、upgrade_2012_04.22.phpを
実行するだけでgit版にアップデートしなくても高速になるはずです。
BSのEPG取得が20秒くらいで終わりますからBS、CSを取ってる人は
やってみてください。ついでに番組表他の速度もかなり速くなります。
不具合がなければリリースしますね。

291 名前:281 mailto:sage [2012/04/25(水) 21:36:12.11 ID:fcxhI4n2]
>>287
お返事ありがとうございます。今日も友人の家で書き込みさせてもらっています。
ブラウザはFirefox11.0で画面サイズは1280x1024ですが、発生条件はまだ何とも言えないです。
もうちょっと使い込んでみます。

「予約で重複するフラグ」については、うまく説明できていなくてすみません。
デジタル対応の家電レコーダーを買ってみて、
手持ちのアナログ家電レコーダーの予約管理方法がすばらしく(自分には)便利だったと痛感したのです。

その予約管理方法は、先に始まる番組Aの終了時刻よりも、
後に始まる番組Bの開始時刻が早くてチューナー数が足りなくなる場合にも番組Aと番組Bの両方を予約することができます。
予約一覧には番組Aと番組Bに重複マークがつきます。
そのまま放っておくと番組Aの録画が終わると同時に番組Bの録画が始まりますが、
ユーザーは重複マークを参考に番組の開始時刻や終了時刻を編集することもできます。
両方の番組の開始時刻が同じ場合には、どちらかの番組が終わると同時に他方の番組が録画開始されます。

CS番組だと再放送がやたらと多いので、再放送をうまく利用して予約すれば目的の番組をすべて録画することもできることもできるのですが、
それには、チューナー不足になろうとも、気になる番組はどんどん予約できて、後から「どの番組の録画を諦めるか」を選べる方が便利なのです。
*EPGrecの設定でチューナー数を偽装してもたぶん希望に近い動作になりますが、重複番組の時刻調整は人間がやらないといけませんね。

といっても、EPGrecの根本の所に関わる所で対応は難しいという部分は素人の僕にも何となく理解できます。

292 名前:epgrecのUIの人 mailto:sage [2012/04/26(木) 12:12:06.81 ID:j5hKOqQd]
>>291
Firefoxでは一応動作確認してるので、今度バグがでたらお知らせください

予約管理の重複マークですが、
Aが終わると途中からでもBが録画されるってのは便利だと思います。
全部じゃなくてもBを録画したいって言うときにはいいですね。
(予約時に、Bを録画可能な時間に調整する、っていうのは一応私のTODOリストに入ってます)
AとBが重なってても予約できるって言うのは、VTR時代の名残じゃないかなぁ。

この機能を使って
「気になる番組はどんどん予約できて、後から「どの番組の録画を諦めるか」を選べる」
こっちは便利だとは思いません。慣れの問題だと思います。

解決策ではないですが、
予約時に重複が見つかった場合は重複した番組のミニリストを表示して、
そこから重複した予約を解除したりできるように…なったらいいなぁ
と私のTODOリストにあります…できたととして、epgrec本家に反映するかは未定:)

と思ってたら…中の人が「できないことはないよ」と言っていたので、
実現されるかもしれません。
希望があがってた、「重複のため自動予約さなかった番組がわからない」
も解決されるからいいんじゃない?、とのこと

293 名前:login:Penguin mailto:sage [2012/04/27(金) 00:57:22.51 ID:9j0XZ0tT]
PT1/2の(DVB)ドライバって 1枚あたり結構な量のcoherent DMAバッファを取るんだけど
(4KiB x 512 x 8(kernel 3.3以下だ64) = 16MiB or 128MiB)
これって複数枚挿しの場合とかにリソース不足で問題になったりしないのかな?
x86系の場合IOMMUは無いけど、 VT-dとか使って仮想マシンに割り振ったりしたら
IOMMUのリソース不足みたいなことになり得る?

そもそもほとんどのDMAはPTx側からの入力なんだけど
DMAが終わったかどうかを確認するためだけにCPU側からの書き込みが使われて
そのために?coherentバッファを使ってるみたいなんだけど、
streaming DMAバッファと比べて 要求リソースやCPU負荷って結構変わるもんなんだろうか
詳しい人教えて下さい

294 名前:login:Penguin mailto:sage [2012/04/27(金) 03:12:00.73 ID:r0Lo1CQ6]
規制中かな?

295 名前:login:Penguin mailto:sage [2012/04/27(金) 03:27:28.95 ID:r0Lo1CQ6]
128MBのときは32ビット環境で物理アドレスが枯渇してメモリ取得に失敗する場合はありましたが
16MBになったので大丈夫でしょう。
ちなみに128MBだった根拠はWindowsドライバの設定値です。
streaming DMA については私はよく分かりません。すいません。



296 名前:login:Penguin mailto:sage [2012/04/27(金) 23:55:00.77 ID:9j0XZ0tT]
情報どうもです
x86_64でもPCIのアドレス空間は32bitだったような気がするけど
問題が生じないなら気にしなくてもいいってことになるのかな
4枚挿しして 仮想マシンに割り当てて使ってる人なんておそらくいないだろうし...

他のDVBドライバは割り込みを使うのが多いみたいだけど
割り込みを使わず(大量の)coherent DMAバッファを使うのって 特殊なやり方なのか
それとも 高速なネットワークデバイスとかの場合のように
割り込みだと頻度が高すぎる入力を処理するためには一般的な手法なのか
どうも気になるなぁ
PT3だと割り込み使うようになってたりするのかな...

297 名前:login:Penguin mailto:sage [2012/04/28(土) 13:13:40.36 ID:LI55GCf8]
わかる人がいたらコメント欲しいのだけど
epgdumperやrecpt1のチャンネル設定がハードコードなのはなんでだろう?

298 名前:login:Penguin mailto:sage [2012/04/28(土) 15:47:46.06 ID:Ap+9bB3a]
ほぼ定数といっても良いのでそれでも困らないからじゃ

299 名前:login:Penguin mailto:sage [2012/04/28(土) 17:52:47.57 ID:vlTfyvi+]
>>297
チャンネルスキャンのコード書くのが面倒くさいから
固定でも動くから気にしない
気になるならパッチを作ろう

300 名前:login:Penguin mailto:sage [2012/04/28(土) 19:43:36.79 ID:1YpZnaD4]
カーネルを3.2.0に更新したら、BCASカードが読めなくなった。
pcsc_scanすると/var/log/syslogに
Apr 28 19:34:10 pc2 pcscd: ccid_usb.c:424:OpenUSBByName() Can't libusb_open(4/3)
: -3
Apr 28 19:34:10 pc2 pcscd: ifdhandler.c:102:IFDHCreateChannelByName() failed
Apr 28 19:34:10 pc2 pcscd: readerfactory.c:965:RFInitializeReader() Open Port 0x
200000 Failed (usb:04e6/511a:libudev:0:/dev/bus/usb/004/003)
Apr 28 19:34:10 pc2 pcscd: readerfactory.c:275:RFAddReader() SCM SCR 3310 NTTCom [Vendor Interface] (21120651349816) init failed.

どなたか回避法おしえて…orz

301 名前:login:Penguin mailto:sage [2012/04/28(土) 19:55:48.94 ID:kRV0zPOm]
戻せばいいだけだろ

302 名前:300 mailto:sage [2012/04/28(土) 19:56:53.97 ID:1YpZnaD4]
もうカーネルパッケージが手元にないです…

303 名前:300 mailto:sage [2012/04/28(土) 20:01:18.81 ID:1YpZnaD4]
お騒がせしました。
結局、カーネルとpcsc関連一式をダウングレードしたら解決しました… (_O_)

304 名前:login:Penguin mailto:sage [2012/04/28(土) 20:09:08.09 ID:RpbjcsRq]
>>303
何版に戻したか(何版まで支障ないか)教えてちょ。

305 名前:300 mailto:sage [2012/04/28(土) 20:41:32.98 ID:1YpZnaD4]
カーネルは3.0.0
libccid 1.3.11
pcsc-tools 1.4.16
libpcsclite 1.5.5
です。
これが境界かはわかりませんが、上記バージョンでは動きました。



306 名前:login:Penguin [2012/04/28(土) 21:27:40.36 ID:RpbjcsRq]
ありまとう

307 名前:login:Penguin mailto:sage [2012/04/28(土) 21:44:46.21 ID:9QPcBRG2]
>>305
自分の環境では、kernel-3.2.12、pcsc-lite-1.8.2、ccid-1.4.5で動いてるよ。
pcsc-lite-1.8.3とccid-1.4.6に上げたらB-CAS認識しなかったからバージョン下げたけど。






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<277KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef