ラズパイ地デジ録画環境を安定させるには

Raspberry Pi地デジ関連記事

※22.12.25追記:Raspbrry Pi 4をお持ちの場合、令和5年(2023年)版最新記事が御座います。

Raspberry Pi OS 64ビット版のEPGStation環境構築手順 令和5年(2023年)1月版
先日、USBストレージから、64ビット版Raspberry Pi OSを起動できるようにしました。 こちらの環境に、4番組同時...

以下、令和2年(2020年)以前の記事になります。


Raspberry Piの地デジ録画環境を作成して、7ヶ月ほど試してみたのですが。

実は、最初に作成した「Raspberry Pi 4で地デジ4チャンネル同時録画するには」は、半年ほどで動かなくなりました。ある日突然、microSDカードが故障して起動しなくなりました。←重大

また日々の動作も不安定で、1週間おきにRaspberry Pi本体・ストレージ・チューナーともにコンセントを抜いて、再起動しないと安定しない状況でした。

その後、いくつか改良を加えて、現在は再起動しなくても安定した動作になっています。

そのあたりの、動作の安定化の工夫を記録しておこうと思います。


初期の不安定な録画環境

こちらが不安定だったときの環境です。次のような特徴です。

  1. OSはRaspbian(32ビット)を使用
  2. Raspberry Pi本体はプラケースを使用。空冷用のファンなし。
  3. ストレージ(HDD)とRaspberry Pi本体、チューナーを密着

上述の通り、この状況では、1週間おきに再起動が必要になりました。またmicroSDカードが破損して起動しなくなりました。

ここから、原因を考察してみます。


動作が不安定な理由の考察

本体の熱暴走

動作不安定な原因の1つが、熱暴走のようです。

以前、motionEye OSが安定動作せず、原因を探ったことがありました。

このときと同様に、地デジ録画でも、Raspberry Piの発熱量が大きく、プラケースでは熱暴走していたようです。

Raspberry Pi本体は、絶対的にアーマーケースがおすすめです。

他にアルミケース・プラケース、そして空冷用のファンを組み合わせる方法があります。

こちらはカメラやGPSモジュール等を内蔵して持ち歩く場合は向いていると思います。

サーバとして利用する場合ですが。ファンによる空冷は、騒音と電力の問題があります。よって、最初にアーマーケースで様子を見て、放熱能力が不足する場合、ファンを付けるほうが良いように思いました。

地デジチューナーの熱暴走

チューナーの動作も不安定になる場合があるようです。放熱の効率が上がるように、放熱用の穴が空いた面を上にして配置したほうが良いと思います。


OSを64ビット化

わたしのおうちで試した限りですが、使用するOSは、32ビットよりも64ビットのほうが安定している感じです。安定する理由は、同じ「地デジ録画」という動作でも、負荷(ロードアベレージ)が異なるからです。

負荷が異なる理由は、32ビットOSよりも、64ビットOSのほうが、同じ時間で取り扱えるデータが倍程度多いからだと思います。

地デジ録画は、ストリーム(電波信号)のデコード(映像に変換する)処理や、映像をファイルに保存する処理など、大量のデータを扱う系の動作かと思います。

このため、32ビット→64ビット化による効果や恩恵が大きいように思えます。

そのような理由から、同じ処理(地デジの録画)なら、64ビット環境のほうが、32ビットよりも負荷が少なく、発熱量が小さく、安定動作に貢献している感じがします。


microSDカードではなくHDDからブート

Mirakurunのログを見ていると、かなり高い頻度でEPGデータの受信が行われています。そしてEPGStationでmariadbを使用していますが、GRデータの入出力も頻繁かつ大量かと思います。

そのような感じで、microSDカードの寿命が短くなるような使い方になっています。

録画のためにRaspberry Pi 4のUSB 3.0端子にストレージを接続していますが、本当は、microSDカードではなくそちらからOSを起動したほうが、長期的な安定動作につながるかと思います。

このあたりは、Fedora 31のUEFIサポートと類似なのですが、Raspberry Pi 4のUSBストレージ起動のファームウェアの完成を待っている感じです。

※20.9.14追記:microSDカードさようなら

9月に入って、USB起動可能なブートローダーがリリースされました

まあ、今動かしている64ビット版の地デジ録画用microSDカードがどのくらいで壊れるかきになr人柱d

USB HDD起動に切り替えたところ、動作もずいぶん快適になりました。


ストレージの空き容量を多めに確保する

※21.1.1追記:

上記の対策を行ったにも関わらず、9月から12月にかけて、1ヶ月おきにフリーズすることがありました。これは仮説なのですが、どうもストレージの空き容量が20%を切ると、動作が不安定になる感じがしました。

安定動作のため、ストレージの空き容量は多めに(全体の30%、三分の一程度)開けておいたほうが良いように思えます。

そもそも、Raspberry PiをUSBストレージから起動した場合、microSDカードから起動した場合と比較して、レスポンス(応答速度)が早くキビキビと動く反面、定常時の負荷が高くなる傾向があるように思えます。具体的には、USBストレージから起動すると、ロードアベレージが常に1.0以上になります。

このあたり、本体の負荷/USBストレージの状態/動作の安定度に、なにか相関があるのかもしれません。


現在の安定した録画環境

現在は次の構成になりました。

  1. OSはUbuntu 20.04(64ビット)を使用
  2. Raspberry Pi本体はアーマーケースを使用
  3. ストレージ(HDD)とRaspberry Pi本体、チューナーを離して置く
  4. 注意:2020年9月現在、ハードウェア・エンコードは使用できないようです
  5. USB接続HDDブート

このようなちょっとした変更ですが、今は1週間おきの再起動は不要で、安定した録画環境になりました。

さらに、HDDブートの64ビットOSに変えてから、サーバとしての反応が驚くほど軽くなりました。EPGStationの番組表表示や、番組の視聴・再生開始時の反応等、32ビット+microSDカードの時よりずいぶんキビキビと動くようになりました。

とはいえこれで完成ではなく、264ハードウェアデコーダー等、まだまだ改良すべき部分がありますので、追々記事にしたいと思います。


Raspberry Pi地デジ関連記事

スポンサーリンク

フォローする

スポンサーリンク