2011年01月09日
VirtualPT 開発経緯
デジタルAVパソコンを構築するにあたり、最初はOSにWindows Server 2008 (x86版)を選択したのですがクラッシュが頻発したので、このOSの使用をあきらめ64ビットOS上で32ビット版アプリケーションを動作させることで安定稼動させることが出来ました。この状況から少なからずいるであろう32ビットOSを使用されている方々は苦労されているのではないかと思い(後にXPの32ビット版では問題なく動作することが分かり32ビットOS全ての問題では無いことが分かりましたが)、32ビットOS上でも安定稼動するものが作れないかと考えたことが、私がPT2関連のアプリケーションを開発してみようと考えるきっかけとなりました。また、TV視聴ソフトであるTVTestの出来はとてもすばらしく、これがもしなかったらPT2の存在価値が無いと思えるほど十分な機能を備えたとてもすばらしいソフトなのですが、TV録画ソフトやEPG番組表ソフトは、必要十分な機能を備えているのでしょうが、ちょっと安定しなかったり、この機能はどうしても欲しいというものが無かったりと、すばらしいものではありますがあと一歩というものばかりだったので、TV録画ソフトやEPG番組表ソフトも後々開発していけたらと考えています。
PT2等の物理チューナーとTV視聴・TV録画ソフトの間を取り持つBonDriverというものがあります。「拡張ツール中の人」さんが考案した種類の異なるチューナーを同様に扱えるようにしたインターフェースでDLLで実装します。これまでに数種が開発されており、PT2で使えるものはBonDriver_PT2、BonDriver_PT-ST、BonDriver_PT-ST-shm、Spinelといったものが有ります。
名前 | 複数プロセスでデバイス共有 | 複数プロセスでチューナー共有 | 共有メモリ使用 | 32ビット・64ビット両対応 | ネットワーク対応 | スクランブル解除 | 備考 |
---|---|---|---|---|---|---|---|
BonDriver_PT2 | × | × | × | × | × | × | 開発者向けBonDriverという位置付け。運用には向かない |
BonDriver_PT-ST | ○ | × | × | ○ | × | × | 複数プロセスでデバイスを共有出来るように拡張したもの |
BonDriver_PT-ST-shm | ○ | × | ○ | × | × | × | BonDriver_PT-STの負荷を軽減する為に共有メモリを使用 |
Spinel | ○ | ○ | × | × | ○ | △ | 複数のBonDriverをラップし高機能化したBonDriver |
まず、VirtualPTの当面の目標としては、PT1・PT2専用とはなりますが、上記BonDriverの機能を網羅し、受信したデータを既存のTV視聴・TV録画ソフトになるべく少ない負荷で安定して放送波を供給することを目指します。さらには、ネットワーク越しのアクセスを可能にしたり、放送波のスクランブル解除をTV視聴・TV録画ソフトで行うのではなく、スクランブル解除されたデータを供給することも考えています。
VirtualPTが最終的に目指すところとしては、
- 安定稼動
- 常駐プロセスはサービス
- 32ビット・64ビット両対応
- 複数のアプリケーションで同一のチャンネルにアクセスする場合はチューナーを共有
- ネットワーク経由でアクセス可能
- ローカルコンピュータ内の通信は共有メモリ
- スクランブル解除をVirtualPT内で行い、視聴・録画ソフト側では行わない
- 1枚のBCASカードをネットワーク越しに共有
- 複数枚のBCASカードを分散管理
- 使いやすい番組表(チャンネルのグループ管理等)
- VirtualPT専用録画ソフト
- 外出時でも携帯から録画予約可能
- 録画ファイル再生機能
- wmv形式に変換しながらストリーミング配信
現バージョン迄で、実現したものは、
- 常駐プロセスはサービス 1.00~
- 32ビット・64ビット両対応 1.00~
- 複数のアプリケーションで同一のチャンネルにアクセスする場合はチューナーを共有 ver 1.00~
- ネットワーク経由でアクセス可能 ver 1.00~
- ローカルコンピュータ内の通信は共有メモリ 1.00~
- スクランブル解除をVirtualPT内で行い、視聴・録画ソフト側では行わない 1.03~
- 複数枚のBCASカードを分散管理 1.03~
となります。
「32ビット・64ビット両対応」については、やはり64ビットOS上では64ビットアプリケーションを使用した方がベストなパフォーマンスを発揮できると考えます。VirtualPTでは全てを両対応でと考えております。
Windows Server 2008 (x86版)でクラッシュが頻発した現象は、現バージョン(ver1.00)の時点では改善されていませんが、原因がスクランブル解除にありそう(スクランブル解除をせずに録画した場合は全く現象が起きなかったことから)というところまでは分かりました。なので、「スクランブル解除をVirtualPT内で行い、視聴・録画ソフト側では行わない」が完成した時点で改善できると考えています。
↑ver1.03ではVirtualPT側でスクランブル解除を行うことで改善されたことを確認しました。
「複数枚のBCASカードを分散管理」については、チャンネル毎にどのBCASカードを使うか(あるいはどれでも良い)という設定が必要になると思います。他にも必要条件があるかもしれません。あったら良さそうと思ったのですが、難易度のわりに必要とする方がどれだけいるのかが疑問なので、やらないかもしれません。
↑BCASカード1枚の処理能力があまり高くないことから負荷分散の意味でこの機能の実装意義があると判断し、ver1.03から実装しました。又、どのBCASカードがどのチャンネル(番組)に対応しているかの判断は自動で行うようにしました。
「録画ファイル再生機能」については、BonDriver_Fileという必要十分な機能を備えたものが既にあるのですが、64ビット版が無いためにTVTestも32ビット版を使わざるをえないといった方が(私も含めて)いらっしゃると思います。BonDriver_Fileの64ビット版があれば必要の無い機能と思います。
「wmv形式に変換しながらストリーミング配信」は、ノートパソコン等で無線LAN経由でTV視聴するにはビットレートを下げないと帯域が問題になるのではと思ってのことなのですが、使い方によってはインターネット経由で不特定多数に公開することも可能になってくるわけで、その辺のことがクリアできないと完成しても一般公開はしないかもしれません。他はなんとか開発&公開したいと考えています。
「安定稼動」については、上記のクラッシュ多発の様な現象を改善することはもちろんですが、使用していただいた方々から不具合報告がなくなった時に達成だと考えています。これが一番難易度が高く最後まで達成できないかもしれませんが、可能なものは改善していきたいと思いますので、不具合を発見しましたらぜひお知らせ下さい。
関連するアプリケーション群(BonDriver互換ソフト等も含めて)において、録画ファイルのコピープロテクトが掛からないことにより、不特定多数に公開される危険性があるわけですが、コピープロテクトが掛かるメーカー製の製品においても、DVD・ブルーレイ経由でコピープロテクトを外す方法があるわけで、そこが問題だとは考えておりません。使用する側のモラルの問題だと考えております。そして、関連するアプリケーション群を使われる大多数の方々はモラルを守って使用していると考えております。
トラックバックURL
コメント一覧
「VirtualPT設定例:基本編:③TVTest設定」ではBS・CSについては解説しておりません。TvRockをお使いの場合、以下のページを順番に説明どおりに操作してください。
「VirtualPT設定例:基本編:①設定準備」
「VirtualPT設定例:基本編:②VirtualPT設定」
「VirtualPT設定例:基本編:③TVTest設定」
「VirtualPT設定例:応用編:BS・CS設定」
「VirtualPT設定例:応用編:TvRock設定」
VirtualPTを導入しようとしましたが、途中で挫折しました
③TVTest設定 でbs,csがスキャンできませんでした。