今度は間違いなくネコ

今日未明ですが,動画は掲載しませんが,歩き方からしても姿かたちからしても間違いなくネコです.

緑の長方形の枠はモーションセンサーが捕捉しているよという印です.こう見ると邪魔ですが,モーションセンサーに引っかかった動画を多数連続して確認するときには役に立ちます.

以前は数匹の野良猫が昼間もフラフラしていましたが,最近はあまり昼間に見ることはなくなりました.

夜間も9月末に監視カメラの運用を再開してから初めて写りました

一度センシングしたら6分間はセンシングしないというモーションセンサーの性質上,取りこぼしている可能性はあります.

アライグマかな

かつて,わが家の監視カメラタヌキらしい動物が映っていましたが,その何日か後に近所の国道で同じ個体と思われるタヌキが死んでいました😅

その後しばらく監視カメラが故障していましたが,また9月末から運用を再開して夜間にモーションセンサーが捉えた映像も見ています.このモーションセンサーは,一度稼働すると6分間はセンシングをしないので,取りこぼしも多いと思います.この3週間ほどでは一番多く捉えるのは玄関に住んでいるガ(蛾)です.体長は1cmくらいで,昼間はドアにじっとしがみついていますが,深夜というか未明に飛び回って餌を捕まえたり繁殖のための相手を探したりしているのでしょう.

10月12日の未明に小動物が映っていました.暗視モードで被写体は小走りなのではっきり映っていませんが,これまでもネコがよく通る道筋なので,これもネコかなと思っていました.しかし,コマ送りしてみると,1フレームだけ尻尾がはっきり映っていました.階段のところでスピードを落としたようです.

太くて縞がある.そういう猫もいるかも知れませんが,ネコにしては尻尾が太すぎます.この辺ではハクビシンとアライグマの出没が報告されていて,昨年はタヌキも出たわけですが,その3種類のうち一番尻尾が画像の特徴に似ているのはアライグマです.

家に棲み着かれると厄介だそうなので,警戒しないといけません.

政府を忖度したNHKはじめとしたメディアは「防犯カメラ」と呼んでいます.
個人的には「ガー君」と呼んでます.

クリーンインストールが楽 (Raspberry Pi OS Bookworm UG)

Raspberry Pi 3 (Raspberry Pi OS Bullseye)でRTSPを見るのはffplayが楽だと記事を書いた翌日に,Raspberry Pi OS Bookwormがリリースされました.Debian Bookwormは随分前にリリースされ,Raspberry Pi OS Bookwormも近々リリースされると聞いてはいましたが,翌日とはなんというめぐり合わせでしょう.

それで,早速Raspberry Pi 3 Model Bと同Model B+にインストールしてあるRaspberry Pi OSをBullseyeからBookwormにupgradeしてみましたが,結構手間と時間がかかるうえ,ちょっとしたトラブルにも巻き込まれてしまいました.

もし,Raspberry PiをRTSPを見るなど単機能のみに使用するのでしたら,クリーンインストールのほうがずっと楽だし時間もかかかりませんし,トラブルも起きにくいです.

Upgradeしてだめならクリーンインストールという方が時間を潰すには適していますが😅

ところで,Raspberry Pi OS Bookwormもデフォルトのインストールでは,swapにファイルを使うdphys-swapfileでした.SDカードをswapに使うのは全くメリットがないので,デフォルトでZRAMを採用してほしかったですが,まあたぶん開発元ではいろんな議論があったのでょう.

書き込みが遅いし書き込みを繰り返すと寿命が来る.

How to View RTSP by Raspberry Pi 3 Using ffplay (FFMPEG)

The following article is outdated. For the Raspberry Pi OS only, you can use VLC to watch RTSP as of 3 November 2023.

Original Article follows;

For Raspberry Pis, there are many outdated or sometimes harmful guides to watching video streams (RTSP) generated by webcams. The biggest issue obstructing the approach is that Debian removed RTSP capability from the VLC media player. People who want to simply watch RTSP on the Raspberry Pi are straying.

