ATOM Cam 2のRTSPをRasPi3で見る update (2025/09/26)

その後もATOM Tech社のATOM Cam2が出力するReal Time Streaming Protocol (RTSP)をRaspberry Pi 3 Model B (RPi3)および同+ (RPi3+)で視聴するシステムを少しずついじりながら運用しています.

現在の状況 (RPi3, RPi3+共通)

システム構成

  • 1GB RAM, 32GB microSDカード (RPi3+は64GB)
  • Raspberry Pi OS 12 (Bookworm)
  • dphys-swapfile 512MB 使用 (インストールのデフォルト設定),ZRAM不使用

VLCの起動

$HOME/bin/run_vlc.sh

#!/bin/bash
killall vlc
sleep 3
DISPLAY=:0 /usr/bin/vlc   \
	-f \
	rtsp://カメラのUserID:パスワード@カメラのIPアドレス/live	\
  	> /dev/null 2>&1 &

systemdの設定

$HOME/.config/systemd/run_vlc.service

# run_vlc.service
[Unit]
Description=Run vlc
DefaultDependencies=no
After=graphical.target

[Service]
Type=simple
ExecStart=/PATH/TO/THE/SCRIPT/run_vlc.sh
TimeoutStartSec=0
RemainAfterExit=yes

[Timer]
OnBootSec=15sec

[Install]
WantedBy=timers.target

設定

ユーザー権限にて

systemctl --user enable run_vlc

再起動の仕組み

$HOME/bin/rerun_vlc.sh

#!/bin/bash
systemctl --user restart run_vlc 

$HOME/.config/systemd/user/rerun_vlc.service

# rerun_vlc.service
[Unit]
Description=Re-run vlc
DefaultDependencies=no
After=run_vlc.target

[Service]
Type=simple
ExecStart=/PATH/TO/THE/SCRIPT/rerun_vlc.sh
TimeoutStartSec=0
RemainAfterExit=no

[Install]
WantedBy=default.target 

$HOME/.config/systemd/user/rerun_vlc.timer

# rerun_vlc.timer
[Unit]
Description=Rerun vlc every day at 11:32
After=graphical.target

[Timer]
OnCalendar=*-*-* 11:32:00
OnCalendar=*-*-* 04:30:00

[Install]
WantedBy=timers.target

設定

systemctl --user enable rerun_vlc.timer

解説

従前と一番大きく異なるのは,run_vlc.timerを無くして,その機能をrun_vlc.serviceに合体させたことです.

他は大きく変えていませんが,ATOM Cam 2は毎日11:30に再起動するようにして,RPi3(+)はそれに対応して毎日11:32と,念のため4:30にVLCを再起動させるようにしています.

安定性としては,RPi3,RPi3+ともに1日に1度くらいのハングアップです.

プロジェクト停滞中

プロジェクトの進捗状況ですが,#1は既報の通り金にものを言わせて完了しました.しかし,#2と#3はほとんど進捗してません.すべてはこの暑さのせいです😓

暑くて人間のほうはどうしようもない状態でも雑草は元気にぼんぼん伸びますから,週3ペースの草刈りを減らすわけにはいきません.

残りの日々も結局体力回復だとか言ってダラダラ過ごしてますから何にも進みません.

プロジェクト#2, #3って何だったっけな.まだ2つも残っていたけど思い出せないと言う有り様です.

ATOM Cam 2のRTSPをRasPi3で見る update (2025/08/20)

その後もRaspberry Pi 3 Model B (RPi3)および同+ (RPi3+)で,ATOM Tech社のATOM Cam 2が出力するRTSPを受信して地デジテレビに表示しています.

画質はきれいで暗視性能も良く,その辺は問題ないのですが,やはりあいかわらず不安定性にさいなまれています.まあ業務用の監視カメラに比べるとシステム全体の価格が2〜3桁も違うのでそこら辺はアイデアで対処していきます.

不安定性はいくつかあって,ATOM Cam 2に起因するもの,RPi3(+)に起因するものがあります.

ATOM Cam 2は連続運用していると,まずhackで動いているFTPクライアントが落ちます.次にRTSPサーバーが落ちます.また,1台だけ,1番古い個体ですが,これはWi-Fi接続が切れます.

