番組表
三重テレビとEテレがマルチ編成になっているのが分かる。
番組表上での予約表示
灰色になっている番組は、自動予約禁止になっている。
公開だがもう少しかかリそう。
・マルチ編成対応を試験運用中
・公開にあたりインストールや環境変化への対応が必要
・追従処理のNHK対応が完了していない。くたばれNHK
あと気になる点だが
・衛星波まわりは、受信環境がないためEPG処理を筆頭に色々漏れがあると思う。
・まれにEPG歯抜けがepgdumpでの処理段階で発生する。SDTが抽出できない場合やEITも途中での歯抜けがあるようだ。何が原因なのか不明というか追求していない。
・自動キーワードのパラメーター変更UIがない。(phpMyAdminで済ましている)
2011年9月11日日曜日
2011年8月12日金曜日
epgrec 地デジ・マルチ編成チャンネル対応
epgdumpは、Rec10版に今まで行った変更を適用した。
epgrecは、config.phpのチャンネル設定仕様を弄らない方向で対応した。
xml取り込み時のeit[schedule]とeit[pf]のマージ処理がマルチチャンネルに対応していなかったため手間取った。これで衛星波も対応したはず。
デバッグは、まだ行っていない。チャンネルDBの内容が変化するため環境復旧が厄介になるからだ。
デバッグは時間の取れる日曜の夜になりそうだ。
epgrecは、config.phpのチャンネル設定仕様を弄らない方向で対応した。
xml取り込み時のeit[schedule]とeit[pf]のマージ処理がマルチチャンネルに対応していなかったため手間取った。これで衛星波も対応したはず。
デバッグは、まだ行っていない。チャンネルDBの内容が変化するため環境復旧が厄介になるからだ。
デバッグは時間の取れる日曜の夜になりそうだ。
2011年5月24日火曜日
番組追従用epgdump
当方が現在使用しているのをデグレした物をアップした。
diffではなく差分ファイルのアーカイブなので既存の物と入れ替えてコンパイルして欲しい。
デグレ内容は、「英数字記号の半角化」「conv_title_subtitle()の全面改修」「【新】などの情報文字列を番組名から番組詳細へ移動」の3点で既知のバグやepgrec側の摺り合わせが必要なので削除
現行のepgrecでも使用できるはずだがフロントエンド側で対応しないかぎり機能向上は、まったくしないので現時点では参考程度と考えるように
またタイムスタンプ表記を"yymmdd hhmmss"から"yy-mm-dd hh:mm:ss"に変更したのでepgrec以外のフロントエンドでは問題が出る可能性がある。
http://2sen.dip.jp/cgi-bin/dtvup/source/up0655.zip (コメント編集中にリターン押しちゃった orz)
(eit[p/f]の扱いでバグがある。向こうのブログにあるepgrec UNA用epgdumpで修正されている)
-05/25 追記-
readme.txtを一部補足修正(ここだけでw)
>またコマンドラインの最後に"-pf"を付加することでeit[pf]のみを出力
これは、4秒分ぐらいのTSファイルで出力できるのでEPG受信時間の大幅な短縮が出来る。
>仮に対応させても予約直前にEPG更新を行わないと番組追従は出来ませんのでご注意を
「予約録画の開始直前にEPG更新を行わないと番組編成が臨時変更されたときの番組追従は出来ません」に修正
(06/07追記)あとEPG更新はイカに録画開始時刻に近づけるかが肝心なのでepgrecの予約3分前縛りを無くさないと追従に失敗する場合がある。
diffではなく差分ファイルのアーカイブなので既存の物と入れ替えてコンパイルして欲しい。
デグレ内容は、「英数字記号の半角化」「conv_title_subtitle()の全面改修」「【新】などの情報文字列を番組名から番組詳細へ移動」の3点で既知のバグやepgrec側の摺り合わせが必要なので削除
現行のepgrecでも使用できるはずだがフロントエンド側で対応しないかぎり機能向上は、まったくしないので現時点では参考程度と考えるように
またタイムスタンプ表記を"yymmdd hhmmss"から"yy-mm-dd hh:mm:ss"に変更したのでepgrec以外のフロントエンドでは問題が出る可能性がある。
(eit[p/f]の扱いでバグがある。向こうのブログにあるepgrec UNA用epgdumpで修正されている)
-05/25 追記-
readme.txtを一部補足修正(ここだけでw)
>またコマンドラインの最後に"-pf"を付加することでeit[pf]のみを出力
これは、4秒分ぐらいのTSファイルで出力できるのでEPG受信時間の大幅な短縮が出来る。
>仮に対応させても予約直前にEPG更新を行わないと番組追従は出来ませんのでご注意を
「予約録画の開始直前にEPG更新を行わないと番組編成が臨時変更されたときの番組追従は出来ません」に修正
(06/07追記)あとEPG更新はイカに録画開始時刻に近づけるかが肝心なのでepgrecの予約3分前縛りを無くさないと追従に失敗する場合がある。
2011年3月27日日曜日
録画直前のEPG更新(時間追従処理) その3
今までepgdumpとepgrec双方で行っていたEIT[スケジュール]とEIT[現在/次]のマージをepgrecだけで行うように変更した。
これに伴いepgdumpの出力をEIT[現在/次]とEIT[スケジュール]をタグで区別する形で分離して出力するように改修した。また放送休止を正しく判断するために途中から取得した分のEPGについては時系列が連続していない物を破棄するようにした。
録画直前のEPG更新に関しては3分前にEIT[スケジュール]とEIT[現在/次]を取得して1分前にEIT[現在/次]のみを取得するように変更した。
地上DのEPG受信時間だがARIB規定のディフォルト周期が60秒になっているためepgrecの設定値60秒では歯抜けが発生している。EPG周期は±30%のブレを許容している事を踏まえるとEPGを全部取得するには現状の60秒から80秒に変更した方がよいだろう。
ただしEPG周期は、任意で変更できるため局によっては80秒でも歯抜けが発生する。
時間追従処理のデバッグは、ある程度すすんだが途中で意気消沈・・・
高校野球で続きをやればいいのだが気乗りしない。
これに伴いepgdumpの出力をEIT[現在/次]とEIT[スケジュール]をタグで区別する形で分離して出力するように改修した。また放送休止を正しく判断するために途中から取得した分のEPGについては時系列が連続していない物を破棄するようにした。
録画直前のEPG更新に関しては3分前にEIT[スケジュール]とEIT[現在/次]を取得して1分前にEIT[現在/次]のみを取得するように変更した。
地上DのEPG受信時間だがARIB規定のディフォルト周期が60秒になっているためepgrecの設定値60秒では歯抜けが発生している。EPG周期は±30%のブレを許容している事を踏まえるとEPGを全部取得するには現状の60秒から80秒に変更した方がよいだろう。
ただしEPG周期は、任意で変更できるため局によっては80秒でも歯抜けが発生する。
時間追従処理のデバッグは、ある程度すすんだが途中で意気消沈・・・
高校野球で続きをやればいいのだが気乗りしない。
2011年2月8日火曜日
録画直前のEPG更新(時間追従処理)その2
今日の国会中継が中止かつ延長の可能性ありのフラグが立っていたため国会中継と後続の番組をいくつか予約してみた。
国会中継は、午後の部が3分延長したが直後の番組の録画開始時間が更新されていなかった。
他の番組は変化なし 直後がニュース気象情報だったのでここで変動を吸収されてしまった。
といった感じで追従そのものは失敗に終わったが前回残し忘れていた生TSが取れたしepgdumpとepgrecの改修点がいくつか見つかったので善しとする。
あとARIBにて「地上デジタルテレビジョン放送運用規定」を見つけた。おかげで追従処理そのものを見直さなければならない事がわかった。
「少なくとも放送30秒前にEPGを更新」は、まだ何とかなる。
でも「事前にEPGを更新せずいきなり放送」は、録画コマンド(recpt1など)でEIDの変動を監視してないと対処できんな・・・
そもそも運用規定といいながら緩すぎるだろこれ・・・ 放送局の裁量に任す部分が多すぎる。
明日も国会中継があるようだが改修箇所が多いので間に合わないだろう。
木曜にも国会中継があればそれまでには何とかなるかな?
国会中継は、午後の部が3分延長したが直後の番組の録画開始時間が更新されていなかった。
他の番組は変化なし 直後がニュース気象情報だったのでここで変動を吸収されてしまった。
といった感じで追従そのものは失敗に終わったが前回残し忘れていた生TSが取れたしepgdumpとepgrecの改修点がいくつか見つかったので善しとする。
あとARIBにて「地上デジタルテレビジョン放送運用規定」を見つけた。おかげで追従処理そのものを見直さなければならない事がわかった。
「少なくとも放送30秒前にEPGを更新」は、まだ何とかなる。
でも「事前にEPGを更新せずいきなり放送」は、録画コマンド(recpt1など)でEIDの変動を監視してないと対処できんな・・・
そもそも運用規定といいながら緩すぎるだろこれ・・・ 放送局の裁量に任す部分が多すぎる。
明日も国会中継があるようだが改修箇所が多いので間に合わないだろう。
木曜にも国会中継があればそれまでには何とかなるかな?
2011年2月4日金曜日
録画直前のEPG更新(時間追従処理)
知っている方もいると思うがデジタル放送波のEPGは、7日分一括の「スケジュール」と今放送している番組とその次の番組の2番組分の「現在/次」 の2種類ある。
スポーツ延長についてのメモで行った調査により 「スケジュール」が時間追従してない事が分かったため録画直前の単チャンネルEPG更新を地上波については、epgdumpを改造して「現在/次」 情報を出力させそれで行うよう変更した。衛星波についても「現在/次」 情報付加が必須なので対応できると思う。
この変更により受信時間が1分から2秒(2秒周期なので4秒)に短縮されるという別の恩恵にも与れる。
ただし「現在/次」情報の更新が実際の運用でどのタイミングでされるか不明なため、いつ訪れるか分からないテストの機会まで結果が出せないでいる。
仕様書を見る限りリアルタイムで更新されいるようなので大丈夫だと思うが・・・
あと予定していた予約個別(予約カスタマイズ・自動キーワード)での隣接禁止指定と自動キーワード予約に開始終了時刻シフトの追加を完了した。
なお自動キーワードのパラメーター変更UIは、面倒なのでphpMyAdminで済ますことにした。
スポーツ延長についてのメモで行った調査により 「スケジュール」が時間追従してない事が分かったため録画直前の単チャンネルEPG更新を地上波については、epgdumpを改造して「現在/次」 情報を出力させそれで行うよう変更した。衛星波についても「現在/次」 情報付加が必須なので対応できると思う。
この変更により受信時間が1分から
ただし「現在/次」情報の更新が実際の運用でどのタイミングでされるか不明なため、いつ訪れるか分からないテストの機会まで結果が出せないでいる。
仕様書を見る限りリアルタイムで更新されいるようなので大丈夫だと思うが・・・
あと予定していた予約個別(予約カスタマイズ・自動キーワード)での隣接禁止指定と自動キーワード予約に開始終了時刻シフトの追加を完了した。
なお自動キーワードのパラメーター変更UIは、面倒なのでphpMyAdminで済ますことにした。
2011年1月26日水曜日
スポーツ延長についてのメモ
昨日のサッカーが延長したので4分毎に1分間録画の予約を入れてモニターしてみた。
・放送波のEPG更新が試合終了後1時間ぐらいされなかった
・放送中番組と次番組の情報を参照しないとダメなようだ
・上記の理由からrecpt1などの録画コマンドかepgdumpの改造が必要
・放送波のEPG更新が試合終了後1時間ぐらいされなかった
・放送中番組と次番組の情報を参照しないとダメなようだ
・上記の理由からrecpt1などの録画コマンドかepgdumpの改造が必要
2011年1月22日土曜日
epgdump ジャンル出力不具合パッチ
epgdumpが出力したxmlファイルを眺めていると「その他」ジャンルのサブジャンルに未定義な値が出力されていた。
そこで epgdumpのソースを見てみるとサブジャンル対応でいじったときに「大丈夫かいな」と思っていたところがやはりバグだった。
epgrecのサブジャンル対応時に特定のジャンルがDBに登録されていないのを不審に思っていたんだよな
パッチは以下に
そこで epgdumpのソースを見てみるとサブジャンル対応でいじったときに「大丈夫かいな」と思っていたところがやはりバグだった。
epgrecのサブジャンル対応時に特定のジャンルがDBに登録されていないのを不審に思っていたんだよな
パッチは以下に
--- ./org/eit.c 2009-11-18 12:23:01.000000000 +0900
+++ eit.c 2011-01-22 15:45:11.388454332 +0900
@@ -531,7 +531,7 @@
if((eith.original_network_id == original_network_id) && (eith.transport_stream_id == transport_stream_id)){
cur = searcheit(eittop, eith.service_id, eitb.event_id);
if(cur != NULL){
- cur->content_type = (unsigned char)(contentDesc.content[0] >> 4);
+ cur->content_type = *((unsigned char *)contentDesc.content) >> 4;
#if 0
fprintf(stdout, "%s:", cur->title);
fprintf(stdout, ",%02x%02x", (unsigned char)contentDesc.content[0], (unsigned char)contentDesc.content[1]);
登録:
投稿 (Atom)




