PLEX PX-MLT8PE を Windows 11 で動かす
8ch 同時視聴
この記事は、TS抜きTVチューナー PLEX PX-MLT8PE を radi-sh版BonDriverで動かそうというものです。
ネット上にはTVTest同梱の、PX-MLT8PE専用アーカイブも公開されており、こちらを使った方が環境構築は容易でしょう。

2022/02/26 flyman

PCリプレースのタイミングで、PCでのTV視聴・録画環境を再構築した。
PCのスペックは次の通り
CPUIntel Core i7 12700K
メモリDDR4 16GB x 2
M/BASRock B660M Pro RS
最新のインテル12世代CPUから、GPU内蔵のものを選んだ。メモリは合計32GBを積んでいる。
ストレージはSSDだが、録画ディレクトリには外付けのRAIDディスクを用意している。
OSはWindows11 Pro x64だ。
新しいOSだが、内容はWindows10とそれほど変わっていない印象。インターフェースは真新しいが、Windows10用のドライバやアプリはそのまま使えそうだ。

今回使用するのはPLEX PX-MLT8PEという、内蔵型チューナーカードだ。これは地デジ,BS/CSの任意の8チャンネルを同時視聴・録画可能なチューナーだ。
カード上にB-CASカードスロットがあるが、B-CASカードは付属しない。

これはいわゆる『TS抜き』チューナーだ。普通にPCでテレビを視聴したい、というユーザーには全く向かない。
なぜなら、このチューナーにはTV視聴用のアプリの類いが付属しないからだ。B-CASカードもない。これらは自前で用意し、セットアップする必要がある。つまり、相応の知識が必要ということだ。
※PLEXのWEBページから、PLEX TVという視聴ソフトがダウンロード可能だ。
PLEXのWEBにはWindows11にも対応すると書いてある。しかし、インストールし起動すると、チャンネルのスキャンまではうまくできたが、エラーが表示され、映らなかった。単にflymanの環境だけの問題かも知れない。

※再インストールを試みたが、2度目以降はチューナーを選択したところでエラーになり、進めなかった。

TS抜きのメリットは、コピープロテクトを回避できることにある。通常のTV録画機器ではコピープロテクトのせいで編集やコピーがほとんどできない。だが、TS抜きされた動画はコピーワンスやダビング10のような制限が無く、無劣化でCMカットなどの編集が可能だし、DVDやUSBメモリなどの媒体に自由にコピーができるのだ。
TS抜きチューナーは、CMカットして好みの画質にエンコードして番組を保存したいような、マニアには必需品だ。
通常、このようなチューナーカードを使用する場合、TV視聴にはTVTest、録画・録画予約にはEpgDataCapBonというアプリを使うのが一般的だ。EpgDataCapBonはEDCBとも略される。どちらもオープンソースなソフトで、Githubで入手できる。また、ネット上にはビルド済みのプログラムもあるので、自分でソースコードからコンパイルするのがいやな人はそれらを入手してもいい。
チューナーカードと視聴・録画ソフトの間を取り持つソフトも必要になる。一般にBonDriverと呼ばれるソフトだ。これは、この手のTS抜きチューナーのはしりとなった、台湾製の外付けチューナーFriio用に書かれたものが始まりだ。Friioの外観が漢字の『凡』に似ていることから、凡ドライバー=BonDriverと呼ばれている。Friio用以外の、TS抜きチューナー全般に対応したものもBonDriverと呼ばれる。

PLEX社製チューナーの多くは、専用BonDriverではなくBDA汎用BonDriverで動作する。PX-MLT8PEもそうだ。

以上のソフトが揃えば、一般的なTV視聴・録画に不足はない。すなわち
BonDriver
TVTest
EpgDataCapBon(EDCB)
をインストールし、適宜設定を行えばいい。

が、今回はこれにもう一つ追加している。
今時のデジタル化されたTV放送はスクランブル(暗号化)されている。これを視聴録画するためにはデスクランブル(復号化)しなくてはならない。
デスクランブルをTVTest、EDCBそれぞれでやってももちろん構わない。しかし若干ではあるが設定が複雑になる。
そこで今回は、受信した信号をTV視聴・録画ソフトに渡す前にデスクランブルさせてしまう。これをBonDriverProxyExというソフトに担当させる。このソフトはチューナーのサーバー的な機能を持っており、これを介することでネット上の他のPCでのTV視聴・録画をも可能にしてくれる。B-CASカードもサーバー側だけにあればいいので、わざわざクライアントPC用にカードリーダーやB-CASカードを用意する必要も無い。
ザーバー側(今回設定するPC)のTV視聴・録画もBonDriverProxyExを経由して行わせる。そうすることでチューナーの排他制御も任せられる。

