LibreELECで地デジを楽しむためにMirakurunとEPGStationを一発で動かす
ステイホーム
↓
おうち時間が増える
↓
テレビを見たくなる
↓
Raspberry Piで地デジを見る

地上デジタル放送をRaspberry Piで視聴する定番の組み合わせを、ノーコード・コマンドライン操作なしに、すなわち一発でセットアップできるようにした。

Table of Contents

  1. ソフトウェア構成
    1. LibreELEC
      1. Sambaファイル共有サービス
      2. Dockerアドオン
    2. Mirakurun
    3. EPGStation
    4. pvr.epgstation
    5. Harekaze2 PVR Repository
  2. 用意するもの
  3. 導入
    1. 1. LibreELECのイメージをRaspberry Pi Imagerで書き込む
    2. 2. Raspberry Piを準備する
    3. 3. LibreELECを起動してセットアップを進める
    4. 4. リポジトリのzipをSambaで転送する
    5. 5. アドオンマネージャからリポジトリアドオンをインストールする
    6. 6. アドオンのインストール
    7. 7. EPGStation録画先の変更
    8. 8. pvr.epgstationの設定
    9. +α. 音ズレの解消
  4. これまでの構成との比較
  5. まとめ

ソフトウェア構成

どういったソフトウェアを用いるのか見ていこう。

LibreELEC

LibreELEC – Just enough OS for KODI

メディアセンターアプリケーションとして名を馳せるKodiを動作させることに特化したOS。 類似のものにosmcOpenELECがあるが、もっとも活発にメンテナンスされているのはLibreELECだ(執筆時)。

Kodiはアドオンというプラグインシステムで機能やサービスの拡張ができる。 そのアドオンを管理するためのアドオンマネージャという、言わばパッケージマネージャをKodiは有しており、依存関係の解消やアドオンリポジトリの管理などを担っている。 システムユーティリティなどを管理することもあることから、LibreELECのようなKodiのみを動かすことを想定しているOSでは、ベースとなるLinuxのパッケージマネージャを使うのではなく、Kodiのアドオンマネージャを利用するのが筋といったところだ。

LibreELECが優れている点として、2つの大きな特徴がある。Sambaの標準搭載とDockerアドオンの存在だ。

Sambaファイル共有サービス

Samba config

ネットワークファイル共有のデファクトであろうSamba。そのSambaファイル共有サービスがLibreELECに標準で組み込まれていて、初回セットアップ時に有効にできる(もちろん後から変更できる)。 これによって、コマンドラインを操作する必要なくLibreELECにmacOSやWindowsからファイルを転送できる。

Samba file sharing

Dockerアドオン

Docker addon

LibreELECでDockerを動かすためのDockerアドオンが、LibreELECの公式アドオンリポジトリから提供されている。 Raspberry PiでもDockerは動くため、arm/arm64プラットフォーム向けのDockerイメージであれば、アドオンの形でサービスを手軽に動作させることができるのだ。

参考: Docker comes to Raspberry Pi - Raspberry Pi

Mirakurun

TVチューナーサーバーサービスであるMirakurun。 先日メジャーバージョンアップがあり、ドライバのインストールを不要としたりDocker対応が強化されたりと、より手軽に導入できるようになった。

Dockerイメージはdocker-composeで自分でビルドして利用するようにあるが、Docker Hubにも公開されている。 ただ、公開されているイメージにはRaspberry Piでネイティブに動作するarm/arm64プラットフォーム向けのものが含まれていなかったため、追加するPRを送って無事マージされた。 これでRaspberry PiでもDockerイメージのビルド不要でTVチューナーを扱えるようになる。

リリースtagを打つときにarm/arm64ビルドのDockerイメージも作成する by mzyy94 · Pull Request #72 · Chinachu/Mirakurun

そして、LibreELECのDockerアドオンに対応したMirakurunアドオンを作成した。これをLibreELECのKodiに導入することで、TVチューナーサーバーを手軽に立ち上げられるようになる。

GitHub - Harekaze/docker.harekaze.mirakurun: Mirakurun Docker addon for LibreELEC

EPGStation

Mirakurunを使っていい感じにWebブラウザから地上デジタル・衛星放送の録画管理と視聴をするためのアプリケーション。こちらもDocker対応があり、Raspberry Piでも動作するarm/arm64イメージも提供されている。

