Raspberry Pi OSのvlcはRTSP OK

2023年11月3日(金) 22:00 JSTに確認したところ,Raspberry Pi OS Bookworm 12.2のvlc 3.0.18で,RTSPを見ることができました(音声についてはうまくいっていませんが).USB接続のSSDで稼働しているRaspberry Pi 4 Model Bと,SDカードで稼働しているRaspberry Pi 3 Model B,同じくSDカードのRaspberry Pi 3 Model B+で確認しました.

なお,Manjaro ARM, Manjaro AMD64, Debian AMD64のそれぞれの正式配布によるVLC (3.0.18〜20) は依然としてRTSPの視聴ができません

これもあくまで当社調べですが,同じソースのRTSPに接続した場合,ffplayよりもvlcのほうがCPU loadが低い場合が多いです.

Slackware64は,公式ではないですがAlienさんのbuildしたものが使えます.
Manjaro ARMは再確認中です.

Raspberry Pi OS Bookwormでfcitx5-mozcのかな入力ができない

かな入力って日常的に使っている人はあまり多くないため,日本語入力ソフトにおける検証が十分なされないことが多々あることをこれまでの経験で知っています.

Manjaro AMD64, 同 ARM64, Debian AMD64ではfcitx5-mozcはちゃんとかな入力可能です.

しかし,先日リリースされたRaspberry Pi OS Bookwormにfcitx5-mozcをインストールした状態ではだめです.少なくとも今のところだめです.どうだめかというと,濁点を打とうとすると, “ふ” になってしまいます.「だくてん」と打ったつもりが,「たふくてん」と表示されます.これでは使い物になりません.

実はManjaro ARM64は日本語のかな入力はfcitx5-mozcでちゃんとできるのですが,FirefoxでWordPressの編集などをしているとよく固まります.そんなわけでRaspberry Pi OS Bookwormが使えるんだったら乗り換えようかと考えていただけに,ちょっと残念です.

その後: 濁点は解決したものの長音記号がNG

いろいろ,いじって濁点は解決しましたが,長音記号が出ません.いじっているのは,CUIのシステムのキーマップ,/etc/X11/xorg.conf.d/内の設定,KDEのキー設定など思いついたキーボード設定に関わるところ手当り次第です.

長音記号についてはシフトを押すと出ますが,基本的にタイピングは文章を考えながらやるので,長音記号のときにいちいちシフトを押すことを気にかけていては文章の作成の思考が止まってしまうので,非常に使いづらいとしか言いようがありません.

ちゃんとかな入力ができているManjaro AMD64のKDE Plasma Desktop + fcitx5-mozcの設定を真似ていますが,どうしたものかDebian ARM64 KDE Plasma Desktop + fcitx5-mozcではうまくいきません.

さらに後の注: 解決

/etc/X11/xorg.conf.d/00-keyboardというファイルを以下の中身のテキストファイルとして作ります

Section "InputClass"
    Identifier "system-keyboard"
    MatchIsKeyboard "on"
    Option "XkbLayout" "jp"
    Option "XkbModel" "jp106"
    Option "XkbOptions" "terminate:ctrl_alt_bksp"
EndSection

ただし,Waylandでは/etc/X11/xorg.conf.d/以下を参照しないようなので意味をなしません.

Raspberry Pi 3 でRTSPを見る(結論)

使い道のないRaspberry Pi 3 Model B (RPi3) やRaspberry Pi 3 Model B+ (RPi3+)で,RTSPを視聴する方法の結論としては,

ffplay (FFMPEG)で見る

で最終決定しました.唯一懸念されていた時間遅れの蓄積は,その後半日ほど連続運転したところ,不思議と解消されました

FFMPEGが使えるならばRaspberry Pi OSでも行けるはずですが,いまさら面倒なので,RPi3ではManjaro ARM xfce, RPi3+ではManjaro ARM KDE Plasmaでこのまま行きます.

自動起動については,

#!/bin/sh
sleep 30
DISPLAY=:0 /usr/bin/ffplay rtsp://ユーザー名:パスワード@ホストのFQDN/指定された文字列 -loglevel quiet -fs > /dev/null 2>&1 &

というスクリプトを実行可能にして適当な場所に置いて設定からAutostartに指定したら,xfceもKDE Plasmaもうまくいきました.sleep 30については要調整です.フルスクリーンオプション-fsはお好みで.

