せっかくなので Proxmox 上に構築した仮想マシンに KTV-FSUSB2 をUSBデバイスのパススルーを使って接続してみました。これらがうまく動いてくれるか見ていきたいと思います。
各仮想マシンに USB デバイスを接続する過程は省略させていただきます。
Windows7 の場合
接続したところちゃんと認識してデバイスマネージャーに出現します。
しかしながらドライバのインストール後にどうしてもうまくいかず。!が付いたままとなりました。ドライバの署名関連でもなさそうなので Windows についてはひとまずコレで終了
CentOS の場合
必要なものは GitHub(https://github.com/sh0/recfsusb2n)からダウンロードしてきました。
$ unzip recfsusb2n-master.zip $ mv recfsusb2n-master recfsusb2n $ mkdir patch $ unzip recfsusb2n_http_patch2.zip -d patch $ cd patch $ cp Makefile ../recfsusb2n/src/ $ cp *.h ../recfsusb2n/src/ $ cp *.cpp ../recfsusb2n/src/
早速コンパイルしてみます。
yum install boost-devel cd src make
これではエラーが出てしまったので、以下のようにして em2874-core.cpp を開いてコンパイルできない点を修正.
123: if (!boost::filesystem::is_directory(*dev_iter)) { 124: // 開く 125: 126: std::string pp=dev_iter->path().string(); 127: if (pDev->openDevice(pp.c_str())) {
正常にmakeが完了すると recfsusb2n という実行体があるのでこれを適当な場所へコピーしておきます。
# cp recfsusb2n /usr/local/bin
それでは早速テストしてみます。適当に 30秒ほど録画してみました。このファイルを Windows7 などの環境へ持って行って確認してみます。
# recfsusb2n -vb 27 30 test.ts recfsusb2n ver. 0.9.2 ISDB-T DTV Tuner FSUSB2N device: /dev/bus/usb/001/005 pid = 2966 B25Decoder initialized. Sequence = 5, Quality = 0 Sequence = 7, Quality = 16.18 Sequence = 7, Quality = 36.18 Sequence = 8, Quality = 10.2 Sequence = 8, Quality = 0.04 Sequence = 8, Quality = 21.9
一見ちゃんと動いていそうなのですが、残念なことに、相当なドロップが発生してしまっており、正常な再生が出来る状況ではありませんでした。Windows に比べればここまで出来ましたのですこし惜しい感じです。
まとめ
USBデバイスのパススルーではうまく録画環境はつくれませんでした。もしかすると USB ボードごとをデバイスパススルーするとまた違った結果となるかもしれません。 未検証ですので、 VT-d 対応の Proxmox 環境作ってどなたかやってみてほしいと思います。