Mirakurunと同じくして、LibreELEC向けのDockerアドオンに対応したEPGStationアドオンを作成した。

GitHub - Harekaze/docker.harekaze.epgstation: EPGStation Docker addon for LibreELEC

pvr.epgstation

KodiでEPGStationを管理・視聴するためのKodiアドオン。自分で作った。誕生話は以下から。

このアドオンはLibreELECに依存していないため、macOSやWindows上のKodiでも利用できる。

GitHub - Harekaze/pvr.epgstation: EPGStation for Kodi! A Kodi PVR addon of EPGStation

Harekaze2 PVR Repository

これらのアドオンをまとめて提供するアドオンリポジトリも作った。GitHub Actionsで自動デプロイするように工夫してある。

GitHub - Harekaze/repository: Remote binary repository

repo.harekaze.orgからアドオンリポジトリのアドオンをダウンロードし、LibreELECのKodiにインストールすることで、アドオンマネージャで管理できるようになる。さらに自動更新にも対応するので、これを使わない手は無い。

用意するもの

手軽に導入できそうなことがわかったので、機材を揃える。

Rasbperry Pi 4

これがなきゃ始まらない。4GBモデルの方が不安がないが、2GBモデルでも多分動く。

Amazon | 【国内正規代理店版】Raspberry Pi 4 Model B/4GB OKdo版【技適マーク付】 | Raspberry Pi Shop by KSY | PCパーツ 通販

※起動に最低限必要な電源やケーブル類も用意しておく

Raspberry Pi STBケース

映像出力には発熱を伴うので、冷却できるケースを選ぶ。 おすすめはこちら。冒頭の画像に写っているものだ。

Raspberry Piはポート類が頭の悪い配置になっているので、全て背面に寄せられるケース。 冷却ファン付きである上、microHDMIポートをType A HDMIに変換してくれ、尚且つ安価である。

Amazon | GeeekPi Raspberry Pi 4セットトップボックスキット、ポート拡張ボード付き Raspberry Pi 4アクリルケース、4010ブルーLEDライトファン5V付き Raspberry Pi 4 Bに対応 | GeeekPi | ベアボーンPC 通販

microSD

Dockerでサービスを動かしたりするので、耐久性のある32GBくらいの容量のものが必要。 ちゃんとしたメーカーのものであればどれでも良い。

Amazon.co.jp: Samsung EVO Plus 32GB microSDHC UHS-I U1 95MB/s Full HD Nintendo Switch動作確認済 MB-MC32GA/ECO 国内正規保証品: パソコン・周辺機器

USB地デジチューナー

Linuxにドライバーが組み込まれているチューナーを選ぶ。 推奨はPLEXの地上デジタルチューナー。

Amazon.co.jp: PLEX USB接続ドングル型地上デジタルTVチューナー PX-S1UD V2.0: パソコン・周辺機器

だけど廉価なこっちでも普通に動いたので、こちらでも良い。

Amazon | USB接続ドングル型地上デジタルTVチューナー/薄型コンパクトPC用USB地デジチューナーPC用 USBバスパワー | MyGica | TVチューナー・キャプチャーボード 通販

2020/09/17追記: MyGicaの安価なチューナーはもう取り扱いを終了したようだ。

ICカードリーダー

B-CASカードを読むために必要。

Amazon | 【国内正規品】Gemalto ジェムアルト ICカードリーダ・ライタ IDBridge CT30 電子申告(e-Tax)対応マイナンバー・住基カード用PC USB-TR HWP119316 | ジェムアルト | 外付メモリカードリーダー 通販

B-CASカード

安価な地デジチューナーにはB-CASカードがついていない。 無い場合は、以下のフォームから 再発行 を申し込める。

B-CAS 株式会社 ビーエス・コンディショナルアクセスシステムズ

ただ、”再発行”とあるように、なくした場合や中古のチューナーを買った場合などに限られ、B-CASカードの付属しない新品のチューナーを買った場合の新規発行は受け付けていないようなので、持ってない場合は中古のTVチューナーを買うのが唯一の入手方法になる。

ポータブルHDD

録画データ保存用。USB 3.0対応であれば、どれでも良い。

Amazon.co.jp: BUFFALO ミニステーション USB3.1(Gen1)/USB3.0用ポータブルHDD 1TB HD-PCFS1.0U3-BBA: パソコン・周辺機器

導入