全体図は次のようになる。
関連図
今回構築するのは『サーバーPC』側だ。
すべての環境は64ビットで統一する。また各ソフトはその時点で手に入る最新版を使用することにする。
ディレクトリ構成は、
C:\DTV
 ├ BonDriver (BDA汎用ドライバ、BonDriverProxyEx関連ファイル)
 ├ TVTest
 │ └ BonDriver (TVTest用 BonDriver_Proxy)
 └ EDCB
   └ BonDriver (EDCB用 BonDriver_Proxy)
とする。
クライアント側のBonDriver_ProxyはTVTestとEDCBそれぞれに用意する。CHANNEL_LOCKの値など、それぞれで別の設定を可能にするためだ。
これを一つにまとめたい場合は、EDCB側を残すといいだろう。EDCBではBonDriverのパスが固定だからだ。

以下に環境構築の概要を述べる。細かい設定についてはここでは述べないので、別途調べてほしい。

事前準備
今回は多くのアプリをソースコードからビルドしている。
そのため、ビルドツールとしてMS Visual Studio 2022など、また一部のソースの取得にgitを使用しているので、gitの実行環境があったほうがいい。
すべてをビルド済みのオブジェクトで賄う場合はこれらは不要だ。自分でビルドするとなると、それなりの知識と経験、忍耐と根性が必要となる。エラーが楽しめる人以外はビルド済みのアプリで環境構築するほうが良いかもしれない。

ボードの取り付け
PX-MLT8PEはPCIeのフルハイトカードだ。とはいえ、PCIeスロットは電源供給にしか使用しておらず、データのやりとりはUSBポートを使って行われる。カード上にはUSBコネクタが2個あるが、カードに付属のケーブルでM/B上のUSBヘッダー1個にまとめて接続できる(USBヘッダー1個にUSBポートは2個入っている)。
そのため、PCのM/B上にUSB2.0ポートが必要になる。無ければ、USBケーブルをいちどバックパネルの外に引き出してUSBポートに接続するとかUSBケーブルの変換コネクタでUSB3.0に接続するとか、工夫が必要になる。
アンテナ線は地デジ用とBS/CS用の2本が必要だ。内部で分波はしないので、混合波では無く事前に分波されたアンテナ線が必要だ。なをアンテナ給電機能は無い。
カード上にB-CASスロットがあるので、B-CASカードを挿す。別途カードリーダーを用意しても良いが、わざわざそうする必要も無いだろう。
PX-MLT8PE
B-CASカードは同梱されていないので、別途用意して欲しい。flymanは壊れたレコーダーに付属していたものを刺している。

デバイスドライバのインストール
ドライバはPLEXのウェブページからDLできる。http://www.plex-net.co.jp/download/ からPX-MLT8PEの『BDA Driver Ver.1.0 : Windows 11/10/8.1/8/7 64bit/32bit同梱』をダウンロードし、解凍する。
解凍するとPDFのマニュアルが出てくるので、以降はそれに従いドライバをインストールすれば良い。事前に、[Windowsセキュリティ]の[コア分離]をオフにしておく。
このチューナーは、一枚のボード上に3chと5chのボードが乗っているような構成なので、ドライバもそれぞれ用にセットする。

チューナーカード用BonDriver
BonDriverはradi-sh版を使わせて頂く。
必要なのはチップに共通のBonDriver_BDAと、チップ別に用意されたうちのDigibest系チューナー用(ITE Tech製チップ)のBDASpecial-IT35だ。
今回、前者はソースからビルドした。ビルドする環境がない場合はビルド済みオブジェクトも手に入る。
今回ビルドしたのは、そのままでは一部の機能が動作しなかったからだ。

https://github.com/radi-sh/BonDriver_BDA/releases から、ソース、BonDriver_BDA-Release-20190202.zip をダウンロードし解凍する。
ソースをVisualStudioで開き、BonTuner.cpp の1721~1722行目を次のように入れ替える。
		modulationSettingsAuto[0] = L"ISDB-S";
		modulationSettingsAuto[1] = L"ISDB-T";
