目的
- Linux(CentOS or Debian)でPT3運用を行いたい
- Chinachuを利用したルール予約&同時録画機能
- TVTestでリアルタイム視聴を可能とする
注意事項
- Linuxサーバの構築および運用が可能な方を前提にしております
- サーバ側ではB25/MULTI2 復号を省略しています
理由:ストリーミング再生する性能もないため、B25復号が不要(あとは実装できなかった)
* 追記:sample.cppにb25デコードパッチを適用するとB25復号が可能となりました - 当方の環境は名古屋/BS,CS無しのため、chinachuのチャンネル設定は都度変更してください
ただしCSの場合sampleがsid指定出来ないため、視聴可否は確認できておりません ChinachuではEPG取得時に設定された全てのチューナーが利用されます
よってTVTest視聴中に突然チャンネルが変更される場合があります
* 追記:Chinachu config.json "noEpg: true"指定にてEPGスキャン除外が出来るようになりました
構築のポイント
- ChinachuもBonDriverProxyを利用しTVTestとの競合時には録画を優先させ,
BonDriverProxy_Linuxに添付されているsampleを利用し録画させる - BonDriver_LinuxPTの設定にてTVTest用とChinachu用のチャンネル設定を定義しておく
構築環境
root@tvsv:~# uname -a Linux tvsv 3.2.0-4-amd64 #1 SMP Debian 3.2.60-1+deb7u1 x86_64 GNU/Linux root@tvsv:~# cat /etc/debian_version 7.6 root@tvsv:~#
必要構成
- Chinachu(Web UI 録画システム)
http://chinachu.moe/ - PT3 Driver
https://github.com/m-tsudo/pt3 -
BonDriverProxy(Windows用)
https://github.com/u-n-k-n-o-w-n/BonDriverProxy
* dllは配布されていないため、各自でビルドする必要が有り
* ビルドにはVisualStudio Express 2013 for Desktopが無料で利用できるのでオススメ
-
BonDriverProxy_Linux(Linux用)
https://github.com/u-n-k-n-o-w-n/BonDriverProxy_Linux
-
TVTest
TVTestは各サイトからダウンロード
B25decodeの為、Ver0.7.23推奨です
BonDriverProxy_Linux
- gitより取得後make実施
ビルドするものは下記4つ
- BonDriverProxy(Proxy本体)
- BonDriver_Linux(PT3ドライバ)
- BonDriver_Proxy(クライアントモジュール)
- sample(BonDriver対応プログラム)
- 当方の環境では/usr/local/BDPL/に各ファイルを設置
PT3 1枚の場合は下記のファイル構成となるはず
root@tvsv:~# tree /usr/local/BDPL/ ├── BonDriverProxy //Proxy本体 ├── BonDriver_LinuxPT3-S0.so //PT3ドライバ ├── BonDriver_LinuxPT3-S0.so.conf //PT3ドライバ設定 ├── BonDriver_LinuxPT3-S1.so //PT3ドライバ ├── BonDriver_LinuxPT3-S1.so.conf //PT3ドライバ設定 ├── BonDriver_LinuxPT3-T0.so //PT3ドライバ ├── BonDriver_LinuxPT3-T0.so.conf //PT3ドライバ設定 ├── BonDriver_LinuxPT3-T1.so //PT3ドライバ ├── BonDriver_LinuxPT3-T1.so.conf //PT3ドライバ設定 ├── BonDriver_ProxyPT3-S0.so //クライアントモジュール ├── BonDriver_ProxyPT3-S0.so.conf //クライアントモジュール設定 ├── BonDriver_ProxyPT3-S1.so //クライアントモジュール ├── BonDriver_ProxyPT3-S1.so.conf //クライアントモジュール設定 ├── BonDriver_ProxyPT3-T0.so //クライアントモジュール ├── BonDriver_ProxyPT3-T0.so.conf //クライアントモジュール設定 ├── BonDriver_ProxyPT3-T1.so //クライアントモジュール ├── BonDriver_ProxyPT3-T1.so.conf //クライアントモジュール設定 └── sample //BonDriver対応プログラム(BonDriverProxy_Linuxソース添付)
- PT3ドライバ設定をS0,S1/T0,T1毎に作成
下記は参考までにT0のファイルとなる
ポイントは- #DEVICEを実devに修正する
- チャンネル設定を[0始まりのBonDriverProxy用]と[実chと合わせたchinachu用]の2つを定義
- 実際はTAB区切りとなるため注意
root@tvsv:~# cat /usr/local/BDPL/BonDriver_LinuxPT3-T0.so.conf #DEVICE=/dev/pt3video3 #USELNB=0 #USESERVICEID=0 ; 名称, BonDriverとしてのチャンネル番号, 周波数テーブル番号, スロット番号/加算する周波数 ; 記述はタブ区切り #ISDB_T # 正規Ch 東海テレビ 21 71 0 NHK教育 13 63 0 NHK総合 20 70 0 中京テレビ 19 69 0 中部日本放送 18 68 0 め~てれ 22 72 0 テレビ愛知 23 73 0 三重テレビ 27 77 0 # BonDriverProxy用(TVTest) 東海テレビ 0 71 0 NHK教育 1 63 0 NHK総合 2 70 0 中京テレビ 3 69 0 中部日本放送 4 68 0 め~てれ 5 72 0 テレビ愛知 6 73 0 三重テレビ 7 77 0
- クライアントモジュール設定をS0,S1/T0,T1毎に作成
下記は参考までにT0のファイルとなる
ポイントは- ADDRESS=127.0.0.1にてローカルのBonDriverProxyを参照
- BONDRIVERでBonDriver_Linux**の実ファイルを指定
- CHANNEL_LOCK=1とし、Chinachuに優先権を持たせる
root@tvsv:~# cat /usr/local/BDPL/BonDriver_ProxyPT3-T0.so.conf [OPTION] ADDRESS=127.0.0.1 PORT=1192 BONDRIVER=/usr/local/BDPL/BonDriver_LinuxPT3-T0.so CHANNEL_LOCK=1 CONNECT_TIMEOUT=5 USE_MAGICPACKET=0 [MAGICPACKET] TARGET_ADDRESS=127.0.0.1 TARGET_PORT=1192 TARGET_MACADDRESS=AA-BB-CC-DD-EE-FF [SYSTEM] PACKET_FIFO_SIZE=16 TS_FIFO_SIZE=32 TSPACKET_BUFSIZE=192512
Chinachu
- インストールについては公式wikiを参考
https://github.com/kanreisa/Chinachu/wiki/Installation
Debianなら特に苦労せずインストールができるはず - config.jsonを修正
- 録画対象となるチャンネルの定義(地上波は名古屋市内設定)
- BonDriverProxy_sampleを利用して録画を行うよう、commandを変更
* チューナー数に合わせて増減および、利用するBonDriver_ProxyPT3-**.soを変更すること - TVTestで視聴するチューナーに対してnoEpg:trueオプションを付け,EPGスキャンにてチャンネルが変更されないようにする
ここではS1/T1とした
{ "recordedDir" : "./recorded/", "temporaryDir": "/tmp/", "wuiUsers": [ "akari:bakuhatsu" ], "wuiPort" : 10772, "wuiHost" : "::", "wuiTlsKeyPath" : null, "wuiTlsCertPath" : null, "wuiOpenServer" : false, "wuiOpenPort" : 20772, "wuiPreviewer" : true, "wuiStreamer" : true, "wuiFiler" : true, "wuiConfigurator": true, "recordedFormat": "[<date:yymmdd-HHMM>][<type><channel>][<tuner>]<title>.m2ts", "tuners": [ { "name" : "PT3-S0", "isScrambling": false, "types" : [ "BS", "CS" ], "command" : "/usr/local/BDPL/sample -b /usr/local/BDPL/BonDriver_ProxyPT3-S0.so -s 0 -c <channel>" }, { "name" : "PT3-S1", "isScrambling": false, "types" : [ "BS", "CS" ], "command" : "/usr/local/BDPL/sample -b /usr/local/BDPL/BonDriver_ProxyPT3-S1.so -s 0 -c <channel>", "noEpg" : true }, { "name" : "PT3-T0", "isScrambling": false, "types" : [ "GR" ], "command" : "/usr/local/BDPL/sample -b /usr/local/BDPL/BonDriver_ProxyPT3-T0.so -s 0 -c <channel>" }, { "name" : "PT3-T1", "isScrambling": false, "types" : [ "GR" ], "command" : "/usr/local/BDPL/sample -b /usr/local/BDPL/BonDriver_ProxyPT3-T1.so -s 0 -c <channel>", "noEpg" : true } ], "channels": [ { "type": "GR", "channel": "21" }, { "type": "GR", "channel": "13" }, { "type": "GR", "channel": "20" }, { "type": "GR", "channel": "19" }, { "type": "GR", "channel": "18" }, { "type": "GR", "channel": "22" }, { "type": "GR", "channel": "23" }, { "type": "GR", "channel": "27" }, { "type": "BS", "channel": "101" }, { "type": "BS", "channel": "102" }, { "type": "BS", "channel": "103" }, { "type": "BS", "channel": "141" }, { "type": "BS", "channel": "151" }, { "type": "BS", "channel": "161" }, { "type": "BS", "channel": "171" }, { "type": "BS", "channel": "181" }, { "type": "BS", "channel": "191" }, { "type": "BS", "channel": "192" }, { "type": "BS", "channel": "193" }, { "type": "BS", "channel": "200" }, { "type": "BS", "channel": "211" }, { "type": "BS", "channel": "222" } ] }
1 件のコメント :
Patch
https://gist.github.com/deadbeef2/055dcfb4164ad81811e2
コメントを投稿