fc2ブログ

おそらくただの独り言

プログラミングのこととかチラ裏的なこととかをたまに書き綴るブログっていうか作業メモ

epgrecのCS番組表について その2

前回CS番組表を受信できるようにはしたわけですが、SIDが変わってたり廃止されてたりするチャンネルが結構あるんですね。

それに対応すべくepgdump.cとconfig.phpを編集しようかと思います。

まずepgdump.cについて。

アニメ自動録画システムfoltiaというものがあるそうで、そこで使われているepgdump.cを頂きました。

試しにこのままコンパイルしてみたんですが、番組表の取得に失敗してしまいました。

中身をあまり見てないんで詳しくはわかりませんが、epgrec用とfoltia用では処理が異なる部分があるようです。

なのでstatic STATION csSta[]の部分だけ頂いて前回のepgdump.cにぶち込みました。


--- epgdump.c.old2 2012-05-19 11:07:28.000000000 +0900
+++ epgdump.c 2012-05-19 11:59:06.000000000 +0900
@@ -88 +88 @@
- { "フジテレビCSHD", "306ch.epgdata.ontvjapan", 24608, 6, 306},
+ { "フジテレビNEXT", "306ch.epgdata.ontvjapan", 24608, 6, 306},//フジテレビCSHD →
@@ -95 +95 @@
- { "インターローカルTV", "194ch.epgdata.ontvjapan", 28736, 7, 194},
+// { "インターローカルTV", "194ch.epgdata.ontvjapan", 28736, 7, 194},//廃止 2010/9/16/
@@ -100 +100 @@
- { "トゥーン・ディズニー", "1213.ontvjapan.com", 28736, 7, 334},
+ { "ディズニーXD", "1213.ontvjapan.com", 28736, 7, 334},//トゥーン・ディズニー →
@@ -118,3 +118,4 @@
- { "ジャスト・アイ", "361ch.epgdata.ontvjapan", 28864, 7, 361},
- { "Jスポーツ 1", "1041.ontvjapan.com", 28896, 7, 251},
- { "Jスポーツ 2", "1042.ontvjapan.com", 28896, 7, 252},
+// { "ジャスト・アイ", "361ch.epgdata.ontvjapan", 28864, 7, 361},// 廃止 2011/8/31
+ { "ホームドラマチャンネル", "294ch.epgdata.ontvjapan", 28736, 7, 294},
+// { "Jスポーツ 1", "1041.ontvjapan.com", 28896, 7, 251},// 2011/10/1 BSへ変更
+// { "Jスポーツ 2", "1042.ontvjapan.com", 28896, 7, 252},// 2011/10/1 BSへ変更
@@ -134,3 +135,3 @@
- { "フジテレビ739", "1073.ontvjapan.com", 28992, 7, 258},
- { "フジテレビ721", "1072.ontvjapan.com", 28992, 7, 302},
- { "アニマックス", "1047.ontvjapan.com", 28992, 7, 332},
+ { "フジテレビONE", "1073.ontvjapan.com", 28992, 7, 307},//フジテレビ739→
+ { "フジテレビTWO", "1072.ontvjapan.com", 28992, 7, 308},//フジテレビ721→
+// { "アニマックス", "1047.ontvjapan.com", 28992, 7, 332},//BSアニマックスに移動
@@ -146 +147 @@
- { "キッズステーション", "1045.ontvjapan.com", 29024, 7, 330},
+ { "キッズステーションHD", "1045.ontvjapan.com", 29024, 7, 335},//HDに
@@ -148,3 +149,3 @@
- { "CS日本番組ガイド", "147ch.epgdata.ontvjapan", 29056, 7, 147},
- { "日テレG+", "1068.ontvjapan.com", 29056, 7, 257},
- { "fashion TV", "5004.ontvjapan.com", 29056, 7, 291},
+// { "CS日本番組ガイド", "147ch.epgdata.ontvjapan", 29056, 7, 147},//廃止 2010/2/28
+ { "日テレG+HD", "1068.ontvjapan.com", 29056, 7, 257},//HD化
+// { "fashion TV", "5004.ontvjapan.com", 29056, 7, 291},//廃止 2009/3/31
@@ -152,2 +153,3 @@
- { "エコミュージックTV", "1023.ontvjapan.com", 29056, 7, 320},
- { "Music Japan TV", "1208.ontvjapan.com", 29056, 7, 321},
+// { "エコミュージックTV", "1023.ontvjapan.com", 29056, 7, 320},//廃止 2009/3/31
+// { "Music Japan TV", "1208.ontvjapan.com", 29056, 7, 321},//廃止 2012/3/31
+ { "スペースシャワーTV プラス", "321ch.epgdata.ontvjapan", 29056, 7, 321},
@@ -154,0 +157 @@
+ { "旅チャンネル", "1052.ontvjapan.com", 29056, 7, 362},