ソースを保存し、x64でビルドする。

PX-MLT8PEは、全てのチューナーがUHFとBS/CS両方に対応する。そのため、BonDriverの設定方法としては、

(1) 全てのチャンネルに共通の、UHF、BS/CS兼用のdllを用意する。すなわち、
		BonDriver_BDA_PX-D0.dll
dllは1つで済む。

(2) 全てのチャンネルに共通の、UHF用、BS/CS用をそれぞれ用意する。すなわち、
		BonDriver_BDA_PX-T0.dll
		BonDriver_BDA_PX-S0.dll
dllは2つ。

(3) 全てのチャンネルにUHF、BS/CS兼用のdllを用意する。すなわち、
		BonDriver_BDA_PX-D0.dll
				:
		BonDriver_BDA_PX-D7.dll
dllは8つ。

(4) 全てのチャンネルにUHF用、BS/CS用をそれぞれ用意する。すなわち、
		BonDriver_BDA_PX-T0.dll
		BonDriver_BDA_PX-S0.dll
				:
		BonDriver_BDA_PX-T7.dll
		BonDriver_BDA_PX-S7.dll
dllは16必要。

などが考えられる。
dllはすべて同じもので、名前だけが異なる。
それぞれの違いは、(1)と(3)ではiniファイルにUHF、BS/CS共用の設定を記述するのに対し、(2)と(4)ではUHF用、BS/CS用の設定を分けて記述する点だ。
大きく違うのは[TuningSpace]部、それと[Tuner]部のDefaultNetworkパラメータだ。
このDefaultNetworkがくせ者で、flymanの環境では、UHFの場合は
DefaultNetwork="Dual"
または
DefaultNetwork="UHF/CATV"
で動作したが、BS/CSの場合、
DefaultNetwork="BS/CS110"
では動作したが、
DefaultNetwork="Dual"
では動作しなかった。本来、(1)と(3)の兼用の設定にする場合、この値は"Dual"のはずだ。そういうわけで、ソースコードに手を入れて"Dual"の時の優先順位を入れ替えた(つもりな)のだ。ソースを追っているわけでは無いので、この変更に意味があるのかも分からない。が、flymanの環境ではこれで動作するようになったので、これ以上は調べていない。
これで、UHFでもBS/CSでも、
DefaultNetwork="Dual"
にすることでひとつのBonDriverで賄えている。つまり(1)(3)の方法が機能する。
実際のところ、radh-sh版BonDriverは一つで複数のチューナーに対応してくれるので、(1)の
BonDriver_BDA_PX-D0.dll
だけで8つ全てのチューナーでUHF、BS/CS全てが見えてしまう。
だがflymanはBonDriverProxyExを利用したいので、(3)の構成にしている。BonDriverProxyExが複数インスタンスに対応していないからだ。

従って、flymanの環境ではビルドした BonDriver_BDA.dll を C:¥DTV¥BonDriver に8個コピーし、以下のようにリネームしている。
BonDriver_BDA-D0.dll
BonDriver_BDA-D1.dll
BonDriver_BDA-D2.dll
BonDriver_BDA-D3.dll
BonDriver_BDA-D4.dll
BonDriver_BDA-D5.dll
BonDriver_BDA-D6.dll
BonDriver_BDA-D7.dll
名称は『BonDriver』から始まっていれば何でも良い。
https://github.com/radi-sh/BDASpecial-IT35/releases から、BDASpecial-IT35-2019-02-02a.zip をDLする。こちらはビルド済みオブジェクトだ。
解凍したら、x64版Releaseの
IT35.dll
WinSCard.dll
を C:¥DTV¥BonDriver フォルダにコピーする。
WinsCard.iniもコピーし、エディタでTunerFriendlyNameを適宜変更する。たとえば、
TunerFriendlyName="PXMLT8PE3 Multi Tuner Dual Mode ISDB BDA Filter #0"
といった感じだ。
ただし、カード上のB-CASスロットを使わず、外付けのカードリーダーを使う場合はWinsCard.dll、WinsCard.iniを配置しない。配置しなければWindows標準のWinsCard.dllが使われ、外付けカードリーダーが認識されるはずだ。