1. LibreELECのイメージをRaspberry Pi Imagerで書き込む

Raspberry Pi公式のOS書き込みツールであるRaspberry Pi Imagerには、LibreELECが候補のOSとして登録されている。 自分のRaspberry Piにあったイメージを選択し、microSDカードに焼き込む。

Raspberry Pi Imager

2. Raspberry Piを準備する

以下がやることリスト。 電源が最後であれば、順番通りでなくても良い。

  1. microSDカードを入れる
  2. TVチューナーとアンテナ端子を繋げる
  3. カードリーダーとB-CASカードを接続する
  4. ポータブルHDDを繋げる
  5. LANケーブルを繋げる
  6. HDMIケーブルでテレビに繋ぐ
  7. 電源を繋ぐ

3. LibreELECを起動してセットアップを進める

初回の起動時にはLibreELECのセットアップが始まる。 ほとんどのテレビであれば、テレビのリモコンがHDMI/CECを通してLibreELECを操作できるようになっているため、リモコンを使ってセットアップを進めていく。リモコンが無かったり、うまく動かない場合はUSBキーボードを接続してセットアップを行うこともできる。

途中、Sambaを有効にするかのオプションが出てくるため、有効にしておくように。

デフォルト表示言語が英語のため日本語化が必要になるが、Googleがその方法を教えてくれるだろう。

セットアップ完了後は、Kodiを操作できるスマホアプリを使うと快適に利用できる。

4. リポジトリのzipをSambaで転送する

セットアップが終わると、同じLANにつながっているWindowsやmacOSからLibreELECのSambaが見えるようになっている。 SambaにあるDownloadsフォルダにrepo.harekaze.orgからダウンロードしたリポジトリアドオンをコピーする。

Transfer repository zip

5. アドオンマネージャからリポジトリアドオンをインストールする

Kodiのアドオンメニューを進むと、「zipファイルからインストール」というメニューがあるため、そこからリポジトリアドオンをインストールしていく。初回は「提供元不明の〜」などといった警告が出るが、遷移先の設定画面で有効にすれば良い。

Install from zip menu

zipファイル選択画面で、「ホーム→Downloads」と辿って先ほどのzipファイルを選択してインストールすれば、リポジトリが登録される。

Select addon zip

6. アドオンのインストール

Harekaze2 repository

「リポジトリからインストール」メニューの中にHarekaze2リポジトリが登録されているはずなので、そこから必要なアドオンを追加していく。依存関係にあるDockerアドオンや、ffmpegアドオンもセットでインストールされるので、わざわざ先にインストールしておく必要はない。

順番はmirakurun→EPGStation→pvr.epgstationが望ましい。 Dockerイメージの取得に時間がかかるため、気長に待つ。

初期状態で特に設定をしなくても使えるようにしてあるが、SambaのConfigfilesディレクトリにMirakurunとEPGStationの設定ファイルがあるので、必要であれば調整はそこからできる。

Samba configfiles directory

7. EPGStation録画先の変更

Choose recording location

接続したUSBハードディスクに録画を保存するようにepgstationサービスの設定画面を開き、録画先を変更する。

8. pvr.epgstationの設定

Select EPGStation server

EPGStationのサービスが動いているhttp://0.0.0.0:8888を、pvr.epgstationの設定画面で指定する。 アドオンを再起動すれば、お手軽地デジ視聴環境の出来上がり。

pvr.epgstation1

pvr.epgstation2

+α. 音ズレの解消

Fix ripsync

音ズレするときは、Kodiの設定画面にあるプレイヤー設定の中の「ディスプレイの同期周波数に合わせて再生する」を有効にすると直る。

これまでの構成との比較

遥か昔、地上デジタル放送をRaspberry Pi 2で視聴していた時期があった。

これまでブログで紹介してきたように、地デジの視聴構成は以下のようになっていた。

地デジ用NAS

Raspberry Pi 2B

機器構成を練り直すついでに、導入手順を簡略化することにしたこともあって、当時と比べて随分とすっきりした。

  • 地デジ用NAS → 廃止。構築不要
  • Chinachu → EPGStation
  • OSMC → LibreELEC
  • Raspberry Pi 2B → Raspberry Pi 4B
  • pvr.chinachu → pvr.epgstation

機器構成の変化以上に、導入がものすごく手軽になった功績が大きい。

まとめ

おうち時間を充実させていきましょう。