diff --git a/roomcam-service/README.md b/roomcam-service/README.md index bf319ce6..5df283a9 100644 --- a/roomcam-service/README.md +++ b/roomcam-service/README.md @@ -19,7 +19,7 @@ Lightweight systemd service that serves a JPEG snapshot from any MJPEG-capable w - `QUALITY=5` (ffmpeg MJPEG quality; lower is higher quality) - `PORT=8080` - `WORKDIR=/run/roomcam` - - `INPUT_FORMAT=mjpeg` (use `bayer_grbg8` for OV534/raw Bayer cams; auto-converts to JPEG) + - `INPUT_FORMAT=mjpeg` (use `bayer_grbg8` for OV534/raw Bayer cams; aliases `GRBG`/`grbg` are accepted) 3) Point the server `roomCameras[].url` to `http://:8080/snapshot.jpg`. Notes: diff --git a/roomcam-service/room-cam-snapshot.sh b/roomcam-service/room-cam-snapshot.sh index bfe056eb..056bcb51 100644 --- a/roomcam-service/room-cam-snapshot.sh +++ b/roomcam-service/room-cam-snapshot.sh @@ -12,6 +12,7 @@ INPUT_FORMAT="${INPUT_FORMAT:-mjpeg}" mkdir -p "${WORKDIR}" SNAPSHOT_PATH="${WORKDIR}/snapshot.jpg" +rm -f "${SNAPSHOT_PATH}" cleanup() { [[ -n "${FFMPEG_PID:-}" ]] && kill "${FFMPEG_PID}" 2>/dev/null || true @@ -27,7 +28,7 @@ if [[ "${INPUT_FORMAT}" == bayer_* ]]; then FFMPEG_FILTERS=(-pix_fmt yuv420p) fi -/usr/bin/ffmpeg \ +/usr/bin/ffmpeg -y \ -loglevel warning -nostats \ "${FFMPEG_INPUT_ARGS[@]}" \ "${FFMPEG_FILTERS[@]}" \ diff --git a/roomcam-service/room-cam.service b/roomcam-service/room-cam.service index dde719d3..89c91630 100644 --- a/roomcam-service/room-cam.service +++ b/roomcam-service/room-cam.service @@ -10,6 +10,7 @@ Environment=RESOLUTION=640x480 Environment=QUALITY=5 Environment=PORT=8088 Environment=WORKDIR=/run/roomcam +Environment=INPUT_FORMAT=mjpeg WorkingDirectory=/home/daniel/gits/MultiRoombaRover/roomcam-service ExecStart=/usr/bin/env bash /home/daniel/gits/MultiRoombaRover/roomcam-service/room-cam-snapshot.sh Restart=always