とりあえずこれでepgdump.cはOKなはず。

次はconfig.phpを編集します。

こっちはsorceforgeのconfig.php.sampleを参考にして細かいところを少しだけ編集しました。


--- config.php.old 2012-05-19 13:06:32.000000000 +0900
+++ config.php 2012-05-19 13:31:33.000000000 +0900
@@ -169 +169 @@
- "306ch.epgdata.ontvjapan" => "CS2", // 306, // "フジテレビCSHD"
+ "306ch.epgdata.ontvjapan" => "CS2", // 306, // "フジテレビNEXT"
@@ -176,2 +176,2 @@
- "194ch.epgdata.ontvjapan" => "CS4", // 194, // "インターローカルTV"
- "1213.ontvjapan.com" => "CS4", // 334, // "トゥーン・ディズニー"
+ "294ch.epgdata.ontvjapan" => "CS4", // 294, // "ホームドラマch"
+ "1213.ontvjapan.com" => "CS4", // 334, // "ディズニーXD"
@@ -189,0 +190 @@
+ "1045.ontvjapan.com" => "CS8", // 335, // "キッズステーションHD"
@@ -203 +203,0 @@
- "361ch.epgdata.ontvjapan" => "CS12", // 361, // "ジャスト・アイ"
@@ -205,2 +204,0 @@
- "1041.ontvjapan.com" => "CS14", // 251, // "Jスポーツ 1"
- "1042.ontvjapan.com" => "CS14", // 252, // "Jスポーツ 2"
@@ -222,3 +220,2 @@
- "1073.ontvjapan.com" => "CS20", // 258, // "フジテレビ739"
- "1072.ontvjapan.com" => "CS20", // 302, // "フジテレビ721"
- "1047.ontvjapan.com" => "CS20", // 332, // "アニマックス"
+ "1073.ontvjapan.com" => "CS20", // 307, // "フジテレビONE"
+ "1072.ontvjapan.com" => "CS20", // 308, // "フジテレビTWO"
@@ -228,2 +225 @@
- "160ch.epgdata.ontvjapan" => "CS22", // 160, // "C-TBSウエルカム"
- //"1120.ontvjapan.com" => "CS22", // 161, // "QVC"
+ "1120.ontvjapan.com" => "CS22", // 161, // "QVC"
@@ -235 +231 @@
- "1045.ontvjapan.com" => "CS22", // 330, // "キッズステーション"
+
@@ -238,2 +234 @@
- "1068.ontvjapan.com" => "CS24", // 257, // "日テレG+"
- "5004.ontvjapan.com" => "CS24", // 291, // "fashion TV"
+ "1068.ontvjapan.com" => "CS24", // 257, // "日テレG+HD"
@@ -241,2 +236 @@
- "1023.ontvjapan.com" => "CS24", // 320, // "エコミュージックTV"
- "1208.ontvjapan.com" => "CS24", // 321, // "Music Japan TV"
+ "321ch.epgdata.ontvjapan" => "CS24", // 321, // "スペースシャワーTV プラス"
@@ -243,0 +238 @@
+ "1052.ontvjapan.com" => "CS24", // 362, // "旅チャンネル"


なんか余計なのも残ってる気がするけどとりあえず番組表取得できてるしいいことにします。
[ 2012/05/19 13:36 ] PT2 | TB(0) | CM(0)

epgrecのCS番組表について

なんだかCSの番組表が表示されないなーと思ってたら、

前回ダウンロードしたepgdumpのソースがおかしくなってました。