The goal of this article is to run ffplay on the Raspberry Pi OS automatically.

Disclaimer

The first purpose of this article is to record what I did. However, I am happy if this will be helpful to someone, no matter how much or little. I would like to state this article is based on GPLv3. No warranty at all.

Prior Information

  • The information in this article is tested on Raspberry Pi 3 Model B (RPi3) and Raspberry Pi 3 Model B+ (RPi3+) both of them have 1GB RAM. Raspberry Pi 4 Model B is not tested but may work as well.
  • URL to webcam is in the form of “rtsp://user_id:password@ipaddress/designated_string”
  • Used OS is Raspberry Pi OS bullseye. The next generation, bookworm, will be released soon. This article will or will not be updated after bookworm release.

Raspberry Pi OS installation

Details of the OS installation are omitted in this article because there are many guides, including official and unofficial ones. It is lucky if you find one that suits to you. The installation is not difficult, so you can manage to install it even if the guide you found is not friendly.

The recommendable points are as follows:

  • Install Raspberry Pi OS (64bit) full version, not the LITE version.
  • Enable auto-login (just according to the default).
  • Disable screen blanking.
  • Enable the ssh server (sshd).

The following section assumes the WiFi setup is finished and that all packages have been updated.

Recommended Option: Zram

This is not a must, but I strongly recommend installing ZRAM. Many distros enable ZRAM on their default installation today, but Raspberry Pi OS bullseye doesn’t.

Installation is not difficult. Just install zram-tools with an apt command like,

sudo apt install zram-tools

then swap on the RAM with compression starts functioning. ZRAM has extremely high priority, so the bullseye default, swap-on-file, will never work again. Because the swap file remains just a huge, redundant file, you may want to remove it. It is removed as follows:

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

Test ffplay

During the OS installation, you have a mouse, a keyboard, and a monitor connected to the RPi3(+). Keep them connected until the set-up finishes.

The program to view RTSP, ffplay, is included in the FFMPEG package that comes with the Raspberry Pi OS. Open a terminal and execute the next command as a user.

ffplay -fs -loglevel quiet rtsp://user_id:password@ip_address/designated_string

where use_id, password, ip_address, and designated_string are those of the corresponding webcam.

If you get a full-screen video stream, you are one step closer. If you can’t, I can just say “It depends.”

Type “q” to quit the video.

Next, create a shell script file as a user with your favorite editor. You can name it whatever you like. For simplicity, it is named “run_ffplay.sh” here. Inside, it is like,

#!/bin/sh
sleep 20
/usr/bin/ffplay -fs -loglevel quiet rtsp://user_id:password@ip_address/designated_string >/dev/null 2>&1 &

This script sleeps 20 seconds before the execution of ffplay. I don’t know if 20 seconds is optimum. Please trim it if you like.

You can place the script file wherever you want, but your home directory is safe. Then give it execute permission.

chmod a+x run_ffplay.sh

Just run the script to see if you get a full-screen video again.

./run_ffplay.sh

Again, type “q” to quit.

Autostart

You need to create an autostart configuration file in the directory "~/.config/autostart/". By the default of bullseye installation, "~/.config" has been created then you will need,

mkdir ~/.config/autostart

Then create a file named “ffplay.desktop” in the directory with your editor. The contents will like,

[Desktop Entry]
Type=Application
Name=ffplay
Exec=/THE/PATH/TO/run_ffplay.sh

I know I’m being nosy, but /THE/PATH/TO should be the path to run_ffplay.sh. All done; just cross-finger and sudo reboot; exit.

If success, you can remove the mouse and the keyboard.

Shutdown

Unfortunately, there is no smart shutdown method provided without a keyboard and a mouse. Login to the box via ssh from another PC, then execute the command sudo poweroff. Installing an electrical switch on the GPIO and configuring it will be fun. LIRC will be a smarter alternative.

Conclusion

Since Debian removed RTSP capability from the VLC media player, many people are struggling. You can use ffplay of the FFMPEG package as an alternative.

; exit may be redundant.
Or simply poweroff may work.

「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