BDA汎用BonDriverのiniファイル記述は後回しにして、先にBonDriverProxyExとTVTestのインストールを行う。

BonDriverProxyEx
BonDriverProxyExのB25デコード機能付きを使用する。
https://github.com/epgdatacapbon/BonDriverProxyEx/tree/decode よりソースコードを取得する。
さらに、https://github.com/epgdatacapbon/libaribb25 よりlibaribb25のソースコードを取得する。
BonDriverProxyEx¥aribb25 に libaribb25-master¥aribb25 の中身をすべて入れる。

Release x64にてビルドする。
ビルドの方法はhttps://enctools.com/bondriverproxyex-vs2019-build/ を参照されたい。[EncTools]サイトのオーナーthtsf氏に感謝を。情報がとても分かりやすく記載されていて、助かる。
Releaseディレクトリの BonDriverProxyEx.exe を C:¥DTV¥BonDriver にコピーする。
sample.ini を C:¥DTV¥BonDriver にコピーし、次のようにリネームする。
BonDriverProxyEx.ini
iniファイルの内容を適宜編集しておく。
今回はチューナーの数だけBonDriverを用意したので、iniファイルは次のようになる。

[BONDRIVER]
00=PX;BonDriver_BDA-D0.dll;BonDriver_BDA-D1.dll;BonDriver_BDA-D2.dll;BonDriver_BDA-D3.dll;BonDriver_BDA-D4.dll;BonDriver_BDA-D5.dll;BonDriver_BDA-D6.dll;BonDriver_BDA-D7.dll

UHFとBS/CSを分ける必要はない。
ここまでで、C:¥DTV¥BonDriver の中は次のようになる。
BonDriver_BDA-D0.dll
BonDriver_BDA-D1.dll
BonDriver_BDA-D2.dll
BonDriver_BDA-D3.dll
BonDriver_BDA-D4.dll
BonDriver_BDA-D5.dll
BonDriver_BDA-D6.dll
BonDriver_BDA-D7.dll
BonDriverProxyEx.exe
BonDriverProxyEx.ini
WinSCard.dll
WinSCard.ini

次にクライアント側ドライバを取得する。
https://github.com/u-n-k-n-o-w-n/BonDriverProxy よりソースコードを取得し、Release x64にてビルドする。
ビルドの方法はhttps://enctools.com/bondriver-proxy-vs2019-build/ を参照されたい。

Releaseディレクトリの BonDriver_Proxy.dll を C:¥DTV¥EDCB¥BonDriver、C:¥DTV¥TVTest¥BonDriver それぞれにコピーする。
C:¥DTV¥ProxyEx¥BonDriverProxyEx.ini も C:¥DTV¥EDCB¥BonDriver、C:¥DTV¥TVTest¥BonDriver それぞれにコピーし、次のようにリネームする。
BonDriver_Proxy.ini
クライアント側ドライバは一つずつあればいい。実際のドライバへの振り分けはBonDriverProxyExがやってくれる。
ここまでで、C:¥DTV¥EDCB¥BonDriver、C:¥DTV¥TVTest¥BonDriver の中は次のようになる。
BonDriver_Proxy.dll
BonDriver_Proxy.ini
iniファイルのBONDRIVER指定は、
BONDRIVER=PX
とする。


TVTest
TV視聴アプリにはTVTestを使う。定番、というか、PLEX TVを使わない場合はこれ以外無いだろう。
TVTestはバージョン0.7.23まではデスクランブル機能が内蔵されていたが、大人の事情でバージョン0.8以降はその機能が外された。そのため、今でもバージョン0.7.23を使っている人もいるようだが、ここでは最新版のバージョン0.10を使う。
最新版でもデスクランブルを可能にするプラグインが手に入る。が、ここで構築する環境ではそもそもTVTestでのデスクランブルは必要ない(が、動作テスト等のため、デスクランブル可能にしておくのが吉)。

