スカパーのPC録画の構築手順
・以下に手順を全て終えた場合のPC内の環境を図式化しました。
構築手順終了後のPC内の環境 |
---|
構築手順終了後のフォルダ構成 |
---|
スカパーのPC録画構築手順を以下に示します。
今回は自身の環境で実施した手順の覚書です。ボードはPX-TBS6985とPX-W3PEです。
※構築にあたり「スカパー!プレミアムサービスをPCで録画」のHPを参考にしました。管理人様に感謝します。
(1)スカパー!アンテナの購入と設定(SP-AM600Mは2出力対応、4chならアンテナ2台分設置要)
(2)スカパー!プレミアム専用チューナーの購入(CDT700HDなど)
(3)スカパー!プレミアムサービスに加入
(4)スカパー!プレミアムボードの購入とPC取り付け(PX-TBS6985の4chボードなど)
(5)地デジチューナーの購入とPC取り付け(PX-W3PEなど、地デジが必要な場合)
(6)カードリーダーの購入とPC取り付け(スカパー!カードの読込み用でCLOUD2700など、地デジも追加なら2台分要)
(7)録画用サーバーPC(24時間稼動であれば、消費電力の少ない部品を準備)
(8)録画用クライアントPC(他の部屋で視聴する場合、視聴のみなので低スペックで)
(9)リモコン(GV-RCKIT3)の購入(パソコンとテレビを接続した視聴操作することを想定、サーバーとクライアント用2台分要)
(1)Microsoft .NET Framework 4
(2)Microsoft Visual C++ 2005 SP1 再頒布可能パッケージ ATLセキュリティ
(3)Microsoft Visual C++ 2008 SP1 再頒布可能パッケージ (x86)(x64)
(4)Microsoft Visual C++ 2010 SP1 再頒布可能パッケージ (x86)(x64)
(1)CLOUD2700-NTTComのドライバのインストール
(2)PX-TBS6985ドライバのインストール
(3)PX-W3PEドライバのインストール(追加)
(1)「スカパーTS抜きツール詰め合わせ」をネット検索し、入手する。
(2)「スカパーTS抜きツール詰め合わせ」内のBon_SPHD_BDA_PATCH_2の「GrabTsForBD.dll」と
「GrabTsForBD.dll登録.bat」をC:\Windows\SysWOW64フォルダにコピーする。
(3)コピーした「GrabTsForBD.dll登録.bat」をダブルクリックして実行し、登録する。
(1)Visual Studio Express 2013 for Windows Desktopの日本語をダウンロードファイルを入手し、インストール。
このバージョンは無料であるが、マイクロソフトのアカウントが必要である。
(2)「TVTest 0.9.0 develop」のソースを「デジタル放送汎用視聴プログラム実装研究資料」の「Download ZIP」から入手する。
(3)「TVCAS_attachment」のソースをネット検索で入手する。
(4)「Windows SDK for Windows7」を「MicroSoftのDownload Center」から入手し、インストール。(インストール時に必要なのはSampleのみ)
(5)入手した「TVTest 0.9.0 develop」ソースを解凍する。
(6)「Windows SDK for Windows7」をインストールした以下の場所の*.cpp、*.hの全てを解凍したTVTest 0.9.0の"\src\BaseClasses"にコピーする。
場所:"Program Files\Microsoft SDKs\Windows\v7.1\Samples\multimedia\directshow\baseclasses"
(7)解凍した「TVTest 0.9.0 develop」ソース内の「TVTest_All.VS2013.sln」を実行し、Visual Studio Express 2013を起動させる。
(8)Visual Studio Express 2013のメニューで「Debug」であったら「Release」に変更し、ソリューションのビルドを実行する。
(9)ビルドが成功していれば、解凍した「TVTest 0.9.0 develop」ソースのsrc\Win32\Releaseフォルダに
「TVTest.exe」と「TVTest_Image.dell」が生成される。
(10)TVTestフォルダ(TVTest_CS)を新規に作成し、その中に生成された「TVTest.exe」と「TVTest_Image.dell」を入れる。
(1)Visual Studio Express 2013のファイルの「プロジェクトを開く」から解凍した「TVTest 0.9.0 develop」ソース内の
\sdk\Samples\Samples.slnファイルを選択する。
(2)ライブラリのアップグレード画面が起動し、既存のファイルがVisual Studio Express 2013にアップグレードされる。
Visual Studio Express 2013のメニューで「Debug」であったら「Release」に変更し、ソリューションのビルドを実行する。
(3)ビルドが成功していれば、解凍した「TVTest 0.9.0 develop」ソース内の\sdk\Samples\Win32\Release\フォルダに*.tvtpファイル群が生成される。
(4)新規作成したTVTestフォルダ(TVTest_CS)内にPluginsフォルダー作成し、その中に生成された*.tvtpファイル群を入れる。
(1)「CasProcessor.tvtp」ソースをネット検索で入手し、解凍する
(2)解凍した「TVTest 0.9.0 develop」ソースのsrcフォルダの「TVTestPlugin.h」と「TVTestInterface.h」を「CasProcessor.tvtp」ソース内に上書きコピーする。
(3)「CasProcessor.tvtp」ソース内の「CasProcessor.cpp」の2170行目を以下のように修正する。
修正内容:Info.ConnectPosition = TVTest::TS_PROCESSOR_CONNECT_POSITION_POSTPROCESSING;
(4)「CasProcessor.tvtp」ソース内の「CasProcessor.rc」の11~13行目を以下のように修正する。
修正内容:AUTOCHECKBOX "EMM処理を行う(&M)",IDC_PROPERTIES_ENABLEEMMPROCESS,8,20,80,9
修正内容:RTEXT "使用する拡張命令(&E):",IDC_PROPERTIES_INSTRUCTION_LABEL,8,38,72,8
(5)Visual Studio Express 2013のファイルの「プロジェクトを開く」から「CasProcessor.tvtp」ソース内の「CasProcessor.sln」ファイルを選択する。
(6)ライブラリのアップグレード画面が起動し、既存のファイルがVisual Studio Express 2013にアップグレードされる。
Visual Studio Express 2013のメニューで「Debug」であったら「Release」に変更し、ソリューションのビルドを実行する。
(7)ビルドが成功していれば、「CasProcessor.tvtp」ソース内の\Win32\Releaseフォルダに「CasProcessor.tvtp」が生成される。
(8)新規作成したTVTestフォルダ(TVTest_CS)内のPluginsフォルダーに生成された「CasProcessor.tvtp」を入れる。
(1)解凍した「TVTest 0.9.0 develop」ソース内の\dataフォルダの「TVTest.chm」を新規作成したTVTestフォルダ(TVTest_CS)にコピーする。
(1)解凍した「TVTest 0.9.0 develop」ソース内のdata\Themesフォルダ内の*.httheme群を新規作成したTVTestフォルダ(TVTest_CS)に
「Themes」フォルダを作成し、その中にコピーする。
(1)「TVCAS_attachment」ソースをネット検索で入手し、解凍する。
(2)解凍した「TVCAS_attachment」ソース内のTVCAS\Multi2Decoder.hの18行目を以下のように修正する。
("@@"修正する箇所の行数を示しており、"-"が削除部分。"+"が追加修正部分)
-#define MULTI2_SIMD_ICC
+//#define MULTI2_SIMD_ICC
(3)解凍した「TVCAS_attachment」ソース内のICC\Multi2Decoder\Multi2DecoderSIMD.cppの2行目を以下のように修正する。
-#include "../../BonTsEngine/Multi2Decoder.h"
+#include "../../TVCAS/Multi2Decoder.h"
(4)解凍した「TVCAS_attachment」ソース内のTVCAS\CardReader.cppを以下のように修正する。
@@ -401,6 +401,19 @@
return false;
}
+// for SPHD
+// 初期化コマンドでスカパーHD用CASカードかどうか確認
+static const BYTE InitSettingCmd[] = {0x80U, 0x5EU, 0x00U, 0x00U, 0x00U};
+BYTE tmp[256] ;
+DWORD RecvSize = sizeof(tmp) ;
+if ( !Transmit( InitSettingCmd, sizeof(InitSettingCmd), tmp, &RecvSize ) ||
+RecvSize != 46 ) {
+Close();
+SetError(TEXT("スカパーHD用ではないカードです。"));
+return false;
+}
+// for SPHD
+
LPTSTR pszReaderName;
BYTE Atr[32];
DWORD dwReaderLen = SCARD_AUTOALLOCATE, dwState, dwProtocol, dwAtrLen = sizeof(Atr);
@@ -907,7 +907,7 @@
if (!GetLibraryFunc(m_hLib, pEstablishContext, "CasLinkEstablishContext")
|| !GetLibraryFunc(m_hLib, pListReaders, FUNC_NAME("CasLinkListReaders"))
|| !GetLibraryFunc(m_hLib, m_pCasLinkReleaseContext, "CasLinkReleaseContext")
-|| !GetLibraryFunc(m_hLib, m_pCasLinkConnect, "CasLinkConnect")
+|| !GetLibraryFunc(m_hLib, m_pCasLinkConnect, FUNC_NAME("CasLinkConnect"))
|| !GetLibraryFunc(m_hLib, m_pCasLinkDisconnect, "CasLinkDisconnect")
|| !GetLibraryFunc(m_hLib, m_pCasLinkTransmit, "CasLinkTransmit")) {
::FreeLibrary(m_hLib);
(5)解凍した「TVCAS_attachment」ソース内のTVCAS/CasCard.cppを以下のように修正する。
@@ -183,7 +183,9 @@
BYTE RecvData[RECEIVE_BUFFER_SIZE];
// 初期設定条件コマンド送信
-static const BYTE InitSettingCmd[] = {0x90U, 0x30U, 0x00U, 0x00U, 0x00U};
+// for SPHD s 用変更
+//static const BYTE InitSettingCmd[] = {0x90U, 0x30U, 0x00U, 0x00U, 0x00U};
+static const BYTE InitSettingCmd[] = {0x80U, 0x5EU, 0x00U, 0x00U, 0x00U};//
INITIAL_SETTING_CONDITIONS_CMD {CLA, INS, P1, P2, P3}
::ZeroMemory(RecvData, sizeof(RecvData));
dwRecvSize = sizeof(RecvData);
TRACE(TEXT("Send \"Initial Setting Conditions Command\"\n"));
@@ -192,11 +194,15 @@
return false;
}
-if (dwRecvSize < 57UL) {
+// for SPHD s 用変更
+//if (dwRecvSize < 57UL) {
+if (dwRecvSize < 46UL) {
SetError(ERR_TRANSMITERROR, TEXT("受信データのサイズが不正です。"));
return false;
}
+// for SPHD s 用変更
+/*
// レスポンス解析
m_CasCardInfo.CASystemID = ((WORD)RecvData[6] << 8) | (WORD)RecvData[7];
::CopyMemory(m_CasCardInfo.CardID, &RecvData[8], 6); // +8 Card ID
@@ -233,6 +239,13 @@
SetError(ERR_TRANSMITERROR, TEXT("カードIDが不正です。"));
return false;
}
+*/
+// レスポンス解析
+m_CasCardInfo.CASystemID = ((WORD)RecvData[0] << 8) | (WORD)RecvData[1]; // +0 CA System ID
+::CopyMemory(m_CasCardInfo.CardID, &RecvData[2], 6UL); // +2 Card ID
+::CopyMemory(m_CasCardInfo.SystemKey, &RecvData[8], 32UL); // +8 Descrambling system key
+::CopyMemory(m_CasCardInfo.InitialCbc, &RecvData[8], 8UL); // +8 Descrambler CBC initial value
+// for SPHD s 用変更
// ECMステータス初期化
::ZeroMemory(&m_EcmStatus, sizeof(m_EcmStatus));
@@ -407,7 +420,9 @@
}
// バッファ準備
-static const BYTE EcmReceiveCmd[] = {0x90, 0x34, 0x00, 0x00};
+// for SPHD s 用変更
+// static const BYTE EcmReceiveCmd[] = {0x90, 0x34, 0x00, 0x00};
+static const BYTE EcmReceiveCmd[] = {0x80, 0x34, 0x00, 0x00}; // ECM_RECEIVE_CMD {CLA, INS, P1, P2}
BYTE SendData[MAX_ECM_DATA_SIZE + 6];
BYTE RecvData[RECEIVE_BUFFER_SIZE];
::ZeroMemory(RecvData, sizeof(RecvData));
@@ -426,6 +441,8 @@
return NULL;
}
+// for SPHD s 用変更
+/*
// サイズチェック
if (dwRecvSize != 25UL) {
::ZeroMemory(&m_EcmStatus, sizeof(m_EcmStatus));
@@ -459,11 +476,35 @@
SetError(ERR_ECMREFUSED, ECM_REFUSED_ERROR_TEXT);
return NULL;
+*/
+// サイズチェック
+if (dwRecvSize != 22UL) {
+::ZeroMemory(&m_EcmStatus, sizeof(m_EcmStatus));
+// SetError(ERR_TRANSMITERROR, TEXT("ECMのレスポンスサイズが不正です。"));
+SetError(ERR_ECMREFUSED, ECM_REFUSED_ERROR_TEXT);
+return NULL;
+}
+
+// ECMデータを保存する
+m_EcmStatus.dwLastEcmSize = dwEcmSize;
+::CopyMemory(m_EcmStatus.LastEcmData, pEcmData, dwEcmSize);
+
+// レスポンス解析
+::CopyMemory(m_EcmStatus.KsData, &RecvData[0], sizeof(m_EcmStatus.KsData));
+
+// 正常終了
+ClearError();
+return m_EcmStatus.KsData;
+// for SPHD s 用変更
+
}
const bool CCasCard::SendEmmSection(const BYTE *pEmmData, const DWORD dwEmmSize)
{
+
+// for SPHD s 用変更
+/*
// 「EMM Receive Command」を処理する
if (!m_pCardReader) {
SetError(ERR_CARDNOTOPEN, CARD_NOT_OPEN_ERROR_TEXT);
@@ -516,6 +557,10 @@
SetError(ERR_EMMERROR, TEXT("EMMが受け付けられません。"));
break;
}
+*/
+// for SPHD s 用変更
+
+SetError(ERR_EMMERROR, TEXT("EMMが受け付けられません。"));
return false;
}
(6)解凍したTVCAS_attachmentソース内のTVCAS/TsDescrambler.cppを以下のように修正する。
@@ -1221,7 +1221,11 @@
if (PayloadSize < MIN_ECM_DATA_SIZE || PayloadSize > MAX_ECM_DATA_SIZE)
return false;
+// for SPHD s 用変更
+/*
// ECMが変わったらキー取得が成功するまで無効にする
+// (最初ECM本体のKsが変化したか比較するようにしたが、
+// ECM本体とECM応答のKsの変化は一致するわけではない)
m_Multi2Lock.Lock();
if (m_LastChangedKey == 1) {
m_bEvenKeyValid = false;
@@ -1229,6 +1233,7 @@
m_bOddKeyValid = false;
}
m_Multi2Lock.Unlock();
+*/
// 前のECM処理が終わるまで待つ
if (!m_EcmProcessEvent.IsSignaled()) {
(7)解凍した「TVCAS_attachment」ソース内のTVCAS\TVCAS_B25.hの14行目を以下のように修正する。
// for SPHD s 用変更
//#define TVCAS_MODULE_NAME "TVCAS B-25"
#define TVCAS_MODULE_NAME "TVCAS B-1"
// for SPHD s 用変更
(8)解凍した「TVCAS_attachment」ソース内のTVCAS\TVCAS_B25.hを16行目を以下のように修正する。
// for SPHD s 用変更
//#define TVCAS_MODULE_ORIGINAL_FILE_NAME "TVCAS_B25.tvcas"
#define TVCAS_MODULE_ORIGINAL_FILE_NAME "TVCAS_B1.tvcas"
// for SPHD s 用変更
(9)解凍した「TVCAS_attachment」ソース内のTVCAS\TVCAS_B25.defのファイル名を以下のように修正する
-TVCAS_B25.def
+TVCAS_B1.def
(10)解凍した「TVCAS_attachment」ソース内のTVCAS\CardReader.hの4行目に以下を追加修正する
+#define CARDREADER_SCARD_DYNAMIC_SUPPORT
+#define CARDREADER_BONCASCLIENT_SUPPORT
(11)Visual Studio Express 2013のファイルの「プロジェクトを開く」からTVCAS_attachmentソース内のTVCAS\TVCAS.slnファイルを選択する。
TVCAS_B25のプロジェクト名をTVCAS_B1に変更する。
Visual Studio Express 2013のメニューで「Debug」であったら「Release」に変更し、ソリューションのビルドを実行する。
(12)ビルドが成功していれば、「TVCAS_B1.tvcas」が生成される。
(13)新規作成したTVTestフォルダ(TVTest_CS)内に生成された「TVCAS_B1.tvcas」を入れる。
(1)「TVCAS_attachment」ソースをネット検索で入手し、解凍する。
(2)解凍した「TVCAS_attachment」ソース内のTVCAS\CardReader.cppを以下のように修正する。
@@ -907,7 +907,7 @@
if (!GetLibraryFunc(m_hLib, pEstablishContext, "CasLinkEstablishContext")
|| !GetLibraryFunc(m_hLib, pListReaders, FUNC_NAME("CasLinkListReaders"))
|| !GetLibraryFunc(m_hLib, m_pCasLinkReleaseContext, "CasLinkReleaseContext")
- || !GetLibraryFunc(m_hLib, m_pCasLinkConnect, "CasLinkConnect")
+ || !GetLibraryFunc(m_hLib, m_pCasLinkConnect, FUNC_NAME("CasLinkConnect"))
|| !GetLibraryFunc(m_hLib, m_pCasLinkDisconnect, "CasLinkDisconnect")
|| !GetLibraryFunc(m_hLib, m_pCasLinkTransmit, "CasLinkTransmit")) {
::FreeLibrary(m_hLib);
(3)解凍した「TVCAS_attachment」ソース内のTVCAS\Multi2Decoder.hの18行目を以下のように修正する
-#define MULTI2_SIMD_ICC
+//#define MULTI2_SIMD_ICC
(4)解凍した「TVCAS_attachment」ソース内のICC\Multi2Decoder\Multi2DecoderSIMD.cppの2行目を以下のように修正する。
-#include "../../BonTsEngine/Multi2Decoder.h"
+#include "../../TVCAS/Multi2Decoder.h"
(5)解凍した「TVCAS_attachment」ソース内のTVCAS\CardReader.hの4行目に以下を追加修正する
+#define CARDREADER_SCARD_DYNAMIC_SUPPORT
+#define CARDREADER_BONCASCLIENT_SUPPORT
・Visual Studio Express 2013のファイルの「プロジェクトを開く」からTVCAS_attachmentソース内のTVCAS\TVCAS.slnファイルを選択する。
Visual Studio Express 2013のメニューで「Debug」であったら「Release」に変更し、ソリューションのビルドを実行する。
(6)ビルドが成功していれば、「TVCAS_B25.tvcas」が生成される。
(7)新規作成したTVTestフォルダ(TVTest_CS)内に生成された「TVCAS_B25.tvcas」を入れる。
ビルド完了後のフォルダ構成 |
---|
BonCasClientはサーバー上のB-CASを使うように出来るらいし。
(1)「BonCasClient」ソースをネット検索で入手し、解凍する。
(2)解凍した「BonCasClient」ソース内のBonCasClient.cppを以下のように修正する。
@@ -122,7 +122,7 @@
*((LPCSTR *)mszReaders) = szReaderName;
return SCARD_S_SUCCESS;
}else{
-*pcchReaders = sizeof(szReaderName);
+*pcchReaders = sizeof(szReaderName) / sizeof(szReaderName[0]);
}
}
@@ -140,7 +140,7 @@
*((LPCWSTR *)mszReaders) = szReaderName;
return SCARD_S_SUCCESS;
}else{
-*pcchReaders = sizeof(szReaderName);
+*pcchReaders = sizeof(szReaderName) / sizeof(szReaderName[0]);
}
}
(3)解凍した「BonCasClient」ソース内のBonCasClient.rcを以下のように修正する。
-#include "afxres.h"
+#include "winres.h"
(4)Visual Studio Express 2013のファイルの「プロジェクトを開く」からBonCasClientソース内のBonCasClient.slnファイルを選択する。
Visual Studio Express 2013のメニューで「Debug」であったら「Release」に変更し、ソリューションのビルドを実行する。
(5)ビルドが成功していれば、「BonCasClient.dll」が生成される。
(1)「スカパーTS抜きツール詰め合わせ」をネット検索し、入手する。
(2)「スカパーTS抜きツール詰め合わせ」内のBon_SPHD_BDA_PATCH_2の「BonDriver_BDA.dll」と
「BonDriver_BDA.ini」を配置する前に「BonDriver_BDA.ini」のファイル名の変更と記述を編集する。
(3)「BonDriver_BDA.ini」の記述を以下ように修正する。
iniファイルの[Tuner]欄にある、Guid= の記述で呼び出すチューナーを指定しているので、
以下のようにGuid= の記述を編集すること。
; For TBS6985A
;Guid={9bb4f27f-515c-43ca-8e7d-f07c00080000}
; For TBS6985B
;Guid={9bb4f27f-515c-43ca-8e7d-f07c00080001}
; For TBS6985C
;Guid={9bb4f27f-515c-43ca-8e7d-f07c00080002}
; For TBS6985D
;Guid={9bb4f27f-515c-43ca-8e7d-f07c00080003}
(4)「BonDriver_BDA.dll」と「BonDriver_BDA.ini」のファイル名を以下のように変更し、新規作成したTVTestフォルダ(TVTest_CS)にコピーする。
※ファイル名はSpinelの配信も考慮した名前にしています。
BonDriver_DW2104_A.dll、
BonDriver_DW2104_A.ini
BonDriver_DW2104_B.dll
BonDriver_DW2104_B.ini
BonDriver_DW2104_C.dll、
BonDriver_DW2104_C.ini
BonDriver_DW2104_D.dll
BonDriver_DW2104_D.ini
(5)「BonDriver_TBS6981_ini_20150301」でネット検索、入手し、「BonDriver_DW2104_X.ini系」を
最新の新規開局・周波数変更情報に編集する。
(6)※PX-W3PE用BonDriverの「up0625.zip」をネット検索し、入手し、
新規作成したTVTestフォルダ(TVTest_CS)にコピーする。(必要であれば)
(7)「BonDriver_PX_W3PE_S0.ini」と「BonDriver_PX_W3PE_S1.ini」に以下の新規開局・周波数変更情報を追加編集する。
CHANNEL_NUM = 30
CH014 = BS5/TS0,0,11804200,0x4450
CH015 = BS5/TS1,0,11804200,0x4451
CH016 = BS7/TS0,0,11842560,0x4470
CH017 = BS7/TS1,0,11842560,0x4671
CH018 = BS11/TS0,0,11919280,0x46b0
CH019 = BS11/TS1,0,11919280,0x46b1
CH020 = BS11/TS2,0,11919280,0x46b2
CH021 = BS19/TS0,0,12072720,0x4730
CH022 = BS19/TS1,0,12072720,0x4731
CH023 = BS19/TS2,0,12072720,0x4732
CH024 = BS7/TS2,0,11842560,0x4672
CH025 = BS21/TS0,0,12111080,0x4750
CH026 = BS21/TS1,0,12111080,0x4751
CH027 = BS21/TS2,0,12111080,0x4752
CH028 = BS23/TS0,0,12149440,0x4770
CH029 = BS23/TS1,0,12149440,0x4771
CH030 = BS23/TS2,0,12149440,0x4772
(1)「TVTest 0.7.23 (x86)」をネット検索し、入手する。
(2)「TVTest 0.7.23 (x86)」の「BonDriver_UDP.dll」と「BonDriver_UDP.txt」をTVTestフォルダ(TVTest_CS)にコピーする。
(1)TVTestフォルダ内のTVTest.exeを実行する。
(2)TVTest画面で右クリックの「チューナー」で「BonDriver_DW2104_A.dll」を選択する。
TVTest設定画面 |
---|
(3)TVTest画面で右クリックの「設定」の「TSプロセッサー」でチューナーマップを作成する。
TVTest設定画面 |
---|
(4)TVTest画面で右クリックの「設定」の「チャンネルスキャン」でチャンネルをスキャンする。
TVTest設定画面 |
---|
(5)TVTest画面で右クリックの設定の映像で設定する。
映像を正しく表示するため、設定は以下のように設定して下さい。
デコーダ:Microsoft DTV-DVD Video Decoder、映像レンダラ:EVR
TVTest設定画面 |
---|
(1)「EpgDataCap_Bon(人柱版10.66)」をネット検索で入手し、解凍する。
(2)解凍した「EpgDataCap_Bon(人柱版10.66)」の「x86」フォルダとreadme等ファイル以外削除し、
フォルダ名を録画用フォルダ名に変更する。(TVTest_CS_EpgDataCap_Bon)
(3)TVtestフォルダに入れた各「BonDriver_DW2104_A.dll」「BonDriver_DW2104_A.ini」を
全てコピーして、「TVTest_CS_EpgDataCap_Bon」の「BonDriver」フォルダにコピーする。
(4)「up0739.zip」をネット検索で入手し、解凍し、その中の「B@Decoder.dll」と「B@@Decoder.dll」ファイルを
「TVTest_CS_EpgDataCap_Bon」フォルダにコピーする。(但し、Spinelを設定する際見直しをする)
(5)「EpgDataCap_Bon.exe」を起動。UDPにチェックし、「チャンネルスキャン」ボタンでスキャンする。
(6)EpgDataCap_Bonの「設定」ボタンをクリック
EpgDataCap_Bon設定画面 |
---|
(7)EpgDataCap_Bonの「設定」の「基本設定」タブで録画保存先を設定する
EpgDataCap_Bon設定画面 |
---|
(8)EpgDataCap_Bonの「設定」の「ネットワーク」タブで送信先一覧「127.0.0.1:1234」を追加する。
EpgDataCap_Bon設定画面 |
---|
(9)EpgDataCap_Bonの「設定」の「外部アプリケーション設定」で視聴用TVTest.exeを選択する。
(10)コマンドラインオプションに「/d BonDriver_UDP.dll /nd /p 1234」を記載する。
EpgDataCap_Bon設定画面 |
---|
(1)「TVTest_CS_EpgDataCap_Bon」内のEpgTimer.exeを起動し、設定をクリックする。
(2)EpgTimerの「設定」の保存フォルダの追加とスタートアップにショートカットを作成する。
EpgTimer設定画面 |
---|
(3)EpgTimerの「設定」の「チューナー」タブの各dllのチューナー数を1にする。
EpgTimer設定画面 |
---|
(4)EpgTimerの「設定」の「EPG取得」タブのサービスと開始時間を設定する。
(必要なサービスにチェックすれば取得時間の短縮になる)
EpgTimer設定画面 |
---|
(5)EpgTimerの「設定」の「録画操作」タブで録画時の処理を設定する。
24時間稼動であれば、「何もしない」を選択して下さい。録画マージは起動も考慮し長めにしています。
EpgTimer設定画面 |
---|
(6)EpgTimerの「設定」の「予約情報管理」タブで予約情報を設定する。
録画時のファイル名は「$Title2$($ServiceName$ $SDYYYY$-$SDMM$-$SDDD$).ts」で設定しました。
EpgTimer設定画面 |
---|
(7)EpgTimerの「設定」の「その他」タブで最小化などを設定する。
EpgTimer設定画面 |
---|
(8)EpgTimerの「設定」の「Windowsサービス」タブでサービスをインストールする。
番組表を設定し、予約録画を実施し、動作を確認します。
EpgTimer設定画面 |
---|
(1)テレビと同様にしようするため、リモコンのプラグインを設定します。使用するリモコンはGV-RCKIT3です。
但し、複数のリモコンは面倒なため、最終的に学習リモコンでまとめて使用しています。
(2)「up0410.zip」でネット検索し、入手したら解凍し、TVtestと同様の場所に設置する。(verはRMCLunch- 1.0.12が良い)
(3)TVTestのプラグインのHDUSリモコンをチェックする。
(4)RMCLunch.exeを起動させて、GV-RCKIT3がTVTestと連動して使用できるように設定する。
RMCLunch設定画面 |
---|
(1)録画した動画をレコーダのリモコンに近いことを行うための設定です。
(2)「TvtPlay」でネット検索し、入手したら解凍する。
(3)解凍したフィルタ内「のTvtPlay.tvtp」を再生用のTVTest/Pluginsにコピーする。(視聴用と再生用でフォルダを分けています)
(4)解凍したフィルタ内の「TvtAudioStretchFilter.ax」をD:\などにコピーする。
コマンドプロンプトを実行し、「regsvr32 D:\TvtAudioStretchFilter.ax」実行すれば登録は完了する。(倍速再生機能使用のため)
(5)解凍したフィルタ内の「BonDriver_Pipe.dll」ファイルを再生用TVTestにコピーする。
(6)再生用TVTest.exeを起動し、BonDriverの変更、音声フィルタの選定、TvtPlayのチェック、
ショートカットの起動オプションの設定です。(リンク先のTVTest.exeに/tvtplayを追加する。(起動時にTVtPlayが有効になる)
TvtPlayのBonDriver設定画面 |
---|
TvtPlayの音声設定画面 |
---|
TvtPlayのチェック設定画面 |
---|
TvtPlayの起動オプション設定画面 |
---|
(1)SpinelでチューナーをLAN内で共有するためのソフトです。
(2)サーバー側PCのプライベートIPアドレスを固定する。
ネットワーク設定画面 |
---|
(3)Spinel_ver3.6.1.1をネット検索し、入手したら解凍し、「Spinel3」フォルダを
「TVTest_CS」フォルダと同じ階層に設置する。
(4)新規作成のTVTestフォルダ(TVTest_CS)内の「BonDriver_DW2104_A.dll」と「BonDriver_DW2104_A.ini」群を用意し、
「Spinel3」フォルダ内の「BonDriver」フォルダに全てコピーする。
フォルダ内画面 |
---|
(5)Spinel.exeを起動し、正しく表示しているか確認し、終了させる。(spinel.exeを右クリックして管理者権限にチェック)
※Spinelで認識しないボードは「Spinel3」フォルダ内にある「BonDriverMapping.json」と
「Spinel3」フォルダ内の「DeviceDefinitions」内の「*.xml」ファイルを追加編集する。
今回のボードはそのファイルに記述があるため、追加編集は必要無いです。但し、手順通りにリネームすればです。
Spinel起動画面 |
---|
(6)Spinelフォルダ内に前回入手した「B@Decoder.dll」「B@@Decoder.dll」を配置する(解除をSpinelで実施するため)
(7)Spinel3\Spinel.ini内の設定を「DescrambleControl = 1」に編集し、上書き保存する。
(1)「BonDriver_Spinel_ver3.5.3.0」をネット検索し、入手したら解凍する。
(2)「BonDriver_Spinel3」の中にある「BonDriver_Spinel.dll.ini」を「BonDriver_Spinel_DW2104_X.dll.ini」と
4ch分リネームする。(XはA,B,C,Dとした)
(3)「BonDriver_Spinel3」の中の「x86」フォルダの「BonDriver_Spinel.dll」を「BonDriver_Spinel_DW2104_X.dll」と
4ch分リネームする。(XはA,B,C,Dとした)
(4)リネームしたiniとdllファイルを新規作成したTVTestフォルダ(TVTest_CS)にコピーする。
※PX-W3PE用のBonDriver_Spinel系も追加する。(必要であれば)
配置したフォルダ画面 |
---|
(5)リネームしたPX-TBS6985の「BonDriver_Spinel_DW2104_X.dll.ini」系を以下のように編集する。
「BonDriver_Spinel_DW2104_A.dll.ini」⇒「TunerPath = "DW2104/0/S/0"」に編集する。
「BonDriver_Spinel_DW2104_B.dll.ini」⇒「TunerPath = "DW2104/1/S/0"」に編集する。
「BonDriver_Spinel_DW2104_C.dll.ini」⇒「TunerPath = "DW2104/2/S/0"」に編集する。
「BonDriver_Spinel_DW2104_D.dll.ini」⇒「TunerPath = "DW2104/3/S/0"」に編集する。
「RequireExclusiveChannelControl = 0」に編集する。
「DesiredDescrambleControl = 2」に編集する。
(6)リネームしたPX-W3PEの「BonDriver_Spinel_PX_W3PE_XX.dll.ini」系を以下のように編集する。(必要であれば)
「BonDriver_Spinel_PX_W3PE_S0.dll.ini」」⇒「TunerPath = "PXW3PE/0/S/0"」に編集する。
「BonDriver_Spinel_PX_W3PE_S1.dll.ini」」⇒「TunerPath = "PXW3PE/0/S/1"」に編集する。
「BonDriver_Spinel_PX_W3PE_T0.dll.ini」」⇒「TunerPath = "PXW3PE/0/T/0"」に編集する。
「BonDriver_Spinel_PX_W3PE_T1.dll.ini」」⇒「TunerPath = "PXW3PE/0/T/1"」に編集する。
「RequireExclusiveChannelControl = 0」に編集する。
「DesiredDescrambleControl = 2」に編集する。
(7)Spinelの最小化設定
「いじくるつくーる」のソフトを使用し、「F:\TV_Viewing\Spinel3\Spinel.exe -WindowState=Minimized」と
指定することで最小化起動が出来ます。(その他にスタートアップの設定もできます)
(8)Spinelを起動した状態で「BonDriver_Spinel_DW2104_X.dll」で視聴できるか確認する。
(9)必要であれば、TVTestの追加設定(スキャン、チューナーマップ)を実施する。
最小化設定画面 |
---|
(1)BonCasClientのビルドで修正した「BonCasClient.dell」と「BonCasClient.ini」を
新規作成したTVTestフォルダ(TVTest_CS)にコピーする。この「BonCasClient」使用するため、
TVTest_CSのTVTest.exeを起動し、「設定」のチューナーマップを以下のように修正する。
チューナーマップの再設定画面 |
---|
(1)今後はSpinel.exeを通して視聴と録画を行うため、SpinelのBonDriver_Spinelの追加修正を実施する。
(2)「TVTest_CS_EpgDataCap_Bon」の「BonDriver」にSpinelのBonDriver_Spinelのdll、iniをコピーし、
EpgDataCap_Bon.exeを起動させ、チャンネルスキャンを実施する。
(3)BonDriver_Spineのiniは「RequireExclusiveChannelControl = 1」に編集する。(録画を最優先にするため)
(4)EpgTimer.exeを起動させ、「設定」の「基本設定」の「チューナー」をSpinelのdllに再設定する。
(5)予約録画可能か再度確認する。
EpgDataCap_BonのBonDriverのフォルダ内画面 |
---|
EpgTimerの設定画面 |
---|
(1)基本はサーバーのTVTest_CSフォルダをクライアントPCにコピーする。
(2)TVTest_CSフォルダの各iniファイルは「Address = "192.168.0.2:48083"」のようにサーバーのIPアドレスに編集すること。
(3)クライアント側でTVTestを起動させ、視聴できれば成功です。(当たり前ですが、サーバー側は必要なソフトは起動して下さい)
(1)ランタイムMicrosoft .NET Framework 4.0または4.5の導入(TVTestなどを導入していれば、インストールはしているかと)
(2)ポート40003へのアクセスを許可させる。ここでは「Windowsファイアウォール」の「受信の規則」の「新しい規則」で
ポート40003のアクセスを許可設定させる。
受信の規則の設定画面 |
---|
受信の規則の設定画面 |
---|
受信の規則の設定画面 |
---|
(3)使用可能なブラウザをインストールする(Chromeなど)。
(4)Flash Playerの導入(ブラウザを使用し、ストリーミング配信するため、必要)
(5)配信PCのIPアドレスを固定する。(Spinelの導入で固定済み)
(1)TvRemoteViewer_VBを「http://vb45wb5b.seesaa.net/」のHPよりダウンロードし、解凍する。(最新版で良い)
フォルダをリネーム(TvRemoteViewer_VB)し、TVTest_CSと同等の場所に設定する(上層からのフォルダ名は日本語を使用しないこと)
(2)「TvRemoteViewer_VB」フォルダ内に「html」フォルダを作成する。「TvRemoteViewer_VB」フォルダ内の
「_設置用ファイル\ HTML_WWWROOTに・・・」内のファイルを全て「html」フォルダにコピーする。
(3)「TvRemoteViewer_VB」の「html」内に「stream」フォルダを作成する。
(4)「TvRemoteViewer_VB」フォルダの同じ階層に[ffmpeg」フォルダを作成する。次に「http://ffmpeg.zeranoe.com/builds/」のHPから
OSに合った「Download FFmpeg git-affbecb 64-bit Static」をダウンロードし、解凍する。中身全てを[ffmpeg」フォルダにコピーする。
(5)[ffmpeg」フォルダ内の「presets」フォルダに「TvRemoteViewer_VB」フォルダ内の「設置用ファイル\ffpreset_ffmpeg・・・」の
libx264-ipod640.ffpresetファイルをコピーする。
(6)「TvRemoteViewer_VB」フォルダの同じ階層に[RecTask」フォルダを作成する。 次に「http://www1.axfc.net/uploader/so/3047953」
のHPからRecTaskをダウンロードし、解凍する。その中の「RecTaskCentre.exe」、「RecTask.exe」、「RecTask.default.ini」の
3つのファイルを「RecTask」フォルダにコピーする。
(7)TVTestから「BonDriver_Spinel系のdll,ini,ch2」と「BonCasClient.dll」と「BonCasClient.ini」を「RecTask」フォルダにコピーする。(PX-TBS6985とPX-W3PEのBonDriver_Spinel系の全てコピーする)
(1)「http://vladi.cocolog-nifty.com/blog/files/TvRemoteFiles_133.7z」のHPからカスタマイズファイルをダウンロードし、解凍する。 (最新版はVladiのブログのストリーミング視聴環境よりダウンロードして下さい)
(2)解凍した「html」フォルダの中身を「TvRemoteViewer_VB」の「html 」に全て上書きコピーする。
(3)解凍した「root」フォルダの中身を「TvRemoteViewer_VB」フォルダに全て上書きコピーする。
(4)解凍した「RecTask」フォルダのRecTask.ini を「RecTask」にコピーする。
(5)コピーしたRecTask.iniを「General.CardReader=BonCasClient」と編集する。(RecTaskを使用するために、BonCasClientが必要)
TvRemoteViewer_VBフォルダ構成 |
---|
(1)「TvRemoteViewer_VB」フォルダの「TvRemoteViewer_vb.exe」をダブルクリックで起動させる。タスクトレイにアイコンが 立ち上がるため、ダブルクリックで設定画面を起動させる。以下のように場所を指定する。
TvRemoteViewer_VBの設定画面 |
---|
(2)「TvRemoteViewer_vb.exe」の設定ファイルを編集をクリックし、「TvRemoteViewer_VB.ini」ファイルを編集する。
(3)「tsfile_wait = 2」に編集する。
(4)「STOP_IDLEMINUTES = 0」に編集する。
(5)「VideoPath = "F:\01_動画"」に再生させるファイル場所に編集する。
(6)「VideoExtensions = ".ts", ".mp4"」に編集する。
(7)「TvProgramD = 23」を地デジ番組表で表示する地域の番号に編集する。
(8)「TvProgram_EDCB_url = "http://127.0.0.1:5510/api/EnumEventInfo"」に編集する。
以上を編集し、TvRemoteViewer_VB.iniを保存し、TvRemoteViewer_VBを再起動する。
(9)「いじくるつくーる」で「起動時に毎回実行」に設定する。
スカパープレミアムの配信の運用にはRecTask for SPHDを使用します。
(1)ファイルは「http://www1.axfc.net/u/3448144」よりダウンロードし、解凍する。
(2)「TvRemoteViewer_VB」フォルダの同じ階層に解凍したフォルダを「RecTask_SPHD」とリネームし、配置する。
(3)「RecTask」フォルダ内の「BonDriver_Spinel系のdll,ini,ch2」と「BonCasClient.dll」と「BonCasClient.ini」、「RecTask.ini」を
全てコピーする。
(4)「TvRemoteViewer_vb.exe」の設定ファイルを編集をクリックし、「TvRemoteViewer_VB.ini」ファイルを編集する。
「RecTask_SPHD ="F:\TV_Viewing\TvRemote\RecTask_SPHD\RecTask_SPHD.exe"」のように編集する。
これによりスカパー、地上デジの両方が視聴できるようになります。(なぜ、この方法で両方視聴できているかは良く分かっていません)
RecTask for SPHDのフォルダ構成 |
---|
(1)同じPCからChromeブラウザから「http://127.0.0.1:40003/」入力し、トップメニューが表示されます。
EDCB番組表の視聴をクリックし、映像が視聴可能か確認する。(ファイヤーウォールが出た場合は許可させる)
(2)スマホから「http://PCのIPアドレス:40003/」入力し、PC上と同様の視聴が可能か確認する。
ブラウザの視聴画面 |
---|
外部から自宅にアクセスする際、必要なダイナミックDNSサービスに登録する必要があります。
(1)「MyDNS.JP」のサイトでDynamicDNSサービスを登録する。
(2)「MyDNS.JP」のサイトの「JOIN US」をクリックし、情報を入力する。
(3)登録が完了したらメール(ログ、パス)が来ますので「MyDNS.JP」のサイトにログインする。
(4)固定化のドメイン名を設定する。
(5)自宅の無線LANのPPTPサーバーを設定する。
MyDNS.JPサイト |
---|
登録情報入力画面 |
---|
PPTPサーバーの設定画面(バッファロー) |
---|
ダイナミックDNSサービスを登録したが、IPアドレスが更新されたら、手動で更新作業をする必要がある。
「DiCE」ソフトを使うことで自動化することが可能である。
(1)「DiCE」のHPよりDiCE for WindowsVersion 1.59の「Download MSI Package」をダウンロードし、インストールする。
(2)「DiCE」のメニューの「イベント」から「追加」をクリックし、イベントの編集画面が表示される。
以下のように設定する。
(3)「いじくるつくーる」で「起動時に毎回実行」に設定する。
DiCEの設定画面 |
---|
(1)スマホのVPN設定で取得したドメインと無線LANのPPTPサーバーのアカウントを入力設定する。
(2)スマホから「http://PCのIPアドレス:40003/」入力し、PC上と同様の視聴が可能か確認する
スマホのVPN設定画面 |
---|