前回のupdateから3週間ですが,Raspberry Pi OSをTrixie (13.1)にupgradeしたので,現状をまとめます.
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 13.1 (Trixie)
- rpi-swap (ZRAMとfile swapのハイブリッド.RPiOS Trixieのデフォルト設定)
Waylandでは安定しないので,raspi-configでX11を選択します.
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
解説
rpi-swapの効果と,VLCのたゆまぬupdateのおかげと思いますが非常に安定です.RPi3ではほとんどVLCが落ちることはなくなりました.RPi3+ではまだ1日に1度くらいの頻度で落ちます.
VLCが落ちるケースでも従前は画面がフリーズすることが多かったですが,Trixieにupgradeして以降はフリーズはなく,VLCの表示窓がフルスクリーンを終了してエラーメッセージが表示されるようになりました.フリーズ状態でVLCやOSを再起動するには数分無駄時間がかかりましたが,フリーズしないので再起動も即できます.
また,その後確認はしていませんが,Raspberry Pi 4 Model BやRaspberry Pi 5では余裕で安定動作するはずです.
Rapsberry Pi Zero 2もTrixieにupgradeしましたが,VLCで当該のRTSPを視聴すること自体が不可能な状態です.