TVTestのビルドは依存関係が面倒なので、そのあたりをすべて解消してくれるgitにてソースコードを取得する。
git clone --recursive https://github.com/DBCTRADO/TVTest.git
まず、LibISDB.slnをダブルクリックし、Release x64にてソリューションをビルドする。
続いて、TVTest_All.slnをダブルクリックし、Release x64にてビルドする。
Releaseディレクトリから次の2つをC:¥DTV¥TVTestディレクトリにコピーする。
TVTest_Image.dll
TVTest.exe
dataディレクトリの以下の内容をC:¥DTV¥TVTestディレクトリにコピーする。
Themes (ディレクトリごと)
TVTest_Logo.bmp (Data_x64ディレクトリのものと差し替え)
TVTest.chm
DRCSMap.sample.ini
TVTest.search.ini
TVTest.style.ini
TVTest.tuner.ini
C:¥DTV¥TVTest¥Pluginsディレクトリを作成する。
Samples内のReleaseの以下の *.tvtp をC:¥DTV¥TVTest¥Pluginsディレクトリにコピーする。
AutoSnapShot.tvtp
DiskRelay.tvtp
Equalizer.tvtp
GamePad.tvtp
HDUSRemocon.tvtp
LogoList.tvtp
MemoryCapture.tvtp
MiniProgramGuide.tvtp
PacketCounter.tvtp
SignalGraph.tvtp
SleepTimer.tvtp
SpectrumAnalyzer.tvtp
TSInfo.tvtp
TunerPanel.tvtp

EpgDataCapBon(EDCB)
EDCBにはいくつかの亜種(フォーク)がある。今回はxtne6f版EDCBを使う。
https://github.com/xtne6f/EDCB/releases よりコードを取得する。
ビルドの方法はhttps://enctools.com/edcb-vs2019-build/ が参考になる。
無事にビルドが完了したら、Release内の以下のディレクトリとファイルをC:¥DTV¥EDCBディレクトリにコピー(*.exe *.dll *.tvtp)する。
RecName (ディレクトリごと)
Write (ディレクトリごと)
EdcbPlugIn.tvtp
EpgDataCap_Bon.exe
EpgDataCap3.dll
EpgTimer.exe
EpgTimerAdminProxy.exe
EpgTimerPlugIn.tvtp
EpgTimerSrv.exe
SendTSTCP.dll
iniディレクトリの内容もC:¥DTV¥EDCBディレクトリにコピーしておく。
ここまでで、C:¥DTV¥EDCB の中は次のようになる。
HttpPublic
PostBatExamples
RecName
Setting
Tools
Write
Bitrate.ini
BonCtrl.ini
Common.ini
ContentTypeText.txt
EdcbPlugIn.tvtp
EpgDataCap_Bon.exe
EpgDataCap_Bon.ini
EpgDataCap3.dll
EpgTimer.exe
EpgTimer.exe.rd.xaml
EpgTimerAdminProxy.exe
EpgTimerPlugIn.tvtp
EpgTimerSrv.exe
EpgTimerSrv_Install.bat
EpgTimerSrv_Remove.bat
EpgTimerSrv_Setting.bat
SendTSTCP.dll
EpgTimerとTVTestを連携させるときは、上述のEdcbPlugIn.tvtpとEpgTimerPlugIn.tvtpはTVTest¥Pluginsに入れておく。

EpgTimerの設定で、[動作設定]→[全般]タブの[EpgTimerSrv設定]を開き、[基本設定]タブの『BonDriver(チャンネルスキャンを完了したものが表示されます)』にはBonDriver_Proxy.dllが表示されているはずだ(先にEpgDataCap_BonでBonDriver_Proxy.dllのチャンネルスキャンを実行)。それを選択し、チューナー数に8を指定しておく(うん、EDCBは秀逸だ)。

BonDriver_BDA-D(n).ini
後回しにしていたBonDriverの設定を行う。
先に、flymanの設定を示す。

; PX-MLT8PE用の地デジ/衛星放送兼用iniファイル
[IT35]
DebugLog=NO
RewriteIFFreq=YES
PrivateSetTSID="POSTTR"
DualModeISDB=YES
; LNB電源の供給を行う場合は下記を LNBPowerON=YESに書き換える
LNBPowerON=NO

