wechat_ai/wechat_vision/start_realtime_stream.sh

37 lines
975 B
Bash
Executable File

#!/usr/bin/env bash
set -euo pipefail
cd "$(dirname "$0")"
mkdir -p ouptsw
PID_FILE="ouptsw/realtime_stream.pid"
LOG_FILE="ouptsw/realtime_stream.log"
# Clean up stale FFmpeg capture children from a previously killed monitor.
pkill -f "avfoundation -framerate 2.0 -i 3:none" 2>/dev/null || true
pkill -f "ffplay .*WeChat Vision ONNX Preview" 2>/dev/null || true
if [[ -f "$PID_FILE" ]]; then
OLD_PID="$(cat "$PID_FILE")"
if [[ -n "$OLD_PID" ]] && kill -0 "$OLD_PID" 2>/dev/null; then
printf 'Realtime stream is already running: pid=%s\n' "$OLD_PID"
printf 'Open http://127.0.0.1:8765/\n'
exit 0
fi
fi
nohup ./venv/bin/python ffmpeg_realtime_detect.py \
--input 3:none \
--fps 2 \
--confidence 0.05 \
--target-class 0 \
--display \
> "$LOG_FILE" 2>&1 &
PID="$!"
printf '%s' "$PID" > "$PID_FILE"
printf 'Realtime stream started: pid=%s\n' "$PID"
printf 'An ffplay preview window should open automatically.\n'
printf 'Log: %s\n' "$LOG_FILE"