RTSPの再生が安定しない (vlc)

その後も利用価値のあまりなくなった,Raspberry Pi 3 Model B (RPi3)と同B+(RPi3+)を防犯カメラの映像をRTSPで見るモニターとして利用する試みを続けています.

Raspberry Pi OS (RPiOS)の配布するvlcで一時期RTSPを見ることができませんでしたが,それも使えるように戻してくれたようで,RP3(+)に電源を入れて起動すると,メインユーザーで自動ログインした上でvlcも自動的に起動してカメラからのRTSP映像をHDMIでつないだディスプレーに表示するようにしていますが,どうも不安定で,数時間〜半日前後でvlcがブランク画面を表示するか,ある時刻の静止画のままになります.

OSは生きていて他のマシンからsshでログインできます.

これまで確認しているところ,カメラがトラブってRTSPを吐き出さなくなる場合と,カメラは生きているけれど,vlcがトラブる場合があるようで,他のマシンからカメラにつなぐことでどちらか確認できます.

前者のトラブルの場合,カメラの電源を切って再起動しますが,その場合RTSPにログインするためのUser IDとパスワードが変わるので,クライアントのスクリプトを修正する必要がありちょっと厄介です.しかし,幸いというか,このトラブルよりも後者のvlcのトラブルのほうが多いです.

しばらくvlcの使用はやめて,またffplay (FFMPEG)に戻して様子を見ることにします.明らかにCPU loadはvlcよりもffplayのほうが大きいです.

Manjaro ARM64 ぶっ壊れる

Raspberry Pi 4 Model B (RPi4)をWS(workstation)として使える可能性を一番示してくれているdistroである表記Manjaro ARM64を使い続けてきました.当BLOGの記事からすると2年半とかになると思います.ローリングモデルの性(さが)といいますか,途中でパッケージマネージャーのデータベースにほつれが出てだんだんおかしくなってきました.

コマンドライン版のpacmanではupdate/upgradeできるのですが,GUI版のpamac-managerではなにもしなくてもいつも”Up to date”になる状態が1年以上続いたと思います.それに本日終止符が打たれました.コマンドラインのpacmanで依存性に衝突が生じてupdateができなくなりました.

たぶん,パッケージデータベースを修復する方法もあると思うのですが,このWSではあまりややこしい設定はしていませんので,新規インストールをすることにしました.

といっても完全に新規でなくて,夏頃から取り組んできたRTSP表示のためManjaro AMR64をSDカードにインストールしたものが使わずに放置されていたのでそれを使いました.

/bootのパーティションはvfatにフォーマットした2GBのSDカードにコピーし,ルートパーティションはSSDの旧Manjaroのあったところにコピーです./boot/cmdline.txtと/etc/fstabを修正して起動しました.その後でバックアップからメインユーザーのデータをコピーしてほぼ元通りです.

Manjaroにjoeがないと以前騒いでいましたが,素直にコンパイルできるパッケージなので自分でmakeして/opt/binに置きました.

Raspberry Pi OSにphpMyAdminのインストール

標記の件,あちこちに書いてあると思いますが,自分ナイズした手順をメモっときます.

前提としては,別所ですでにphpMyAdminが動いていた/var/lib/mysql以下をバイナリーで手元に持ってきて,データベースとして正常に動作している状態であることです.

apt install phpmyadmin

いろいろ依存ファイルがインストールされ,最後にdpkg-なんとかで設定するかと聞いてきますが,すでにphpmyadminが動くように設定済みのMariaDBが動いているわけですから “No” です.

これでApache2を再起動してもphpMyAdminは機能してくれませんでした.設定が足りていません.

設定の最初ですが,phpMyAdminというデフォルトのpathは攻撃者の格好の標的となりますので,/etc/phpmyadmin/apache.confの最初の方にあるAliasを他の人が想像しにくいように変えます.

次に,Debian的に進めるために,/etc/apache2/conf-availableに,/etc/phpmyadmin/apache.confのsymlinkを貼ります.

cd /etc/apache2/conf-available
ln -s /etc/phpmyadmin/apache.conf phpmyadmin.conf

