ラズパイレコーダー再構築(笑 [Raspberry Pi]
久々のエントリーになります。
以前,そうだ,ラズパイでHDDレコーダーを作ってみよう!で作成したブツ,レコーダーを謳っているくせに録画ではなく,もっぱらチューナーの共有と,kodiを入れて録画PCのTSを再生で今もチャンと使っています。
そんな必需品になったブツですが… まぁ,その,やっちゃいました(てへっ
事の始まりは,MirakurunとEPGStationのアップデート。
どう言う訳か,それまで使えたチューナー共有がkodi+IPTVSimpleで使えなくなってしまいました。
困った事に,kodi v18.7では回避方法がなく,v19にするしかないっぽい。
# v18.7は,apt installで,お手軽にインストール出来るバージョン。
そこで,kodi v19をRPi4で動かす為,あれやこれや…
そして,OSすらブートしなくなった(遠い目…
仕方がないので,SSDをサクッと初期化,OSセットアップからやり直す事にしました。
でも,元に戻すだけじゃぁ〜 つまらない,流行り(?)に乗って64bit版 RaspiOSを使ってみる事にします。
# 以前,64bit版を試した時は散々でしたけど,今回は…OKの様です。
ラズパイレコーダーに関する一連のネタは,以下をご覧ください。
- そうだ,ラズパイでHDDレコーダーを作ってみよう!
- そうだ,ラズパイでHDDレコーダーを…実装編
- そうだ,ラズパイでHDDレコーダーを…完成?一旦まとめ
- そうだ,ラズパイでHDDレコーダーを…懲りもせず orz
セットアップログをだらだら載せてもしようがないのでざっくりと。。。
使ったOSイメージは,2021-05-07-raspios-buster-arm64-lite.zip
。
apt Update & Upgradeして,こんな感じ…
$ uname -a Linux rpi4rec 5.10.63-v8+ #1459 SMP PREEMPT Wed Oct 6 16:42:49 BST 2021 aarch64 GNU/Linux
各アプリケーションは,前回同様,Dockerを使わずに直接インストールとしました。
以下は,ヒントと言うか注意点?など…
- px4_drv
- PlexのDriverからit930x-firmware.binを抽出する際,使用するチューナーカードに合わせた物(Zipファイル)を選ぶ事。(ラズパイでPX-W3PE4な人は少ない)
- USB周りのおまじない
echo "options px4_drv xfer_packets=51 urb_max_packets=816 max_urbs=6" | sudo tee /etc/modprobe.d/px4_drv.conf
- pcscd
- カードリーダーを内臓出来ないので,例の物を使用。
- リーダーと被らない様に別名でビルド。(libpcscSoft.soって感じ)
- libarib25も入れておく。
- recpt1
- BSトラポン変更に対応(pt1_dev.hを修正)
- 共有するチューナーをMacでも使うので
--enable-b25
必須。
- Mirakurun 3.9.0-beta.11
- 公式通りでOK(BSトラポン変更に注意)
- EPGStation 2.6.11
- 公式通りでOK(BSトラポン変更に注意)
- kodi v19.1 (popcornmix版)
- 参考にしたページの手法をトレースでビルド可能でした。
- PVR.IPTVSimple
git clone
する際,--branch Matrix
など,バージョンを正しく揃える事
そうしないと,このバージョンはサポートされてません… とkodiが拒否る。
Mirakurun と EPGStation はこんな感じに動作中…
* 問題ありそうだけど,EPGStationをsudo起動にしてsudo pm2 status
で一望出来る様にしてます…
px4_drv 〜 EPGStationまでは,本家を含め参考になる日本語のページが多数存在するので,どうにかこなせるとして,問題はkodi…
日本語のネタは,LibreELECやOSMCなどワンパケのセットアップネタばかり,ビルドして…ってのが少ない気がする。
そんな訳で,以下kodiのセットアップネタ。
…だらだら載せても…って言っておきながら,まさにその だらだらです orz
ちなみに出来上がりは,こんな感じ…
RPi4で64bitOS,Kodi v19。1が動いてます。(スキンはskin.osmc)
注意:
- 以下は,新規で用意した環境(OSは64bit)で行なっています。
既存の環境でちょっとお試しする際,あれやこれやと不具合が出るかもしてません。
実は当方,既存環境で行なったら,あれこれ足りないとか面倒が発生,そして酷い目(Boot不能)に会いました。 - 未検証ですが,OSは32bit版でも問題ないと思います。
本件,”64bit版でもビルドして動作出来た” って感じですので…
ご参考:
- xbmc/README.Linux.md at gbm_matrix · popcornmix/xbmc
- Compiling Kodi 19 on RaspiOS RPI4 HW-decoding problems
- Notes on compiling v19 alpha on the Raspberry Pi 4+ and Raspbian Buster.
基本,ご参考をトレースですが,一部,修正しています。
依存関係
sudo apt install -y git debhelper autoconf automake autopoint gettext autotools-dev cmake curl \
default-jre doxygen gawk gcc gdc gperf libasound2-dev libass-dev libavahi-client-dev \
libavahi-common-dev libbluetooth-dev libbluray-dev libbz2-dev libcdio-dev libp8-platform-dev \
libcrossguid-dev libcurl4-openssl-dev libcwiid-dev libfstrcmp-dev libgcrypt-dev libgif-dev \
libgles2-mesa-dev libgl1-mesa-dev libglu1-mesa-dev libgnutls28-dev libgpg-error-dev \
libiso9660-dev libjpeg-dev liblcms2-dev libltdl-dev liblzo2-dev libmicrohttpd-dev libnfs-dev \
libogg-dev libpcre3-dev libplist-dev libpng-dev libpulse-dev libshairplay-dev \
libsmbclient-dev libsqlite3-dev libssl-dev libtag1-dev libtiff5-dev libtinyxml-dev libtool \
libudev-dev libva-dev libvdpau-dev libvorbis-dev libxmu-dev libxrandr-dev libxslt1-dev libxt-dev \
lsb-release python3-dev python3-pil rapidjson-dev swig unzip uuid-dev yasm zip zlib1g-dev libdrm-dev \
libinput-dev libxkbcommon-dev libunistring-dev samba-common-bin liblirc-dev libcap-dev ccache \
libcec-dev clang-format libmariadb-dev libsndio-dev libavahi-core-dev libgbm-dev libdav1d-dev
ソースを持ってきて…
wget https://github.com/popcornmix/xbmc/archive/refs/heads/gbm_matrix.zip
unzip gbm_matrix.zip
cd xbmc-gbm_matrix
mkdir kodi-build
cd kodi-build
// workaround drm_fourcc.h error
sudo mkdir /usr/include/drm/
sudo ln -s /usr/include/libdrm/drm_fourcc.h /usr/include/drm/drm_fourcc.h
configure?
cmake .. -DCMAKE_INSTALL_PREFIX=/usr/local \
-DCORE_PLATFORM_NAME=gbm \
-DAPP_RENDER_SYSTEM=gles \
-DENABLE_VAAPI=OFF \
-DENABLE_VDPAU=OFF \
-DENABLE_INTERNAL_FLATBUFFERS=ON \
-DENABLE_INTERNAL_FMT=ON \
-DENABLE_INTERNAL_FFMPEG=ON \
-DENABLE_INTERNAL_SPDLOG=ON \
-DENABLE_DEBUGFISSION=OFF \
-DENABLE_TESTING=OFF \
-DCPACK_GENERATOR=DEB
- cmake実行時,依存関係でエラーした場合,可能な限り解決すること。
目安は,最後に-- Build files have been written to: /home/pi/xbmc-gbm_matrix/kodi-build
って出たらOK。 -DCPACK_GENERATOR=DEB
を付けると後で cpack で deb作成が可能になる。
Build
cmake --build . -- VERBOSE=1 -j$(getconf _NPROCESSORS_ONLN)
- RPi4(SSD Boot)を使って 約2時間 強 かかります。
- 後で行う installやcpackで,changelog.Debian.gz が無いと怒られる。
touch ~/xbmc-gbm_matrix/kodi-build/packages/deb/changelog.Debian.gz
で空ファイル作成を作成すれば回避可能。
動作テスト?
すでにkodiが動作している環境で行う際は,注意してください!!
./kodi-gbm
- 起動時に既存の環境(Addonも)をv19用へ変換してしまうっぽい!
しかも,後戻りできない! あらかじめ~/.kodi
退かす必要があるかも(未検証)
インストール
sudo make install
元々input,videoは有るので,renderを追加?
sudo usermod -a -G input,video,render pi
systemdに登録
sudo tee -a /lib/systemd/system/kodi.service <<_EOF_
以下コピペして[Enter]を押す。
[Unit]
Description = Kodi Media Center
After = remote-fs.target network-online.target
Wants = network-online.target
[Service]
User = pi
Group = pi
Type = simple
# aptで入れた場合(v18.7)こんな感じになります
#ExecStart = /usr/bin/kodi
# popcornmixのv19系を自ビルドした場合
ExecStart = /usr/local/bin/kodi
Restart = on-abort
RestartSec = 5
[Install]
WantedBy = multi-user.target
_EOF_
有効化
sudo systemctl enable kodi.service
起動 と 確認
sudo systemctl start kodi.service
systemctl status kodi.service
● kodi.service - Kodi Media Center
Loaded: loaded (/lib/systemd/system/kodi.service; enabled; vendor preset: enabled)
Active: active (running) since Wed 2021-10-18 17:01:44 JST; 16h ago
Main PID: 606 (kodi)
Tasks: 26 (limit: 3948)
CGroup: /system.slice/kodi.service
├─606 /bin/sh /usr/local/bin/kodi
└─616 /usr/local/lib/kodi/kodi-gbm
10月 18 17:01:44 rpi4rec systemd[1]: Started Kodi Media Center.
雑感:
必需品なので,なくなると困る…
慌てて再セットアップ,とりあえず元どおりっぽくしてみますが,色々細かい所で違いが有って,その都度苦笑い… 調査,修正,調査,修正…
調査が必要なのは,以前に行なってから日が経ち過ぎて忘れている為。
ネタを残している物は良いはずだけど,読み返してみると意味不明なネタも多く混乱が悪化する場合も…
そうは言っても慣れているはずのラズパイですので,まぁぼちぼちやって行きます。
再セットアップで,詰め込んでいたものが新しくなった。
64bit OS に Mirakurun や EPGStation,kodi… ほとんどの物が体感できるレベルで良くなってます。
多分,OSを64bitに変えた為,動作に余裕が生まれたのが大きいのではと思ってます。
以前は,MirakurunでgetServiceやgetEPGが動き出すと,kodiの操作がままならないって事が有って,色々小細工していたのですが,今回,何もせずにちゃんと動いてました。
意外だったのは,MirakurunがBS/CSの局Logo収集も行う様になり,IPTVsimpleでLogoが表示できる様になった事。
今まで散々(githubのPRすら)放置されていた機能がやっと実装された感じです。
以前当方,Blogネタで強制的にLogo表示をしましたけど,これであの面倒が不要になりました(笑)
ほとんどが良くなってって書きましたけど…
kodiだけは(いつも)例外。
あれやこれやと詰め込み過ぎて,これって本当に必要な機能なの?って思う事しばしば…
正直,どこを目指しているのか良くわからない事が多い。
そうは言っても動画の再生がスムーズになったのは大きいです。
64bitOSのせいなのか,v19のせいなのか…正直わかりませんけど…いや,OSのせいですね(笑
当方,kodiと言えば skin.osmc
…
そのシンプルさが良くて,OSMCの使用をやめてしまってもスキンだけは長く使い続けているのですが,たまにやらかします。
以前には,FontsのArialに変な使えないフォントを指定して,2byte圏のユーザーに大混乱を招いたり(しかもArialの使われ方を理解してない節が有った),メニューの選択中の項目にアンダーラインを引くって暴挙に出たり… (選択中の項目は太字ハイライトされるので,元々わかりやすい…アンダーラインは蛇足)。
まぁ,Fontsの件は修正してもらえたし,アンダーラインんはオプションでOFFに出来るので”ちっ面倒な”程度でしたが…
今回は,画面左側に表示されるメニュー部分の背景に色をつけてくれました orz
このセンスの無さ,正直反吐が出ます…
ちなみに反吐がの行は比喩的な意味ではなく,画面変移する際,その着色エリアのサイズが変わる為,画面がチカチカ,ほんとに具合が悪くなってしまいます。
画面が小さめなら良いのでしょうけど,50インチTVでチカチカは正直シンドイです。
このままでは体に悪いので修正したかったのですが,v19対応版を出した後に内部の大改修をした様で,今じゃ中身が完全に別物って感じ,すぐには無理っぽいです…
githubにISSUEでも投げますかね…
コメント 0