--- epgdump.c.old 2012-05-18 03:39:12.000000000 +0900
+++ epgdump.c 2012-05-18 03:26:59.000000000 +0900
@@ -365 +365 @@
- }else if(strcmp(arg_onTV, "/BS") == 0){
+ }else if(strcmp(arg_onTV, "/CS") == 0){

CSのところもなぜか/BSになってたというオチ。
[ 2012/05/18 03:58 ] PT2 | TB(0) | CM(0)

J SPORTSが録画できない?

えー前回BS新チャンネルに対応させたんですが、どうにもJ SPORTSの2と4が録画できない。

調べてみるとpt1_dev.hの中の以下の2点を編集すれば良い様子。

{ 9, CHTYPE_SATELLITE, 1, "243"}, /* 243ch:J SPORTS 2 */
                    ↓
{ 9, CHTYPE_SATELLITE, 2, "243"}, /* 243ch:J SPORTS 2 */

{ 10, CHTYPE_SATELLITE, 1, "245"}, /* 245ch:J SPORTS 4 */
                    ↓
{ 10, CHTYPE_SATELLITE, 2, "245"}, /* 245ch:J SPORTS 4 */

こう編集してコンパイルしなおしたrecpt1を使うとうまく録画できるようになりました。

めでたしめでたし。
[ 2012/05/04 07:14 ] PT2 | TB(0) | CM(0)

今更ながらrecpt1 httpサーバー版を使ってみた

CentOSサーバーにPT2&epgrecを導入したのがおそらくちょうど1年くらい前くらいだと思うんですが、今までは録画がメインでリアルタイム視聴はほとんどしてなかったんですよね。

でも最近CS契約しようかなーとか思い始めまして、それだと録画だけだともったいないしリアルタイム視聴できたほうがいいんじゃないかと思い立ったわけです。

まぁ最初からrecpt1からudpでとばせば見れるのは見れたんですが、チャンネル変更がめんどくさいんですよね。

それがrecpt1 httpサーバー版だとサーバー側でデーモンとして立ち上げとけばクライアント側でチャンネル変更ができると知り、居ても立ってもいられずサクっと導入してみました。

とりあえずダウンロードするものは以下
・recpt1 httpサーバー版RC4
・recpt1 httpサーバー版RC4 PMT解析修正patch
・recpt1 httpサーバー版RC4 ホスト名無しクライアント対策patch

2個パッチがあったんでとりあえずあてときまして、

./autogen.sh
./configure --enable-b25
make
make install

でコンパイル、インストールします。

recpt1 --b25 --strip --http 8888

とするとデーモンとして起動されます。

これでTVTest&BonDriver_http.dll経由でチャンネル切り替えつつリアルタイム視聴できるようになります。



とまあ、ここで終わるはずだったんですが、これだとBSの新チャンネルに対応してないんですね。

ここからBSパッチ済recpt1をダウンロードしてpt1_dev.hを取り出してhttpサーバー版のソース中にぶち込んでコンパイルしなおせばOKです。

epgrec使ってる人ならepgdump、epgrecも置き換えるといいと思います。

まぁたぶん番組追加するだけだし、自分で書き換えてもいいんだけどね。
[ 2012/03/19 00:47 ] PT2 | TB(0) | CM(0)

アニメエンコード時60iテロップの処理(暫定的)

最近はアニメのエンコードにハマり出しまして、aviutlの勉強をしてます。

ちなみにVista機は非力すぎるので、g6950搭載のCentOSからwine経由してx264guiを使用してます。(g6950もエンコするには非力なんですが^^;)

それで今までは自動フィールドシフトを使ってインタレ解除してたわけなんですが、途中のテロップがすごくカクカクになってしまうんですね。

なぜなのかなーと思って調べたらどうやらアニメ自体は24fpsで作られててもテロップは後付で60iになってるらしいのです。

まぁテロップが入ってる時間は短いし見ないことにすれば楽なんですが、今回はなんとか対処しようと思います。

色々調べた結果、以下の方法で対処できそうです。


(1) インタレ解除しない

(2) 全体を60fps化

(3) 60iテロップ部分だけ60fps化



リサイズしないなら(1)が一番楽な気がしますがなんとなく1280x720に変換したいので却下。

(2)は再生不可やらサイズやら考えてとりあえず後回しに。

ということで今回は一番めんどくさそうな(3)に挑戦して見ました。

60iテロップ部分とその他部分を別々にエンコードして後で結合する感じです。

以下がその手順です。


1. DGindexでTSファイルからd2v、wav作成

2. faad.exeでwavをaacに変換する

3. aviutlでd2v、aacを読み込んでCMカットする。

4. 音声は後でmuxするのでまずwav出力。

5. 60iテロップが含まれない部分をインタレ解除を自動フィールドシフトにしてエンコード。

6. 60fps読み込みをし、60iテロップ部分をインタレ解除を自動にしてエンコード。

7. 4で作成したwavファイルを適当にエンコード。(私はneroAacEncで128kbpsのaacにしてます)

8. 5~7で作成したmp4とaacをMP4Boxを使ってmuxして完成!!
(ちなみにコマンドはこんな感じ MP4Box -add test-1.mp4 -cat test-2.mp4 -cat test-3.mp4 -add test.aac -new test.mp4)

とまぁ、こんな流れですかね。

音声を最後にくっつけるんで音ズレやら音飛びやらは多分大丈夫だと思います。

実際に見てみても60iテロップ部分は滑らかに動くしテロップ部分とその前後の結合部分で特に違和感は有りませんでした。

とりあえずやってみた感じなのでもっと楽な方法もあると思います。
[ 2012/01/09 16:17 ] エンコード | TB(0) | CM(0)
プロフィール

賭無損(とむそん)

Author:賭無損(とむそん)
・Lenovo TS130
Xeon E3-1225
Windows Server 2008 R2

・NEC Express5800/S70 RB
Pentium G6950
CentOS 5.5

その他ノートPC

安鯖見るとついつい買いたくなってしまいます…

Twitter
最新コメント
最新トラックバック
検索フォーム
容量
KB