[Tuner]
FriendlyName0="PXMLT8PE3 Multi Tuner Dual Mode ISDB BDA Filter #0"
FriendlyName1="PXMLT8PE3 Multi Tuner Dual Mode ISDB BDA Filter #1"
FriendlyName2="PXMLT8PE3 Multi Tuner Dual Mode ISDB BDA Filter #2"
FriendlyName3="PXMLT8PE5 Multi Tuner Dual Mode ISDB BDA Filter #0"
FriendlyName4="PXMLT8PE5 Multi Tuner Dual Mode ISDB BDA Filter #1"
FriendlyName5="PXMLT8PE5 Multi Tuner Dual Mode ISDB BDA Filter #2"
FriendlyName6="PXMLT8PE5 Multi Tuner Dual Mode ISDB BDA Filter #3"
FriendlyName7="PXMLT8PE5 Multi Tuner Dual Mode ISDB BDA Filter #4"
Name="PX-MLT8PE"
UseSpecial="IT35"
DVBSystemType="DVB-T"
DefaultNetwork="Dual"
NotExistCaptureDevice=YES
SignalLevelCalcType="TunerAdd"
QualityCoefficient=100

[BonDriver]
DebugLog=NO
BuffSize=0
MaxBuffCount=512
WaitTsCount=1
WaitTsSleep=100
; 録画用として使用する場合でCPU高負荷時等バッファーオーバーランによるDropが発生する場合は下記を調整すると効果があるかもしれません
;ThreadPriorityStream="THREAD_PRIORITY_HIGHEST"

[Channel]
ReserveUnusedCh=YES

[TuningSpace00]
TuningSpaceName="UHF"
ChannelSettingsAuto="UHF"

[TuningSpace01]
TuningSpaceName="BS"
CH000=1,11727.480,R,0,BS01/TS0,0x0,0x4010
CH001=1,11727.480,R,0,BS01/TS1,0x0,0x4011
CH002=1,11727.480,R,0,BS01/TS2,0x0,0x4012
CH003=1,11765.840,R,0,BS03/TS0,0x0,0x4030
CH004=1,11765.840,R,0,BS03/TS1,0x0,0x4031
CH005=1,11804.200,R,0,BS05/TS0,0x0,0x4450
CH006=1,11804.200,R,0,BS05/TS1,0x0,0x4451
CH007=1,11880.920,R,0,BS09/TS0,0x0,0x4090
CH008=1,11880.920,R,0,BS09/TS1,0x0,0x4091
CH009=1,11880.920,R,0,BS09/TS2,0x0,0x4092
CH010=1,11919.280,R,0,BS11/TS0,0x0,0x46b1
CH011=1,11919.280,R,0,BS11/TS1,0x0,0x46b2
CH012=1,11919.280,R,0,BS11/TS2,0x0,0x46b3
CH013=1,11957.640,R,0,BS13/TS0,0x0,0x40d0
CH014=1,11957.640,R,0,BS13/TS1,0x0,0x40d1
CH015=1,11957.640,R,0,BS13/TS2,0x0,0x46d2
CH016=1,11996.000,R,0,BS15/TS0,0x0,0x40f1
CH017=1,11996.000,R,0,BS15/TS1,0x0,0x40f2
CH018=1,12072.720,R,0,BS19/TS0,0x0,0x4730
CH019=1,12072.720,R,0,BS19/TS1,0x0,0x4731
CH020=1,12072.720,R,0,BS19/TS2,0x0,0x4732
CH021=1,12072.720,R,0,BS19/TS3,0x0,0x4733
CH022=1,12111.080,R,0,BS21/TS0,0x0,0x4750
CH023=1,12111.080,R,0,BS21/TS1,0x0,0x4751
CH024=1,12111.080,R,0,BS21/TS2,0x0,0x4752
CH025=1,12149.440,R,0,BS23/TS0,0x0,0x4770

[TuningSpace02]
TuningSpaceName="CS110"
CH000=1,12291.000,R,0,ND02/TS0,0x0,0x6020
CH001=1,12331.000,R,0,ND04/TS0,0x0,0x7040
CH002=1,12371.000,R,0,ND06/TS0,0x0,0x7060
CH003=1,12411.000,R,0,ND08/TS0,0x0,0x6080
CH004=1,12451.000,R,0,ND10/TS0,0x0,0x60a0
CH005=1,12491.000,R,0,ND12/TS0,0x0,0x70c0
CH006=1,12531.000,R,0,ND14/TS0,0x0,0x70e0
CH007=1,12571.000,R,0,ND16/TS0,0x0,0x7100
CH008=1,12611.000,R,0,ND18/TS0,0x0,0x7120
CH009=1,12651.000,R,0,ND20/TS0,0x0,0x7140
CH010=1,12691.000,R,0,ND22/TS0,0x0,0x7160
CH011=1,12731.000,R,0,ND24/TS0,0x0,0x7180

