rtspがVLC playerで開けない

政府や警察関係が防犯カメラと呼ばせたい監視カメラをわが家でも動かしています.そのカメラのファームウェアは明らかな不具合があり,また,ユーザーフォーラムで機能追加の要望があるのに,なかなかバージョンが上がらなかったのですが,ここ数か月の間にバタバタと2回上がりました

最近まで気が付かなかったのですが,Real Time Streaming Protocol (プロトコル名 “rtsp” )がそのどちらかのパージョンアップのときからサポートされていたようです.

早速,VLC playerで見てみました.macOS版では全く問題なく再生できます.Manjaro ARM64版もOKです.ところが,Raspberry Pi OS版はエラーになってしまいます.

Raspberry Pi のVLC playerではエラー

URLは,

rtsp://ユーザーID(英数):パスワード(英数)@数字表記のIPv4アドレス/サービス名(英数)

という型式です.具体的にはこんなです.

rtsp://1234:5678@192.168.0.240/lv00

バージョンは,Manjaro ARM64用と,Raspberry Pi OS用はいずれも 3.0.17.4 で,macOS(x86 64bit)版は, 3.0.17.3 で,機能に関わる差はありません.

[2022年6月23日(木)]

追記: Debian AMD64 (x86_64)でもNG

表題の通りですが,Raspberry Pi OS (64bit)版と同じエラーを出して,Debian版も動きません.Debianでもだめなので,Raspberry Pi OSでも当然だめということなのでしょう.

[2022年6月24日(金)]

追記: 結論

台数に関してはセキュリティーの関係から記しません.
残念ながら,不具合の1つは改善しましたが,完全にはよくなっていません.

zram (4) 設定の場所

なんでも一通り動けば,あとはいじることもなくなるので,設定ファイルについてはじきにその場所すら忘れてしまい,次に必要となった時またゼロからはじめるというのが世の常です😓

少なくとも検索が自己完結できるように,メモっておきます.というか,既に忘れはじめているので復習です.

共通事項

共通のユーティリティーとしては,zramctlがあります.zramの動作を確認する場合は,

zramctl

ファイルのswapを含む,swapのすべてを表示するには,

swapon

です.

Debian

Bullseye現在の話です.一番解りやすいです.インストールはapt install zram-toolsで良く,デフォルト設定で動き出します.

設定をカスタマイズする場合は,/etc/default/zramswapを編集します

動作確認は,

systemctl status zramswap

です.

また,/var/swapを使ったswapを止めるには下記を実行します.

systemctl stop dphys-swapfile
systemctl disable dphys-swapfile
rm -v /var/swap

Slackware

Slackware64, SlackwareARMの15.0で動作確認してます.インストールは,ここら辺を参考にしました

上記の内容の通りですが,/etc/udev/rules.d/10-zram.rulesと,/etc/rc.d/rc.localに起動と設定を自分で書くことになります.

Manjaro

udev

Manjaroでも筆者はその後,Slackwareと同じくudevでの設定を採用しています.

[この項2024年6月20日追記]

zram-generator & systemd-swap

これは,x86 64bitでも,ARM 64bitでも使えます.

設定ファイルは,/etc/systemd/swap.conf.d/内の,任意.confで,テンプレートは/etc/systemd/swap.confです.

動作確認は,

systemctl status systemd-swap

です.

ARM64 (zswap-arm)

zswap-armは下記の理由から使わないほうがいいと思います.

設定ファイルはなく,敢えてカスタマイズするとしたら,/usr/lib/systemd/scripts/zswap-arm-ctrlをいじるしかなさそうです.

2022/6/20の稿では,zram.confとしていましたが,zramswapが正しいです(2023/8/10記).
ARM, aarch64の記事ですが,AMD64 (x86_64)も同じでいけます.試してませんが,オリジナルのSlaclware (32bit版)も大丈夫だと思います.

zram (3) 〜zramの話ではない〜

zramをswapに使えば,SDカードで動かしているRaspberry Pi 4 Model B (RPi4) の挙動は少しは改善するかという試みですが,その答えはNOでした.遅さはswapだけの問題ではないです.

で,それを検証するのに四苦八苦しました.これまでRPi4にLinux distroをインストールする場合,インストール用イメージをSDカードに焼いて起動して,必要最低限の設定を終えたら,SDカードの中身をSSDにコピーして,多少のおまじないをしてからSSDから起動するということでうまくいってきました.

Raspberry Pi 3 Model B(+)の場合も,ルートディスクの中身をSSDにコピーしてSDカードのvfat内のcmdline.txtを書き換えてOKでした

当然,SSDで動いていれば,適切にその内容をSDカードにコピーすれば,SDカードのみで使える様になるはずです.それがなかなかうまくいきませんでした.

SDカードは,Toshibaのmicro SDカード64GBです.

過程を思い出すのがめんどうなので,結果だけ書きますと,比較のために使用した1TBのHDDはもともとgptで成功.64GB SDカードはUSBアダプターを使ってテストして,dosではだめで,これもgptにしたら成功.成功したところで,RPi4のSDカードスロットに差しても起動するようになった,といったところでしょうか.

なぜSDカードからの起動がdosパーティションではだめで,gptならうまくいくのかは調べません.64GBだからか,Toshiba製だからなのか,解りません.

将来,また今回のことを忘れで試行錯誤する自分宛のメモですが,「cmdline.txtやfstabの記述は,UUIDを使うこと」,です.具体的なディバイス名は,複数のUSBディバイスを使う時や,RPi4本体のSDカードスロットに差し込む時に変わるからです.

もうひとつ,SSD/HDDからSDカードへのrsyncによるコピーは,一晩以上かかります.

CD/DVDはともかくSDカードも「焼く」で良いかの議論はめんどうなので割愛します.
この場合は,RPi4と違って,起動用のSDカードは必要です.なんかちょっと難しいまじないをすればSDカードが要らなくなるようですが,そこまでは追求しません😓

今日は何一つうまくいかない

zram, がSDカードをルートドライブとしているRaspberry Pi 4 Mobel Bにどれくらいパフォーマンスの向上をもたらすか試したくて,SSDで動いているManjaro ARMのそのSSDの内容をまるまるSDカードにコピーして,ブートさせようとしましたが,全くうまくいきません.

SDカードからSSDにコピーするのはほとんど成功しているのに,その逆がうまくいかない訳はありません.

この時期,まだ気温は真夏より低いですが,蒸してきて,個人的には1年で一番体調管理が難しい時期です.ここのところの睡眠不足も影響してか,頭が回りません.

もう一度,公式インストールイメージをSDカードにコピーしてやり直すのが早道,というか回らない頭を使わないで済むと思います.

この他,午前中畑の草取りをしましたが,予定のエリアを完了できませんでした.

他は特に何もしてません😓

zram (2)

結局,SlackwareARMのサーバー,古いCore i7の第2 ワークステーションの第1 OSであるManjaro AMD64, 第2 OSであるDebian AMD64,全部zramをswapに使うようにして,ディスクのswapパーティションを使うのをやめました.

あとは仮想マシンが残っていますが,緊急性はないのでぼちぼちやっていきます

しばらく様子を見たいと思います.

zramをswapにすることはできましたが,思ったような設定はできていません.
Bullseyeでは,zram-toolsをインストールするだけで一番簡単でした.
実験的な意味はあるので気力がみなぎっているときにやってみるつもりです.