Raspberry Pi 4で地上波TV向けの録画サーバーを構築しました。これまでnasneを利用していたのですが、まさかのディスコンとなったので録画サーバーに乗り換えました。
実際に構築したのは数ヶ月前で、これまで録画失敗やサーバーが落ちることなく安定して稼働しています。Raspberry Piを用いることで安価、かつコンパクトに録画サーバーを組むことができるのでオススメです。
もくじ
購入したもの
Raspberry Pi 4 Model B
6600円(4GB)、5500円(2GB)
最上位のメモリ4GBモデルを購入しましたが、2GBモデルでも十分だと思います。ただ、1100円しか変わらないなら上位モデルを買うのがオタクの性でしょう。
Amazonでも購入できますが、上記KSYから購入した方が送料込みでも安価です。
ACアダプタ
初期ロットのRaspberry Pi 4には電源まわりで問題があり、充電器やケーブルと相性問題がかなり起こります。家にあったdocomoの「ACアダプタ 07」で問題なく動作中。
専用ACアダプタも安価に流通していますが(1200円程度)、現在国内で販売されているRaspberry Pi 4は電源問題が修正済みの様なので、PD充電器と適当なType-Cケーブルでも動作すると思います。
microSDカード
Raspberry Piの安定稼働にはmicroSDの性能がかなり重要に思います。速度はそれほど気にする必要はありません。しかし、microSDに大量の読み書きを発生させるため(ログファイルなど)、数ヶ月で寿命を迎えてしまうことが多いようです。本来microSDってそういう使い方するものじゃないですからね。
ドライブレコーダー向けに高耐久microSDが各社から出ているのでオススメ。信頼できるSAMSUNGのPRO ENDURANCE 32GBを購入しました。1300円ほど。
チューナー
地デジチューナーはLinuxでの動作確認が取れているものであればなんでも良いと思います。今回はRaspberry Pi 3で動作報告のある「PX-S1UD」を2つ購入しました。PX-S1UDは一つのチューナーを内蔵し、USBバスパワーで動作します。2番組同時録画や、録画中に他のチャンネルをリアルタイム試聴したい、という場合は複数購入しましょう。4チューナーの「PX-Q1UD」もあります。PX-S1UD×4としてOSが認識するようなので、恐らく問題なく使えるかと思います。PX-S1UDは増やす度にアンテナ線の分配が必要になり鬱陶しいので、余裕があればPX-Q1UDを最初から買ってしまうのが良いと思います。
PX-S1UDは現在品薄気味?5000円弱ほどで購入できます。
PX-Q1UDが12000円台なので、3チューナー以上にする予定があるならこっちの方がいいです。
B-CASカード
TVやレコーダーに挿さっている赤や青のあのカードです。適当に調達してください。筆者は使わなくなったtorneのチューナーから取ってきました。ない場合は公式に2160円で買えるらしいです。
ICカードリーダー
B-CASカードを読むためのカードリーダーです。B-CASがないと放送の復号化ができず視聴できません。1700円ほど。動作実績のある以下のどちらかが良いでしょう。
分配器
ややこしいですが分波器じゃなくて分配器です。PX-S1UDを複数使用する場合、それぞれにアンテナ線を接続する必要があるため、分配器が必要になります。700円程度。
HDD
録画したTSファイルを保存するHDDです。とりあえず安価な2TBのHDDを利用していますが、TSファイルは1時間あたり7GB弱とサイズが大きいため、できるだけ大きめのものを選んでおくと無難。4TBで9000円前後。
総額いくら?
RAM4GBモデル、2チューナー、4TB HDDで構成した場合およそ3万円となります。1TB・2チューナーのブルーレイレコーダーが3万円台後半で購入できるため、ただ見て消すだけなら録画サーバーでなくてもいい気もします。でもTSファイル欲しいし、PCでテレビが見たい。
構築
Raspberry Piで録画サーバーを作成する系の記事は色々あるので、あえてこの記事では詳細な説明はしません。そこそこLinux触れる人なら大きく詰まることはないはず。
構成
今回構築した構成は以下の通り。
青の矢印は全てSambaによるネットワークマウントです。TSファイルのやりとりはネットワーク帯域を食うので、Raspberry Pi 4、iMac、M75q-1、NAS間は有線LAN接続です。
Raspberry Pi 4で録画したTSファイルを保存したフォルダをSambaで共有し、視聴用のiMac、エンコード用のM75q-1でマウントしています。iMacのVLCでTSを直接視聴したり、M75q-1にインストールされているエンコードソフト「Amatsukaze」でmp4へエンコードが行っています。
エンコードしたmp4はNASへ保存しているので、自宅内であればiPhoneやiPadから視聴が可能。ダウンロードして持ち出しもOK。Synology NASの機能で自宅にVPNを構築しているので、出先からiPhoneのブラウザで録画予約できます。
microSDへの書き込みを極力減らす
TSファイルは当然外付けHDDへ保存されますが、ログファイルやメモリのスワップはmicroSDに書き込まれ、microSDの寿命を縮める原因になります。
- ログをRAMディスクに書き込む
- 再起動するとログが消えるので、トラブル対応時には注意。
- スワップ領域を無効化する
- RAM2GB、4GBモデルならスワップ領域なしで問題ないはず。
上記2つとも、Raspberry Pi運用においてはよく行われることのようなので、ググるとやり方はすぐ分かるはず。
熱対策
Raspberry Pi 4は高性能故に熱もすごいです。録画サーバーは安定が命のため、ヒートシンク、ファン付きケースなどを用意しましょう。40℃後半で安定するので安心です。録画管理ソフトに何を選ぶか
Linux向けの録画管理ソフトは「chinachu」と「EPGStaion」が二強となっています。両方試した結果、chinachuを使うことにしました。スマートフォンのブラウザから使う場合はボタンの配置等の関係でEPGStationの方が使いやすいです。録画後に実行するスクリプトの指定機能など、後発のEPGStationの方が優れている箇所は多いですが、なんとなくデザインが好みなchinachuを使っています。
使い方
リアルタイム視聴
chinachuのライブ視聴ボタンからブラウザでリアルタイム視聴ができる、ように見えますが、Raspberry Pi 4の性能を持ってしてもこれは重すぎて動作しないようです。これはEPGStationでも同様な模様。
chinachu、EPGStationの裏で動作しているチューナー制御ソフト「mirakurun」がストリーミング用のAPIを持っているので、VLC等でリアルタイム視聴が可能です。
以下のようなファイルをリアルタイム視聴したいPCで作成し、拡張子「.m3u8」で保存します。
筆者は埼玉在住のため、地域により変わることに注意。GRの後ろに来る番号が物理チャンネル番号となります。このあたりが参考になります。
Raspberry Pi 4はデフォルトでmDNSにより「raspberrypi.local」で名前解決可能なはずですが、ダメな場合はローカルIPを直接指定して下さい。
ファイルをVLCで開くとリアルタイム視聴が可能。再生するPCとRaspberry Pi間のネットワークが安定していれば、かなり安定して視聴できます。
リアルタイム視聴にはチューナーが空いている必要があります。接続されているチューナーが全て録画中の場合、録画中のチャンネル以外はリアルタイム視聴ができません。
まとめ
Raspberry Pi 4上でも非常に安定して動作しています。実は一度だけ録画に失敗したことがあるのですが、チューナーのUSB接続が外れてしまっていたというケアレスミス。コンパクトでさらに一般的なサーバーより断然省電力であるため、録画サーバーを使ってみたいが場所や電気代の面で避けてきた方でも導入しやすいかと思います。