次に,Debianらしいコマンドa2eanbleを実行し,apache2の設定をreloadすれば完了です.

a2enable phpmyadmin.conf
systemctl reload apache2

次はLDAP

次は,OpenLDAPをインストールして,これも別所のデータをバイナリーで移してみます.これはx86からARMにもってきたときは失敗したと記憶しています.

slapdが動くようになったら,phpLDAPadminを動かしてみます.

あとでも良いのですが.

Slackware ARMとRaspberry Pi OS 64bitのMariaDBはバイナリーコンパチ

標記の件確認しました.そうだろうとは思っていました.逆にそうでなかったなら何なんだろうとも思っていました😥

これで,Raspberry Pi 5導入時にサーバーのOSをRaspberry Pi OS 64bitにする最大の懸念が払拭されました.

一応確認した方法を書いときます.

Slackware ARMのMariaDBを,

/etc/rc.d/rc.mysqld stop

で停止させてから,/var/lib/mysql以下をtarで固めてsftpするか,rsyncを使ってRaspberry Pi OS 64bitのマシンの適当な作業ディレクトリーに置いときます

以下はRaspberry Pi OS 64bit側での作業です.

apt install mariadb-server

で,mariadbのサーバーをインストールします.これだけでMariaDBが動き出しますが,念の為動作を確認してからおまじないを実行します.

systemctl status mariadb
mysql_secure_installation

これで,rootだけログインできる空のデータベースが動き出します.ここで一旦,

systemctl stop mariadb

で,MariaDBを停止させて,

cd /var/lib
mv mysql mysql-empty

あとは,Slackware ARMから持ってきたデータを展開してから,/var/lib/mysqlとして置きます.念の為,/var/lib/mysql以下のオーナー・グループがmysql:mysqlになっているか確認してなってなければ修正します.

これで,

systemctl start mariadb

として起動を確認して,あとはSlackware ARMで使っていたユーザーでログインして中身を確認します.

コマンドラインだけでは不便なので,phpMyAdminをあとでインストールしたいと思います.

Slackware ARMのMariaDBは再起動しておきます.

Raspberry Pi 5がほしいけど発売は来年か?

SNSでRaspberry Piの公式アカウントをフォローしていると,もうRaspberry Pi 5(RPi5)が売り出されたかと錯覚するほど,RPi5の話題が盛んに流れてきます.

その流れてきた情報の一つMouserという有名な通販サイトのアカウントを作っていろいろ見てみましたが,まだ “Preorder” の段階で,発送は “17 weeks” 先のようです😅

ほしいけど流石に4か月も先の注文はする気がしません.Mouserは日本の場合6000円以上の注文で,送料無料だそうなので,アカウントはそのまま残して,最終的な購入サイト候補の一つにします.

いちおうRaspberry Pi 4 Model B (RPi4)でRaspberry Pi OSのもとKDE Plasma Desktopを動かしてサーバーに仕立てるという計画は,少なくともKDE Plasma Desktopを安定的に動かしてup-to-dateにする段階までは問題なくいってます.

サーバーに仕立てる最大の難関は,MariaDBのデータの移植です.Slackware x86からSlackware ARMへの移植はMariaDBのバイナリーデータをコピーしてうまくいきました.まあ,x86からARMがうまく行けば,Slackware ARM (32bit)からRaspberry Pi OS 64bitへもうまく行きそうな気もしますが,こればかりはやってみなければ解りません.

もしバイナリーでうまく行かないとなれば,正攻法であるExportしてImportの手順を踏むことになりますが,長い間に多数のデータベースをこさえてしまったので,頭がいたいです.

逆に言うと,MariaDBのデータさえ移植できれば後はほとんど問題ないとも言えます.だからさっさと,今動いているRaspberry Pi OS 64bitで試せば良いのですが,なかなか腰が重いです.

ともあれ,まだ先とは言えRPi5の発売が確定したので,新サーバーはRPi5で動かすことと決めて,今後のお膳立てを勧めていきたいと思います.