なお,xfceでは設定のScreen saverをOFFが機能しますが,KDE Plasmaはそのスイッチが効かないようなので,ワークアラウンドとして,.xprofile

DISPLAY=:0 xset -dpms
DISPLAY=:0 xset s off

を書いてます.

たぶん,下記のスクリプトのように,コンソールにlogを出さないようにしたためかもしれません.それでも多少は遅れます.
と言いつつ後日試しました.ffplayだけのためにインストールするなら,Raspberry Pi OSが一番楽で,起動も早いのでお勧めです.
一年前にそうだったのですがその後確認はしていません😅

Manjaro ARMでもVLCでRTSPはNGに

ここだけの話にしておいてください.2023年10月3日(火)現在ですが,Manjaro ARMの配布しているVLC最新版(3.0.18-16)は,RTSPの視聴が可能です.Raspberry Pi 4 Model B (RPi4)で確認しました.

で,めでたしめでたしと行きたかったのですが,他の2台のManjaro ARMを最新版にしたところ,VLCによるRTSPの視聴はできなくなりました.

どうも,視聴できる方がどこかおかしいようです.パッケージ管理のデータベース上は最新版にアップデートされているはずが実際は古いままだとか.

FFMPEGも微妙

かつて,VLCでなくコマンドラインのmplayerPython3のライブラリーを試したことがありましたが,いずれも遅延がどんどん大きくなって,実時間の監視用には使えないことがわかりました.Raspberry Pi 3 Model B (RPi3) とRaspberry Pi 3 Model B+ (RPi3+) でのテストでした.

今回,FFMPEGを試してないことを思い出し同じくRPi3, RPi3+でFFMPEGのコマンドラインプレーヤーffplayを試してみましたが,mplayer, Python3のライブラリーほどではないものの微妙に遅延していきます.

RPi3でffplayを動かしていると,一時間に数十秒遅れて,数時間で数分遅れという状況になります.一時間ごとに再起動すれば良いかもしれませんが,あんまりスマートではありません.

いろいろ試すとVLCがよくできているのが解るばかりで弱ります.

いずれもあくまで当社調べです.

ちなみにCore i7のデスクトップ機ではffplayでも遅延が増大することはありません.

「VLCでrtspを見る」は依然難航中

なんだか相変わらず断片的な書きなぐりなので,何をどうしたくて今どういう問題に直面しているのかというのを一旦まとめます.

最終目標としては,安いモニターカメラが出力するRTSP (Real Time Streaming Protocol)をRaspberry Pi 3 Model B (以下RPi3.Raspberry Pi 3 Model B+はRPi3+)にて視聴するというプロジェクトです.

昨年の段階ではRPi3およびRPi3+にManjaro ARMをインストールして,Manjaroが配布する(もとはArch Linux)VLCで視聴できていました.

しかし,その後一年間モニターカメラの運用を停止していた間にManjaroのVLCもDebianやUbuntu等と同様にRTSPのサポートを止めてしまったようで,RPi3(+)で視聴する方法がなくなってしまいました.

それで現在RPi3(+)でRTSPサポートの付いたVLCを動かす方法を色々探しています.

VLCについて明らかなのは,「本家のVLCはRTSPの視聴が可能」ということです.直接本家がバイナリーを配布しているmacOS版は問題なくモニターカメラからのRTSPを音声込みで再生できています.Windows版については確認していませんが,たぶん同様に問題ないと思います.

一方,Linuxについては,各distroのbuildを尊重しているようです.

SlackwareはdistroにはVLCは含まれていません.SlackBuildsにスクリプトがあるので,sbopkgでbuildできるはずですが,必要なパッケージが35もあってめげてしまいます.それでも気を取り直してまずVLC本体からbuildして,エラーが出るパッケージ(=必須のパッケージ)をbuild & installしていこうと方針を立て,

sbopkg -b vlc

とすると,ソースの配布サイトのアドレスがresolvできないというどうしようもないエラーが出てしまいます.

なお,前述のVLCのダウンロードサイトには,Slackwereのバイナリーのリンクもあります.これはSlackwareに貢献著しいAlienさんがbuildしたもので,試したところ,32bit版も64bit版も問題なくRTSPを再生できます.もし,Alienさんに限らずだれかがARM用もbuildして配布していれば解決なんですが😅

仮想マシンのSlackware 15.0 (32bit版)でRTSPを再生するAlienさんbuildのVLC