それらを回避する方法として,いつの頃からか定期的にリブートする仕組みが取り入れられました.Wi-Fiが落ちる一番古い個体は毎日1回,その他は週に3〜4回リブートするように設定しました.これでしばらく様子を見たいと思います.

また,RPi3(+)のほうも,RTSPの視聴に使用しているVLCが時々落ちますので,これもリスタートしたいのですが,ChatGPTに嘘を教えられて遠回りしてしまいました.

結局,VLCを起動するrun_vlc.service, run_vlc.timerファイルとは別に,

systemctl --user restart run_vlc

を実行するための,rerun_vlc.serviceとrerun_vlc.timerを作りました.ATOM Cam 2がリブートする2分後に実行するように設定しました.

また,現状ではRPi3+のほうがよく固まるので,ATOM Cam 2のリブートの2分後に加えて,早朝にも一度実行するように設定しました.

これでしばらく様子を見ます.

プロジェクト#3の計画

この夏に進めてきている3つのプロジェクトですが,#1 “メインWSのリプレース” は済みました

#2 “Webサーバー/プライベートサーバー更新” については,なかなか進みません.というのはこの夏暑くて電力消費量が非常に多く,昼間の暑い時間にコンピュータールーム1あるいは,書斎,あるいはシャック(アマチュア無線室の別名).にエアコンをかけるという無駄なことはわが家の財政上出来ないためです.秋以降に進めたいと思います.

#3 “門柱灯サイバー化計画” についても,最終的に屋外工事があるので,この猛暑の中なかなか進めにくいです.それでも何もしないのでは本当に進行しないどころか,忘れ去ってしまいそうなのでネットで情報を集めたりしています.

また,ホームセンターで実物を見た方がいいなと思っていましたが,これもなかなか暑くて足が向きませんでした.今日はちょっと時間的な余裕があったので寄って,見てみました.

未来工業の未来ボックスという,なんかドラえもんの道具のようなプラスチックの箱を外壁に付けて,リビングの屋内のコンセントから電源を分岐するとともに,LANケーブルも外に出そうという算段です.この未来ボックスから2mほど離れた外壁に別の配線用のボックスを取り付けてフレキシブルパイプでつなぐ予定です.

今日見たホームセンターには全部材料がありました.未来ボックスはともかく,フレキシブルパイプが10mで約2,500円,パイプを壁にネジ止めするためのサドルが一袋約2,500円です.実際に必要なのは2mでサドルも5個もあれば十分なので,8m分のパイプと多数のサドルが不良在庫になる見込みです.

いくらなんでもって感じがするので,他の方法がないか考えてみたいと思います.

zram (7) 小メモリーも設定次第かも

手持ちのRaspberry Pi (RPi)のうち,RPi 3 Model B (RPi3)と,RPi 3 Model B+ (RPi3+)はメモリーが1GBです(実際はどちらも900MB強).またRPi Zero 2 WHは500MBです.

メモリーが小さいRPiは,ZRAMのサイズを100%〜120%にしていました.しかしどうもこれが負担のようで,RPi3, RPi3+ともVLCが1日以上安定してRTSPを再生することが出来ません.それで,小メモリーにZRAMは不適といったんは結論づけました.

しかし,RPiでVLCを使ってRTSPを再生するにあたり,SWAPが500MB以上必要なケースはないようです.少なくともdphys-swapfileでは初期値が512MBで,動作状況を見てもSWAPの使用が300MBを超えることはないです.

ということで,ZRAMについてもSWAPの容量は400〜500MBで良いのではないかと思い,現在主記憶の50%という設定で動かしています.今のところRPi3もRPi3+もまる1日以上安定してVLCがRTSPを再生し続けています.

ところで,RPi Zero 2 WHですが,こちらは主記憶が500MBで,VLCでRTSPを再生するとSWAPの領域は200MBを越えますので,おそらくZRAMの領域を主記憶の50%としたところで安定性は戻らないと思います.そもそもdphys-swapfileでも安定しませんし.

ということで,RPi3およびRPi3+についてはしばらく50%でZRAMの試用を続けます.RPi Zero 2 WHについては門柱灯を日の出,日の入りの時刻にOFF/ONする門番の役目を与えることにします.