Raspberry Piに LibreELEC(kodi) をインストールしてメディアサーバとして利用します。ImagerにはOSの選択肢としてLibreELECが含まれているため、ImagerでSDカードにOSを書き込みます。
Media player OSを選択
LibreELECを選択
Kodi wiki LibreELEC
https://kodi.wiki/view/LibreELEC
スマートフォンやタブレットから操作
https://kodi.wiki/view/Smartphone/tablet_remotes
ブラウザから操作
https://kodi.wiki/view/Web_interface
起動条件:config.txtの編集
3.5mmオーディオジャック出力、HDMI出力、各種I/Oなどの機能を有効にするためには、ブートフォルダに格納されているconfig.txtファイルに各種パラメータを追加する必要があります。
config.txtファイルの編集は以下の手順で行います。
SSH接続からconfig.txtの編集、リブートまでの流れ
$ ssh root@192.168.xx.xx
root@192.168.xx.xx's password:
##############################################
# LibreELEC #
# https://libreelec.tv #
##############################################
LibreELEC (official): 11.0.3 (RPi2.arm)
# cd /flash
# mount -o remount,rw /flash
# nano /flash/config.txt
# mount -o remount,ro /flash
# reboot
3.5mmオーディオジャック
dtparam=audio=on
HDMI
Re: No sound over HDMI [solved] - Raspberry Pi Forums
hdmi_force_edid_audio=1
config.txtの詳細については以下参照
LibreELEC YouTube add-on
以下GCP内での作業です。
LIbreELECでYouTubeを再生するためには、APIライブラリから提供されているYouTube DATA APIを利用します。
APIライブラリ
Google Cloud console
YouTube DATA API
既存のプロジェクトを選択するか、新たにこのAPI専用のプロジェクトを作成します。

Credentials
から API key
を作成
APIキーの制限条件を YouTube DATA API
のみとします。
OAuth consent screen
を作成します。APIを利用できるユーザタイプは外部とします。
APIを利用できるGoogleユーザを追加
ユーザはGmailアカウント:xxxx@gmail.com
再び Credentials
に戻り OAuth Client ID
を作成
アプリケーションタイプと名称を入力して作成
LibreELECのYouTubeアドオンで必要なのは API Key, Client ID, Client Secret
です。
WireGuardの利用
海外コンテンツを視聴するためにWIreGuardによるVPNを利用します。WireGuardによるVPNサーバはAWS, GCP, Azureなどのクラウドサービスを利用することで安価(1年間無料サービスもあり)に構築できます。有料で他の多くのユーザと帯域をシェアする海外のVPNサービスを契約する必要はありません。
LIbreELECにはConnManというネットワークマネージャが予め導入されており、これを利用してLibreELECとWireGuardによるVPNサーバとの接続を確立します。
ローカルネットワーク内の任意のマシンからSSHでLibreELECに接続し、ConnManの記述型式に則ったWireGuardクライアント設定ファイル /storage/.config/wireguard/wg0.config
を作成します。
$ ssh root@192.168.xx.xx
# nano /storage/.config/wireguard/wg0.config
[provider_wireguard]
Type = WireGuard
Name = WireGuard (Home)
Host = 185.210.30.121
WireGuard.Address = 10.2.0.2/24
WireGuard.ListenPort = 51820
WireGuard.PrivateKey = qKIj010hDdWSjQQyVCnEgthLXusBgm3I6HWrJUaJymc=
WireGuard.PublicKey = zzqUfWGIil6QxrAGz77HE5BGUEdD2PgHYnCg3CDKagE=
WireGuard.PresharedKey = DfEYeVs04HS9XhKGM4/ZXHG3Qc4MFK2AJd8XouYDbRQ=
WireGuard.DNS = 8.8.8.8, 1.1.1.1
WireGuard.AllowedIPs = 0.0.0.0/0
WireGuard.EndpointPort = 51820
WireGuard.PersistentKeepalive = 25
ConnManによるネットワークサービスの確認
# connmanctl services
* R home vpn_185_210_30_121
*AO Wired ethernet_dca622135939_cable
上記リストからvpn_185_210_30_121へ接続
# connmanctl connect vpn_185_210_30_121
pingコマンド
# ping 10.2.0.1
PING 10.2.0.1 (10.2.0.1): 56 data bytes
64 bytes from 10.2.0.1: seq=0 ttl=64 time=147.936 ms
64 bytes from 10.2.0.1: seq=1 ttl=64 time=147.955 ms
接続解除
# connmanctl disconnect vpn_185_210_30_121
接続が確立されない場合は、一度LibreELECマシンを再起動して下さい。