Open myxor opened 1 year ago
love this too
As always: We are open to PRs, here is our contribution guide.
Note that
MonitorType
instead of the currently primary approach of writing monitors in monitor.js
. See for details.I need it very much, that would be great!!!
Yes I would need that too. Im currently just pinging the cams. A RTSP checkup would be more precise.
@CommanderStorm
RTSP(S) is almost exactly like HTTP(S), except that you would send a request like this...
OPTIONS rtsp://media.example.com:554/path?query RTSP/1.0
CSeq: 1
...and receive a respnse like that...
RTSP/1.0 200 OK
Cseq: 1
...plus some optional headers you can ignore. The major difference is the use of RTSP/1.0 vs HTTP/1.0 and that most implementations probably require the CSeq header.
Testing if the camera actually transmits a video stream would require using ffprobe (from ffmpeg). For example, the following could be run repeatedly from a cron job:
docker run -it --rm --entrypoint ffprobe minidocks/ffmpeg \
-hide_banner -loglevel info \
-rtsp_transport tcp \
-i 'rtsp://media.example.com:554/path?query' \
| grep 'Video:.*' \
&& curl https://uptime-kuma.example.com/api/push/hJKhjk4Hjk?status=up
Run only the first few lines before the grep until you can get a sensible output. Then grep for whatever assures you that your camera feed is what you're expecting. For brownie points, extract a fancy message and pass it on to uptime-kuma.
If ffprobe is already installed, replace the first line with just ffprobe
.
⚠️ Please verify that this feature request has NOT been suggested before.
🏷️ Feature Request Type
New Monitor
🔖 Feature description
Support RTSP (https://en.wikipedia.org/wiki/Real_Time_Streaming_Protocol) which is often used by IP Cameras.
✔️ Solution
Support RTSP Monitor
❓ Alternatives
-
📝 Additional Context
-