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度くらいのハングアップです.

Debianでpartition swapを永久に止める

これ色々苦労しました.前にうまくいったのにメモが残っていないので今回も苦労しました.そこで,BLOGに残す次第です.

Raspberry Pi OSではdefaultのインストールでpartition swapを使いませんが,Debianではデフォルトのインストールでswapのパーティションを切られそこがアクティブになります./etc/fstrabでそのパーティションの記述をなくしてもtypeがLinux swapのpartitionがある限り強情にpartition swapが起動されます.

いろいろやりましたが,どれが効いているか解りません.ChatGPTは,

  • /etc/fstab → swap 行コメントアウト
  • systemctl mask dev-sdaX.swap
  • /etc/initramfs-tools/conf.d/resume 削除 & update-initramfs -u
  • grubresume= パラメータ削除 & update-grub
  • sgdisk --typecode=N:8300 /dev/sda でパーティションタイプを変更

といいます.たぶん全部するのがよいと思います.

swapoffしてfdiskでパーティションのtypeをlinux-swap以外にするのがpatition swapを使わない必要条件だと思います.しかし他の手続きをしておかないとブート時にタイムアウトまで待つようなことになって起動時間が余計にかかるなどの副作用があったように記憶しています.

ちなみに,今いじっているDebian ARM64 13 TrixieはM4 Mac miniのVMWare Fusion上で動かしていて,マスストレージ(仮想ディスク)は,/dev/nvme0n1で,swap partitionは,/dev/nvme0n1p4でした.

ついでに,M4 Mac miniのVMWare Fusion上で動かすDebian ARM64 Trixieは,他の仮想マシン・実マシンのどの環境よりも早いDebianです(当社比).

筆者はfdiskを使います.

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分後に加えて,早朝にも一度実行するように設定しました.

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

ChatGPTでRaspberry Pi OSを修復

ChatGPTは,これまでWeb検索でキーワードや質問を組み合わせたりして答えを探していたのを,文や文章で質問するとすぐ答えてくれて便利です.ただし,技術的な話でも社会問題や日常のことについてもときどき嘘を答えますので,まあそれなりの話し相手だと思えば悪くないです.

技術的な問題については,いきなりかなり詳しい答えを出してくれますが,そのまま使えたことは滅多にありません.

ところがです,最近Debianの最新リリース13.0 Trixieがリリースされ,AMD64 (x86_64)についてはあまり何も考えずサクッとupgradeできましたが,Raspberry Pi 5 Model Bについては,SSDベースで動かしているRaspberry Pi OS (RPi OS)+ KDE Plasma Desktop (KDE)と,SDカードベースで動いているRPiOS + PIXEL (RPiOSのdefault desktop)の両方とも壊してしまいました😓

apt upgradeをかけて出るエラーをChatGPTにかけたところ,ほとんど回答の手順からRPi OS + KDEのほうは回復できました

一方のSDカードベースのPIXELのほうは,ChatGPTの示した手順通りにはいきませんでしたが,それでも何とか回復できました.

ということで,今回はChatGPTのすごさに感心した次第です.

ちなみに,ChatGPTのバックエンドがGPT-5になってから,対応が素っ気なくなったなと感じています(というより,4.xが質問者に寄り添いすぎたと思います)が,ネットでざっと検索すると,そう感じているのは筆者だけではないようです.

ただし,KDE Settingsで “About” が表示されないなど一部欠損があるようです.