自宅で構築したPT2サーバと視聴環境。
これにより、外出先からでも、PT2を設置している地域の番組をリアルタイムで視聴出来るようになった。
しかし、すでに録画済み番組を外出先から見る方法は構築しておらず、こればかりは自宅に帰ってから視聴をしていた。見れれば便利かなと思いつつも、特別不便には感じていなかったので調べずにいたのだが、先日のエントリのコメントで「出先から録画番組を見る方法ないですか?」という質問をいただいたので、調べて構築してみることにした。
TCP経由でTSファイルを再生するソフト「tsfile2u」
調べたところ、TCPで
- ファイルの一覧
- TSファイルデータ
を送信するサーバ・クライアントソフト「tsfile2u」というのが公開されていることを知った。TCPであれば、ポート開放して外出先からも利用できるので、これを使ってみる。
仕組み
PT2サーバに「tsfile2u」のサーバソフトをインストール。視聴したいPCで「tsfile2u」のクライアントソフトを起動し、TSファイルの一覧を開く。TSファイルを選んだら、サーバ→クライアント→TVTestの流れでストリームデータを送信して、TVTestで視聴することとなる。
前提条件
当ブログの「PT2での地デジ録画&視聴サーバ構築・ソフト設定(クライアント)編」に沿った環境が構築されていることが前提となります。
必要な各種ランタイム
これから使用する各種ソフトで必要になってくる、Microsoftの各種ランタイムをあらかじめインストールしておく。
- Microsoft .NET Framework 4 (スタンドアロンのインストーラー)
- Microsoft Visual C++ 2010 再頒布可能パッケージ (x86)
- Microsoft Visual C++ 2010 再頒布可能パッケージ (x64)
(2番目と3番目は、OSのbitに合わせてどちらか片方)
他のソフトのインストールですでにインストールしている場合もあるが、念のため実行し、「修復する」が出ない限りはインストールしておく。
必要ソフトのダウンロード
今回の作業で必要なソフトは、
- tsfile2u
- EpgDataCap_Bon(に同梱されたいくつかのDLL)
の最新版。最初にこれらを入手しておく。ちなみにこの解凍作業は、PT2サーバ・クライアントどちらでも行う。
まず、tsfile2uのダウンロード。
色々掲載されているが、今日時点では「tsfile2u(0.2.17.0)」でOK。
これを解凍して出来たファイルを適当な場所にコピー。今回は例として
C:\PT2\tsfile2u
に全てコピーする。
次に、EpgDataCap_Bonのダウンロード。
色々掲載されているが、今日時点では「EpgDataCap_Bon(人柱版10.28)」でOK。
これを適当な場所に解凍しておく。その中にある
- x86\SendTSTCP.dll
を、tsfile2u.exeと同じフォルダにコピーする。
(64ビット環境の場合は「x64\SendTSTCP.dll」)
tsfile2uフォルダ内は下記の通りになる。
PT2サーバ側の設定
PT2サーバ側では、「tsfile2u_server.exe」を起動させる。起動させたら、設定を行う。
【TS保存フォルダ指定】
「追加」ボタンを押して、TSが入っているフォルダ(EDCBでの保存先)を指定する。サブディレクトリ許可・クライアント名称は環境に応じて設定。
【アクセスキー】
他人から勝手に接続されるのを防止するための暗証番号のようなもの。任意の文字列を指定する。
その他の項目
基本的には初期値のままでOK。ポートが他のアプリと重複する場合は、変更した方がよい。
設定が完了したら、「開始」ボタンでサーバ機能動作開始。
スタートアップ登録
「tsfile2u_server.exe」のショートカットをスタートアップに登録しておけば、次回PC起動時より自動的に起動する。
ただし、1点だけ注意が。アプリを実行しただけではサーバ機能は自動開始されない。そのため、ショートカットのプロパティを開いて、実行時引数に「start」を指定する。
例でいうと、リンク先を
C:\PT2\tsfile2u\tsfile2u_server.exe start
ポート開放設定
外出先からアクセスできるよう、ルータのポートを開放させてあげる必要がある。初期設定のままであれば、TCP/2029ポートとなる。
また、グローバルIPアドレスが時々変わる一般的なインターネット回線の契約で、IPアドレスでは無くホスト名で接続したい場合は、DDNSを活用するとよい。
その辺の概要については、過去自分が書いた記事が多少参考になるかも。
クライアントの設定
クライアント側では、「tsfile2u.exe」を起動させる。起動させたら、「設定」ボタンを押して設定を行う。
【読込設定】
「リモートサーバ」を選択。接続先にはグローバルIPアドレス、DDNS利用していればホスト名(hoge.dyndns.orgなど)、ローカル環境ならPT2サーバのPC名を設定。アクセスキーも、先ほどサーバで設定した暗証番号のようなものを入力。
その他の項目は初期値のままでよい。
いきなりグローバルでやるのはハードルが高いので、まずは自宅のネットワーク内でPT2サーバのPC名を入力しておいて、視聴テストするとよい。確認が取れたらDDNSやグローバルIPに変えて、出先からチェック。
【送信方法】
送信方法に「BonDriverTCP」を選択。ポートは、サーバ側の設定を変更してればそれに合わせる。原則初期値。
その他の項目は初期値のままでよい。
【視聴設定】
「視聴アプリケーション(TCP送信時)」に、クライアント編で設定済みのTVTest.exeを選択する。例でいうと下記になる。
C:\PT2Client\TVTest\TVTest.exe
「コマンドオプション」は、下記を入力。
/d BonDriver_TCP.dll /rch 1
その他の項目
基本的には初期値のままでよい。動画が途切れるようであれば、適時調整。
TVTestへのモジュール追加
TCPで送られてきたTSファイルを再生できるよう、TVTest側にもモジュールを追加する。
最初の方で解凍した「EpgDataCap_Bon」の中に含まれる
x86\BonDriver_TCP.dll
を、TVTestのインストールフォルダにコピーする。例でいうと、コピー先は
C:\PT2Client\TVTest\BonDriver_TCP.dll
になる。
(こちらは、OSが64ビットであっても「TVTest」が32ビット版であれば、「x86」の方を利用する)
いざ、再生
ここまで環境が整えば、再生が可能。
再生の流れは、tsfile2uサーバをあらかじめ起動させておき、
- tsfile2uクライアントを起動
- 「開く」ボタンでTSファイル一覧を表示
- 再生するTSファイルを選択
- TVTestが自動的に立ち上がり、再生開始
といった流れ。
画面で簡単に説明すると、まずはクライアントの起動。
「開く」を押すとTSファイル一覧が表示される。
ファイル数が多いと、操作できるまで数十秒かかり、フリーズしたっぽく感じるが、ちゃんと読み込んでいるので反応があるのでじっと待つ。
リストから選んで、「開く」ボタンを押す。すると、TVTestが立ち上がって、再生が開始される。
これで構築完了・・・だが、起動時にエラーが出たり、うまく再生できない場合は、
- 指定されたランタイムがちゃんとすべてインストールされているか
- 指定した場所にDLLがきちんとコピーされているか
- パーソナルファイアウォールやセキュリティソフトでポートがふさがれていないか
- ルータのポートが開放されているか
などを再チェック。
注意事項
tsfile2uは、同時に1接続しか出来ない仕様になっているため、複数台から同じPT2サーバに同時アクセスして利用したい場合は、ポートを分けてtsfile2uサーバを複数起動させる必要がある。詳しい方法は、tsfile2uに同梱のテキストを参照。
また、ちゃんと検証した訳ではないが、通信系ソフトにありがちなこととして通信中に回線切断等で再生が止った場合に、tsfile2uへのセッションのゴミが残ってしまい(tsfile2uがまだ繋がったままと誤認識)、再接続をしようとしても「同時1接続」の制約で繋がらなくなることが発生するかもしれない。
そうなったときはtsfile2uサーバを再起動しないといけないが、それはtsfile2u単体では無理なので、万が一の保守の面も考えて「UltraVNC」などもPT2サーバに導入しておくとよい。もちろん、こちらもポート開放が必要なので注意。
(リモートデスクトップは、ICカードリーダーの読取り制御を奪うことが多く、B-CASを見失うことがあるのでオススメしない)
構築を終えて
これで、外出先からも録画済み番組が視聴できるようになり、さらに便利になった。
自宅での検証はばっちり・・・だが、今日現在まだ外出先でテストしていないので、トラブル頻度などがどうなるかは未知数。この先実家に帰省した際などに、実用を兼ねて試験をしていきたい。
少なくとも、自宅でテストする限りはきちんと再生でき、長時間稼働も、頻度な再生ファイル変更も耐えたので問題なかった。
- 出版社/メーカー: アースソフト
- メディア: エレクトロニクス
- 購入: 9人 クリック: 1,003回
- この商品を含むブログ (31件) を見る