SSブログ

ラズパイレコーダー再構築(笑 [Raspberry Pi]

久々のエントリーになります。

以前,そうだ,ラズパイでHDDレコーダーを作ってみよう!で作成したブツ,レコーダーを謳っているくせに録画ではなく,もっぱらチューナーの共有と,kodiを入れて録画PCのTSを再生で今もチャンと使っています。

ブツは,こんなん。
IMG_0803.jpg

そんな必需品になったブツですが… まぁ,その,やっちゃいました(てへっ

事の始まりは,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 はこんな感じに動作中…
pm2 status.jpg
* 問題ありそうだけど,EPGStationをsudo起動にしてsudo pm2 statusで一望出来る様にしてます…



px4_drv 〜 EPGStationまでは,本家を含め参考になる日本語のページが多数存在するので,どうにかこなせるとして,問題はkodi…
日本語のネタは,LibreELECやOSMCなどワンパケのセットアップネタばかり,ビルドして…ってのが少ない気がする。

そんな訳で,以下kodiのセットアップネタ。
…だらだら載せても…って言っておきながら,まさにその だらだらです orz

ちなみに出来上がりは,こんな感じ…
RPi4で64bitOS,Kodi v19。1が動いてます。(スキンはskin.osmc)
screenshot00001.jpg


注意:

  • 以下は,新規で用意した環境(OSは64bit)で行なっています。
    既存の環境でちょっとお試しする際,あれやこれやと不具合が出るかもしてません。
    実は当方,既存環境で行なったら,あれこれ足りないとか面倒が発生,そして酷い目(Boot不能)に会いました。
  • 未検証ですが,OSは32bit版でも問題ないと思います。
    本件,”64bit版でもビルドして動作出来た” って感じですので…

ご参考:


基本,ご参考をトレースですが,一部,修正しています。

依存関係

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 1018 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) 
共通テーマ:趣味・カルチャー

コメント 0

コメントを書く

お名前:[必須]
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

※ブログオーナーが承認したコメントのみ表示されます。

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。