TS-NA220W | ネットワークカメラ | IODATA アイ・オー・データ機器
本体の録画機能に不満な点(連続録画に失敗していつの間にか録画されていなくなったり)があり、嫌になったのでRTSPから直接動画を保存することにした。
なおネットワークカメラがほしい人も今更TS-NA220Wという値段の高いものを買う必要はなく、ATOM CAM2やTapo C310あたりを買う方が良いと思う(どちらも防水防塵の屋外仕様でTapo C310はRTSP対応も公式ブログで説明されている)
Tapoを使用したRTSPライブストリーミングの利用方法 | TP-Link 日本
本題。
本体の録画機能がたびたび止まるのでLinux(ラズパイ)から直接RTSPで取得することにした。
ffmpegのバージョンは以下の通り
$ ffmpeg -version
ffmpeg version 4.3.3-0+rpt2+deb11u1 Copyright (c) 2000-2021 the FFmpeg developers
built with gcc 10 (Raspbian 10.2.1-6+rpi1)
以下のコマンドでRTSPで動画をファイルに落とし込める。
ffmpeg -i rtsp://$USERNAME:$PASSWORD@$NA220W_IPADDR:$NA220W_PORT/ipcam_h264s1.sdp -strftime 1 -segment_time 900 -segment_atclocktime 1 -segment_format mp4 -reset_timestamps 1 -nostdin -f segment /path/to/files/%Y%m%d_%H%M%S.mp4
ffmpegのオプションは公式ページに書いてあるが、オプションが膨大な上、バージョンによって使えるオプションが結構変わっているっぽいのでよく調べたほうが良さそう。
strftime
segment_time
segment_atclocktime
segment_format
reset_timestamps
nostdin
-f 対象ファイルの指定。今回はstrftime 1で%Yなどの書式が使えるので%Y%m%d_%H%M%S.mp4としている。
ffmpegを長期(数時間~数日)で連続稼働させると何らかの理由で落ちることがあるので、今の所2時間に一回プロセスを立ち上げ直すスクリプトを組んで対応している。 また(後述するが)TS-NA220Wは連続稼働(数日~十数日)しているとカメラ自体がハングすることがあるが、その場合にもffmpegのプロセスが落ちるのでプロセスを立ち上げ直す必要がある。
TS-NA220Wは映像常時録画機能が本体にあるがたびたび止まったりそもそもカメラ自体がハングすることがあり、おそらくソフトかハードにバグがあると思われる(2台持っているがそのどちらも同じような症状があるため個体差ではない可能性が高い)
カメラ自体がハングした場合は電源を抜き挿しするしかなく、とても面倒なのでファームアップデートされないかなと思っているが発売からしばらく経っておりもうファームアップデートはされないだろう。 またAPIがあることをウリの一つにしているがそのAPIの説明文書についてはなぜかPDF形式で、ダウンロードに必要な個人情報を入力させた上でのみ取得可能となっている点もいまいち。APIはWEB公開くらいしていてほしい。