[IT35]セクションのLNB給電は、YESにしても機能しない。このチューナーにはアンテナ給電機能はない。
[Tuner]セクションのFriendlyNameは、なくてもかまわない。ただしPCに他のチューナーがある場合は、区別するためにGuidかFriendlyNameが必要になる。
PX-MLT8PEやPX-MLT5PEなどUHFとBS/CS兼用のチューナーでは、
DefaultNetwork="Dual"
が重要だ。詳しくはBonDriver_BDA_sample.iniに記載があるが、"Dual"は『BS/CS110とUHF/CATVのDual Mode』になる。
しかしflymanの環境では、ビルド済みDLLではこれがうまく動作しなかったので、ソースを弄ってビルドし直した。
もしビルド済みDLLを使用し、"Dual"がうまく動作しない場合は、UHFとBS/CSでBonDriverを分ければうまくいく。すなわち、BonDriverを16個コピーし、
BonDriver_BDA-T0.dll
BonDriver_BDA-T1.dll
BonDriver_BDA-T2.dll
BonDriver_BDA-T3.dll
BonDriver_BDA-T4.dll
BonDriver_BDA-T5.dll
BonDriver_BDA-T6.dll
BonDriver_BDA-T7.dll
BonDriver_BDA-S0.dll
BonDriver_BDA-S1.dll
BonDriver_BDA-S2.dll
BonDriver_BDA-S3.dll
BonDriver_BDA-S4.dll
BonDriver_BDA-S5.dll
BonDriver_BDA-S6.dll
BonDriver_BDA-S7.dll
とする。
iniファイルは、UHF用には
DefaultNetwork="UHF/CATV"
BS/CS用では
DefaultNetwork="BS/CS110"
とすれば良い。
これに合わせてBonDriverProxyEx.iniの内容を

[BONDRIVER]
00=PX-T;BonDriver_BDA-T0.dll;BonDriver_BDA-T1.dll;BonDriver_BDA-T2.dll;BonDriver_BDA-T3.dll;BonDriver_BDA-T4.dll;BonDriver_BDA-T5.dll;BonDriver_BDA-T6.dll;BonDriver_BDA-T7.dll
01=PX-S;BonDriver_BDA-S0.dll;BonDriver_BDA-S1.dll;BonDriver_BDA-S2.dll;BonDriver_BDA-S3.dll;BonDriver_BDA-S4.dll;BonDriver_BDA-S5.dll;BonDriver_BDA-S6.dll;BonDriver_BDA-S7.dll

とする。
EDCBとTVTestのBonDriverProxy.dllもUHF用とBS/CS用に分け、iniの記述も
UHF用
BONDRIVER=PX-T
BS/CS用
BONDRIVER=PX-S
にしておく。

16個もコピーするのはイヤだ、という人はBonDriverProxyExの使用をあきらめれば良い。それならば、
BonDriver_BDA-T0.dll
BonDriver_BDA-S0.dll
の2つでカバーできる。
あとはTVTestとEDCBそれぞれでデスクランブルするように設定すれば問題ない。

以上でインストールは完了だ。設定については別途調べてほしい。ググればネット上で有益な情報が見つけられるだろう。
フリーソフト、オープンソースソフトでこれだけの環境が作れてしまうのはすごいことだと思う。

なを クライアントPCに必要なのは、C:¥DTV¥TVTest ディレクトリの中身だ。
クライアントPCでも録画をしたいなら、C:¥DTV¥EDCB ディレクトリもコピーしておく。
サーバー側ではWindowsファイアウォールの受信側の規則に、TCPプロトコルのポート1192(デフォルト)の許可を追記しておく。

BonDriver、TVTest、EDCB、BonDriverProxyEx、それらに関連する多くのソフトを作成し公開して下さっている方々に感謝申し上げます。
また、ビルド、インストール、設定などの情報を公開して下さっている方々にも感謝申し上げます。

TS抜きチューナーカードを作成販売しているPLEX(株式会社プレクス)にもエールを送りたいと思います。ニッチだとは思いますが、今後も面白い製品作りを期待します。

動作チェックについて。