low quality ptz snapshots

This commit is contained in:
legop3
2026-07-11 04:11:28 -04:00
parent f2d3567978
commit 775dd7b830
2 changed files with 18 additions and 3 deletions
+1
View File
@@ -142,3 +142,4 @@ Input/control implementation:
- server must enforce that only the active PTZ operator can send movement/zoom/control commands - server must enforce that only the active PTZ operator can send movement/zoom/control commands
- client-side input interception is only for UX; server-side operator checks are the real authority - client-side input interception is only for UX; server-side operator checks are the real authority
- all movement controls should send stop commands on key/button release, blur, disconnect, controller close, or turn loss - all movement controls should send stop commands on key/button release, blur, disconnect, controller close, or turn loss
+16 -2
View File
@@ -16,10 +16,24 @@ esac
mkdir -p "$SNAP_DIR" mkdir -p "$SNAP_DIR"
FILTER="fps=1"
QUALITY="6"
case "$PATH_NAME" in
ptz-camera)
# PTZ snapshots are shown to non-operators specifically to avoid sending the
# full live video stream. The PTZ publisher is full-resolution 16:9 video,
# so resize the JPEGs at the snapshot writer boundary before Node ever reads
# and fans them out over Socket.IO.
FILTER="fps=1,scale=480:-2"
QUALITY="10"
;;
esac
exec ffmpeg -hide_banner -loglevel warning -nostdin -y \ exec ffmpeg -hide_banner -loglevel warning -nostdin -y \
-i "srt://127.0.0.1:9000?streamid=read:${PATH_NAME}" \ -i "srt://127.0.0.1:9000?streamid=read:${PATH_NAME}" \
-an \ -an \
-vf fps=1 \ -vf "$FILTER" \
-q:v 6 \ -q:v "$QUALITY" \
-update 1 \ -update 1 \
"${SNAP_DIR}/${PATH_NAME}.jpg" "${SNAP_DIR}/${PATH_NAME}.jpg"