その昔…LinuxでPT2/3で録画鯖を作って運用していたのですが、休止状態からの廃止という感じになってしまいました。
PayPayポイントが余っていたということもあり、録画鯖を久々に作りたいなとなんとなく思いました。
そこで調べるとPLEX「PX-Q1UD」の地デジ4チューナーがUSB接続ですし手軽で良さそうだなと思い、久々に構築してみようかなと重い腰を上げてみることにしました。
スティックPCのような外観
外箱の表
外箱の裏
本体と電源供給アダプタ
アダプタは使用しなくても動作する。
むしろ使うと挙動がおかしくなる情報もあったりする。
たぶん熱暴走状態になるんではないのかなと。
排熱用のメッシュな穴が空いているが、無いよりマシという感じ。
アダプターは 5.0V / 2.0A という感じ。
一旦WindowsのTVTestで試してみる。
「PX-Q1UD」は内部的に「PX-S1UD」が4つ分として認識される。これはWindowsだけではなくてLinuxでも同じようだ。
「PX-S1UD」1台、「PX-Q1UD」1台で試してみた。
一番上が「PX-S1UD」、そこから下4つが「PX-Q1UD」(本製品)
既出の情報で信号強度情報がバグっているというのは知っていた。
100dbとなるのは製品固有の問題でしょう。
もしくはBonDriverが「PX-Q1UD」としての個別実装がなくて、「PX-S1UD」の仕様で動作しているためだと推測する。
内部的に「PX-S1UD」と認識されてしまうので、判断方法が無いのかもしれない。
初期導入は知識あれば超カンタン。その後は試行錯誤。
初期構築などは下記で記載済み。
簡単に書くと・・・
・Minakurun+EPGStation(SQLite3)で簡単スピード構築した。
・リアルタイム視聴出来たり、リモート視聴が出来るので感動した。
・Dockerによる導入ではないので、システムの維持管理が大変そうと感じた。
以降は試行錯誤で安定稼働までやってみる。
BSの導入は・・・現時点で考えていない。
なお、現段階で電源供給アダプターは未使用で運用しています。
この製品は地デジ専用チューナー
我が家は地デジアンテナとBS/CSアンテナを混同でアンテナケーブルに流しています。
使う製品によっては、ケーブル1本の接続で地デジ・BS/CSと内部で処理してくるものもあれば、地デジ・BS/CSの接続口が別々で分波器を使わなければなりません。
この製品は地デジ専用です。
BS/CSの情報が入っている状態でも一応使用可能です。
可能であれば分波器を使って地デジ用として接続するほうがベストです。
更に言うと分波器のBS/CS側に終端抵抗を入れることで信号強度はより向上します。
用語として 分配器 と 分波器 があるので事前に理解しておく必要はあると思います。
どちらも使用していない接続口があった場合、終端抵抗を入れた方がよいでしょう。
熱対策
前情報で熱対策が必要と知っていたため、製品の外装を剥いで基盤に放熱処理を施した・・・。
開封して・・・
ケースから剥がして・・・
一応シールド剥がして確認・・・をした後、シールドを元の状態に戻す。
基盤直接当たる部分には格安中華の熱伝導シートを置いてアルミテープ(※)でクルクル巻いた。(写真を撮っていないが、後続で少し出る)
※アルミテープそのものは導電体ですが、粘着シールが絶縁体のため通常は問題ないはずです。しかし基盤から出ている電線のトゲでアルミテープが貫通したり、導電体部分に接触することがあるので、ハイリスク・ハイリターンな方法を使っています。
これで全方位で自然放熱が可能・・・と思っていた。
しかし、実際に使用して運用すると想定以上の発熱だったのでヒートシンクとファンが必要だなと感じました。
手で触れるかなくらいの温度。45℃くらいかな。
ヒートシンクとファン・・・いいもの無いかなと格納ボックスを漁る。
Intel CPUに付属していたリテールファンがあるじゃないですが。
電源は4ピンなので12V駆動かな。2配線だけ引っ張ってきて5VのUSB駆動でファン回らないかな。
最悪5Vから12V付近まで昇圧だ・・・という感じで電子工作やってみた。
参考画像はどこからか適当に持ってきてWindowsペイントで画像加工しましたが、配線としては+と-をUSB側に繋げばよいだけの簡単施工。
材料は左から順に
・アルミテープで巻かれた製品
・Intel製CPUクーラーを改造して5VUSBで動作するもの
・PCケースのHDD固定金具(放熱板用の廃材)
・中華製放熱シート
・写真には無いが結束バンド6本
CPUクーラーは未使用なので、裏面はこのような感じで。
ここにアルミテープで巻かれた製品を置く。
CPUクーラーと接着するところはアルミシールドがあった平らな面を押し付ける。
その上に適度に切った放熱シートを置く。
この時点で放熱シートのダブルバーガーです。
放熱はおまけとして主目的はクッションでしょうか。
CPUクーラーにあった設置のための4つのピンを外しておく。
固定用金具を上にどーん。
四隅の穴に結束バンドをいれる。
CPUクーラーの4つのピンがあった場所に通して固定する。
なんかそれっぽく完成。
ほぼ廃材(あまりもの)の寄せ集めです。
空冷までは過剰だったかなと思ったので、一旦ファンなしで稼働させて様子を見てみる。
ただ・・・夏場はファン稼働が必要な気がする。
信号強度の確認と改善
リアルタイム視聴は問題ない範囲内だと感じていたが、実際に録画したTSファイルを再生するとドロップ発生が酷い感じがした。
下記を参考にして信号強度の確認を一旦してみることにした。
https://yururi-do.com/px-q1ud-best-signal-strength-with-attenuator/
結果として、なぜか日テレが取得出来ない。
デバイス0でテストすべきだが、EPG取得で定期的に動いているのでデバイス1を指定して実行した。
NHKはデバイス1を使うと何故かエラーブロックが発生。デバイス0だと問題なかった。
神奈川県の家で計測しているのでtvkのシグナル値が強い。 (マイナス値が弱いほどシグナルは強い)
特定デバイスでエラーブロックが出るという情報が下記にもありました。うちはNHK総合でデバイス1で発生でしょうか。
参考:https://simplelife.pgw.jp/it/mini_hdd_recoder_with_rasberrypi4/
pcscはインストールされているが、pcscdは起動していない状態。
サービスを起動させると暫くしてサービスが停止する。
arib-b25-stream-testを使用しているときはカードリーダーが動作するようなので、pcscdサービスについてはこのままでも良さそう?と感じました。
Minakurunでインストールされるb25は通常のものよりファイルサイズが大きいので、特別な実装が盛り込まれているのだと推測する。
B-CAS暗号化の複合
前回の項目「信号強度の確認と改善」で同じことを書いているが、TSファイルを再生するとドロップ発生が酷い感じがした。
4つ同時に録画・・・単体というより複数で録画したときに減少が多く発生している気がする。
地デジチューナーとカードリーダーを仮想環境上にUSBパススルーして認識させている。
またMinakurunで録画中に暗号化の複合処理を同時に行っているというのが現状。
その録画ファイルが再生時にドロップする。
試しに録画したファイルをWindows環境に持っていき、b25.exeで再復号化すると問題なく視聴することが出来た。
つまり、復号化処理が一部行えていないということになる。
推測だが、複数同時に複合処理をするとカードリーダーの処理が追いついていなくて、一部暗号化が残ってしまうのでは・・・という感じだろうか。
上記の推測から、USBパススルーでUSBデバイスを割り当てたときに少し気になっていたことを思い出しました。。
カードリーダーが USB 1.x 認識しているという事実に。
もう少し探ってみよう。
ホスト側(仮想環境上ではない)のUSB出力コマンドを実行。
# lsusb -t
/: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/8p, 480M
|__ Port 3: Dev 79, If 0, Class=Hub, Driver=hub/4p, 480M
|__ Port 1: Dev 80, If 0, Class=Vendor Specific Class, Driver=usbfs, 480M
|__ Port 2: Dev 81, If 0, Class=Vendor Specific Class, Driver=usbfs, 480M
|__ Port 3: Dev 82, If 0, Class=Vendor Specific Class, Driver=usbfs, 480M
|__ Port 4: Dev 83, If 0, Class=Vendor Specific Class, Driver=usbfs, 480M
|__ Port 4: Dev 5, If 0, Class=Chip/SmartCard, Driver=usbfs, 12M
やはり、ホスト側で USB 1.x 認識しているようだ。
これを USB 2.0 に再認識させるようなコマンドや設定などの手段は無いものか。
USBの再接続やカードリーダーのみの接続をやっても USB 1.x になるようだった。
接続しているUSBポートは USB 3.0 です。
なのでUSBコントローラーの問題の可能性もありえる。
ダメなら複合処理の並列ではなく、直列で動作させるプログラムを作成しないとならない。
録画処理が終わったファイルを順番に復号化処理を施すプログラムだ。
マザーボードのUSB端子が2つしかないので、USBヘッダーピンから接続可能かどうかの方向も調べてみる。
USBヘッダーピンは5pinではなく4pin、しかも1レーンか・・・うーん。
カードリーダーをUSB 2.0接続させるために考えられる対策
- USB 1.1 から USB 2.0 接続へ切り替えるコマンドや設定の調査
- マザーボードのUSBヘッダーピンから接続してみる
- USB3.0ポートにUSB 2.0 のハブを接続してみてから、ハブにカードリーダーを接続してみる
- 最終手段・・・諦めてプログラム作成して回避する
これが解決しないと、録画鯖・・・とは言えない。
調査は続く・・・。
★2024-06-24追記
USB問題は判明した。筆者の知識不足だ。
USBの12Mというのは「USB 1.1 Full-Speed(12Mbps) = USB 2.0 Full-Speed(12Mbps)」
つまり等価だ。
カードリーダーの仕様にも書いてある。 USB 1.1対応だと。
USB 2.0で動作したとしても、USB 2.0 Full-Speed(12Mbps)で動作すると思われるので、何をしようと結果は変わらない。
諦めてプログラム作成することにした。
EPGStation の config.yml に recordingFinishCommand を追加してシェルプログラムを記載する。
これで録画完了後に自作プログラムが動作するようになる。
ひとまず、これで復号化が完全に出来るようになったため、再生出来ないという状況から脱することができた。
-
購入金額
14,000円
-
購入日
2024年06月13日
-
購入場所
Y!ショッピング
ZIGSOWにログインするとコメントやこのアイテムを持っているユーザー全員に質問できます。