Optimize scripts & add kCurl
This commit is contained in:
parent
8278fae0ee
commit
693be201e6
@ -2,7 +2,7 @@
|
|||||||
set -e
|
set -e
|
||||||
|
|
||||||
BIN_DIR=/mnt/flash/plus/kp_firmware/kp_firmware_0/kp_firmware/bin
|
BIN_DIR=/mnt/flash/plus/kp_firmware/kp_firmware_0/kp_firmware/bin
|
||||||
FW=/mnt/flash/vienna/kp_firmware_host_stream
|
FW=$BIN_DIR/kp_firmware_host_stream
|
||||||
INI=$BIN_DIR/ini/host_stream.ini
|
INI=$BIN_DIR/ini/host_stream.ini
|
||||||
|
|
||||||
cd $BIN_DIR
|
cd $BIN_DIR
|
||||||
@ -19,7 +19,7 @@ rm -f /dev/shm/*
|
|||||||
PIXFMT=${PIXFMT:-NV12}
|
PIXFMT=${PIXFMT:-NV12}
|
||||||
|
|
||||||
# Model settings — read from INI as default, env var overrides at runtime
|
# Model settings — read from INI as default, env var overrides at runtime
|
||||||
_ini_val() { grep "^$1" "$INI" | sed 's/.*= *//' | tr -d '"' | awk '{print $1}'; }
|
_ini_val() { grep -i "^$1" "$INI" | sed 's/.*= *//' | tr -d '"' | awk '{print $1}'; }
|
||||||
MODEL_PATH=${MODEL_PATH:-$(_ini_val ModelPath)}
|
MODEL_PATH=${MODEL_PATH:-$(_ini_val ModelPath)}
|
||||||
MODEL_ID=${MODEL_ID:-$(_ini_val ModelId)}
|
MODEL_ID=${MODEL_ID:-$(_ini_val ModelId)}
|
||||||
JOB_ID=${JOB_ID:-$(_ini_val JobId)}
|
JOB_ID=${JOB_ID:-$(_ini_val JobId)}
|
||||||
@ -27,20 +27,18 @@ JOB_ID=${JOB_ID:-$(_ini_val JobId)}
|
|||||||
# HDMI demo profile: inference on stream1 (724x362) + HDMI output from stream0 (1920x1080).
|
# HDMI demo profile: inference on stream1 (724x362) + HDMI output from stream0 (1920x1080).
|
||||||
# InferenceStream=1: NPU receives 724x362 frames (model native res) — ~8x faster than InferenceStream=0.
|
# InferenceStream=1: NPU receives 724x362 frames (model native res) — ~8x faster than InferenceStream=0.
|
||||||
# StreamCount=2: creates both stream0 (1920x1080, draw_box+HDMI) and stream1 (724x362, inference) SSMs.
|
# StreamCount=2: creates both stream0 (1920x1080, draw_box+HDMI) and stream1 (724x362, inference) SSMs.
|
||||||
sed -i 's/^NnmSource.*/NnmSource = 0/' $INI
|
sed -i 's/^[Nn][Nn][Mm][Ss]ource.*/NnmSource = 0/' $INI
|
||||||
sed -i 's/^GetImageBufMode.*/GetImageBufMode = 0/' $INI
|
sed -i 's/^[Gg]et[Ii]mage[Bb]uf[Mm]ode.*/GetImageBufMode = 0/' $INI
|
||||||
sed -i 's/^InferenceStream.*/InferenceStream = 1/' $INI
|
sed -i 's/^[Ii]nference[Ss]tream.*/InferenceStream = 1/' $INI
|
||||||
sed -i 's/^StreamCount.*/StreamCount = 2/' $INI
|
sed -i 's/^[Ss]tream[Cc]ount.*/StreamCount = 2/' $INI
|
||||||
sed -i 's/^voc_enable.*/voc_enable = 1/' $INI
|
sed -i 's/^[Vv]oc_enable.*/voc_enable = 1/' $INI
|
||||||
sed -i "s/^PixFmt.*/PixFmt = ${PIXFMT}/" $INI
|
sed -i "s/^[Pp]ix[Ff]mt.*/PixFmt = ${PIXFMT}/" $INI
|
||||||
# DrawBoxEnable: respect INI value set by web UI (do not override)
|
# DrawBoxEnable: respect INI value set by web UI (do not override)
|
||||||
|
|
||||||
echo "=== HDMI Demo INI ==="
|
echo "=== HDMI Demo INI ==="
|
||||||
grep -E "ModelPath|ModelId|JobId|NnmSource|GetImageBufMode|InferenceStream|StreamCount|voc_enable|PixFmt" $INI
|
grep -iE "ModelPath|ModelId|JobId|NnmSource|GetImageBufMode|InferenceStream|StreamCount|voc_enable|PixFmt" $INI
|
||||||
echo "=== Model (runtime): MODEL_PATH=$MODEL_PATH MODEL_ID=$MODEL_ID JOB_ID=$JOB_ID ==="
|
echo "=== Model (runtime): MODEL_PATH=$MODEL_PATH MODEL_ID=$MODEL_ID JOB_ID=$JOB_ID ==="
|
||||||
|
|
||||||
echo "=== Start Firmware (HDMI demo) ==="
|
echo "=== Start Firmware (HDMI demo) ==="
|
||||||
LD_LIBRARY_PATH=/mnt/flash/vienna/lib $FW -m "$MODEL_PATH" -i "$MODEL_ID" -j "$JOB_ID" &
|
LD_LIBRARY_PATH=/mnt/flash/vienna/lib $FW -m "$MODEL_PATH" -i "$MODEL_ID" -j "$JOB_ID" &
|
||||||
FW_PID=$!
|
FW_
|
||||||
echo "Firmware PID: $FW_PID"
|
|
||||||
wait $FW_PID
|
|
||||||
@ -2,7 +2,7 @@
|
|||||||
set -e
|
set -e
|
||||||
|
|
||||||
BIN_DIR=/mnt/flash/plus/kp_firmware/kp_firmware_0/kp_firmware/bin
|
BIN_DIR=/mnt/flash/plus/kp_firmware/kp_firmware_0/kp_firmware/bin
|
||||||
FW=/mnt/flash/vienna/kp_firmware_host_stream
|
FW=$BIN_DIR/kp_firmware_host_stream
|
||||||
INI=$BIN_DIR/ini/host_stream.ini
|
INI=$BIN_DIR/ini/host_stream.ini
|
||||||
|
|
||||||
cd $BIN_DIR
|
cd $BIN_DIR
|
||||||
@ -21,22 +21,22 @@ PIXFMT=${PIXFMT:-NV12}
|
|||||||
INF_STREAM=${INF_STREAM:-1}
|
INF_STREAM=${INF_STREAM:-1}
|
||||||
|
|
||||||
# Model settings — read from INI as default, env var overrides at runtime
|
# Model settings — read from INI as default, env var overrides at runtime
|
||||||
_ini_val() { grep "^$1" "$INI" | sed 's/.*= *//' | tr -d '"' | awk '{print $1}'; }
|
_ini_val() { grep -i "^$1" "$INI" | sed 's/.*= *//' | tr -d '"' | awk '{print $1}'; }
|
||||||
MODEL_PATH=${MODEL_PATH:-$(_ini_val ModelPath)}
|
MODEL_PATH=${MODEL_PATH:-$(_ini_val ModelPath)}
|
||||||
MODEL_ID=${MODEL_ID:-$(_ini_val ModelId)}
|
MODEL_ID=${MODEL_ID:-$(_ini_val ModelId)}
|
||||||
JOB_ID=${JOB_ID:-$(_ini_val JobId)}
|
JOB_ID=${JOB_ID:-$(_ini_val JobId)}
|
||||||
|
|
||||||
# RTSP demo profile: single-process source + one encoder stream + RTSP server.
|
# RTSP demo profile: single-process source + one encoder stream + RTSP server.
|
||||||
sed -i 's/^NnmSource.*/NnmSource = 0/' $INI
|
sed -i 's/^[Nn][Nn][Mm][Ss]ource.*/NnmSource = 0/' $INI
|
||||||
sed -i 's/^GetImageBufMode.*/GetImageBufMode = 0/' $INI
|
sed -i 's/^[Gg]et[Ii]mage[Bb]uf[Mm]ode.*/GetImageBufMode = 0/' $INI
|
||||||
sed -i "s/^InferenceStream.*/InferenceStream = ${INF_STREAM}/" $INI
|
sed -i "s/^[Ii]nference[Ss]tream.*/InferenceStream = ${INF_STREAM}/" $INI
|
||||||
sed -i 's/^StreamCount.*/StreamCount = 2/' $INI
|
sed -i 's/^[Ss]tream[Cc]ount.*/StreamCount = 2/' $INI
|
||||||
sed -i "s/^PixFmt.*/PixFmt = ${PIXFMT}/" $INI
|
sed -i "s/^[Pp]ix[Ff]mt.*/PixFmt = ${PIXFMT}/" $INI
|
||||||
sed -i 's/^voc_enable.*/voc_enable = 0/' $INI
|
sed -i 's/^[Vv]oc_enable.*/voc_enable = 0/' $INI
|
||||||
# DrawBoxEnable: respect INI value set by web UI (do not override)
|
# DrawBoxEnable: respect INI value set by web UI (do not override)
|
||||||
|
|
||||||
echo "=== RTSP Demo INI ==="
|
echo "=== RTSP Demo INI ==="
|
||||||
grep -E "ModelPath|ModelId|JobId|NnmSource|GetImageBufMode|InferenceStream|StreamCount|voc_enable|PixFmt|DrawBoxEnable" $INI
|
grep -iE "ModelPath|ModelId|JobId|NnmSource|GetImageBufMode|InferenceStream|StreamCount|voc_enable|PixFmt|DrawBoxEnable" $INI
|
||||||
echo "=== Model (runtime): MODEL_PATH=$MODEL_PATH MODEL_ID=$MODEL_ID JOB_ID=$JOB_ID ==="
|
echo "=== Model (runtime): MODEL_PATH=$MODEL_PATH MODEL_ID=$MODEL_ID JOB_ID=$JOB_ID ==="
|
||||||
|
|
||||||
echo "=== Start Firmware (RTSP demo) ==="
|
echo "=== Start Firmware (RTSP demo) ==="
|
||||||
@ -51,6 +51,4 @@ RTSP_PID=$!
|
|||||||
|
|
||||||
echo "Firmware PID: $FW_PID"
|
echo "Firmware PID: $FW_PID"
|
||||||
echo "RTSP PID: $RTSP_PID"
|
echo "RTSP PID: $RTSP_PID"
|
||||||
echo "RTSP URL: rtsp://192.168.3.10/live1.sdp"
|
echo "RTSP U
|
||||||
|
|
||||||
wait $FW_PID
|
|
||||||
@ -3,7 +3,7 @@
|
|||||||
set -e
|
set -e
|
||||||
|
|
||||||
BIN_DIR=/mnt/flash/plus/kp_firmware/kp_firmware_0/kp_firmware/bin
|
BIN_DIR=/mnt/flash/plus/kp_firmware/kp_firmware_0/kp_firmware/bin
|
||||||
FW=/mnt/flash/vienna/kp_firmware_host_stream
|
FW=$BIN_DIR/kp_firmware_host_stream
|
||||||
INI=$BIN_DIR/ini/host_stream.ini
|
INI=$BIN_DIR/ini/host_stream.ini
|
||||||
|
|
||||||
cd $BIN_DIR
|
cd $BIN_DIR
|
||||||
@ -20,7 +20,7 @@ rm -f /dev/shm/*
|
|||||||
PIXFMT=${PIXFMT:-NV12}
|
PIXFMT=${PIXFMT:-NV12}
|
||||||
|
|
||||||
# Model settings — read from INI as default, env var overrides at runtime
|
# Model settings — read from INI as default, env var overrides at runtime
|
||||||
_ini_val() { grep "^$1" "$INI" | sed 's/.*= *//' | tr -d '"' | awk '{print $1}'; }
|
_ini_val() { grep -i "^$1" "$INI" | sed 's/.*= *//' | tr -d '"' | awk '{print $1}'; }
|
||||||
MODEL_PATH=${MODEL_PATH:-$(_ini_val ModelPath)}
|
MODEL_PATH=${MODEL_PATH:-$(_ini_val ModelPath)}
|
||||||
MODEL_ID=${MODEL_ID:-$(_ini_val ModelId)}
|
MODEL_ID=${MODEL_ID:-$(_ini_val ModelId)}
|
||||||
JOB_ID=${JOB_ID:-$(_ini_val JobId)}
|
JOB_ID=${JOB_ID:-$(_ini_val JobId)}
|
||||||
@ -28,17 +28,17 @@ JOB_ID=${JOB_ID:-$(_ini_val JobId)}
|
|||||||
# Combined RTSP + HDMI profile.
|
# Combined RTSP + HDMI profile.
|
||||||
# InferenceStream=1 uses stream1 (724x362) for inference.
|
# InferenceStream=1 uses stream1 (724x362) for inference.
|
||||||
# DrawOnResize=1 so segmentation overlay is drawn on resize streams (RTSP streams).
|
# DrawOnResize=1 so segmentation overlay is drawn on resize streams (RTSP streams).
|
||||||
sed -i 's/^NnmSource.*/NnmSource = 0/' $INI
|
sed -i 's/^[Nn][Nn][Mm][Ss]ource.*/NnmSource = 0/' $INI
|
||||||
sed -i 's/^GetImageBufMode.*/GetImageBufMode = 0/' $INI
|
sed -i 's/^[Gg]et[Ii]mage[Bb]uf[Mm]ode.*/GetImageBufMode = 0/' $INI
|
||||||
sed -i 's/^InferenceStream.*/InferenceStream = 1/' $INI
|
sed -i 's/^[Ii]nference[Ss]tream.*/InferenceStream = 1/' $INI
|
||||||
sed -i 's/^StreamCount.*/StreamCount = 2/' $INI
|
sed -i 's/^[Ss]tream[Cc]ount.*/StreamCount = 2/' $INI
|
||||||
sed -i 's/^voc_enable.*/voc_enable = 1/' $INI
|
sed -i 's/^[Vv]oc_enable.*/voc_enable = 1/' $INI
|
||||||
sed -i "s/^PixFmt.*/PixFmt = ${PIXFMT}/" $INI
|
sed -i "s/^[Pp]ix[Ff]mt.*/PixFmt = ${PIXFMT}/" $INI
|
||||||
# DrawBoxEnable: respect INI value set by web UI (do not override)
|
# DrawBoxEnable: respect INI value set by web UI (do not override)
|
||||||
# DrawOnResize: not needed — firmware auto-disables it when InferenceStream != 0
|
# DrawOnResize: not needed — firmware auto-disables it when InferenceStream != 0
|
||||||
|
|
||||||
echo "=== RTSP+HDMI Demo INI ==="
|
echo "=== RTSP+HDMI Demo INI ==="
|
||||||
grep -E "ModelPath|ModelId|JobId|NnmSource|GetImageBufMode|InferenceStream|StreamCount|voc_enable|PixFmt|DrawBoxEnable|DrawOnResize" $INI
|
grep -iE "ModelPath|ModelId|JobId|NnmSource|GetImageBufMode|InferenceStream|StreamCount|voc_enable|PixFmt|DrawBoxEnable|DrawOnResize" $INI
|
||||||
echo "=== Model (runtime): MODEL_PATH=$MODEL_PATH MODEL_ID=$MODEL_ID JOB_ID=$JOB_ID ==="
|
echo "=== Model (runtime): MODEL_PATH=$MODEL_PATH MODEL_ID=$MODEL_ID JOB_ID=$JOB_ID ==="
|
||||||
|
|
||||||
echo "=== Start Firmware (RTSP+HDMI demo) ==="
|
echo "=== Start Firmware (RTSP+HDMI demo) ==="
|
||||||
@ -53,6 +53,4 @@ RTSP_PID=$!
|
|||||||
|
|
||||||
echo "Firmware PID: $FW_PID"
|
echo "Firmware PID: $FW_PID"
|
||||||
echo "RTSP PID: $RTSP_PID"
|
echo "RTSP PID: $RTSP_PID"
|
||||||
echo "RTSP URL: rtsp://192.168.3.10/live1.sdp"
|
echo "RTSP U
|
||||||
|
|
||||||
wait $FW_PID
|
|
||||||
@ -15,7 +15,7 @@ set -e
|
|||||||
|
|
||||||
HOST_URL="http://192.168.0.105:8080"
|
HOST_URL="http://192.168.0.105:8080"
|
||||||
BIN_DIR=/mnt/flash/plus/kp_firmware/kp_firmware_0/kp_firmware/bin
|
BIN_DIR=/mnt/flash/plus/kp_firmware/kp_firmware_0/kp_firmware/bin
|
||||||
FW=/mnt/flash/vienna/kp_firmware_host_stream
|
FW=$BIN_DIR/kp_firmware_host_stream
|
||||||
INI=$BIN_DIR/ini/host_stream.ini
|
INI=$BIN_DIR/ini/host_stream.ini
|
||||||
|
|
||||||
# ── 一次性 ISP 資源修正 ─────────────────────────────────────────────────────
|
# ── 一次性 ISP 資源修正 ─────────────────────────────────────────────────────
|
||||||
|
|||||||
BIN
tools/device/kCurl
Normal file
BIN
tools/device/kCurl
Normal file
Binary file not shown.
@ -48,12 +48,12 @@ DEMO_HDMI_SRC = SCRIPT_DIR / "tools" / "device" / "demo_hdmi.sh"
|
|||||||
DEMO_RTSP_HDMI_SRC = SCRIPT_DIR / "tools" / "device" / "demo_rtsp_hdmi.sh"
|
DEMO_RTSP_HDMI_SRC = SCRIPT_DIR / "tools" / "device" / "demo_rtsp_hdmi.sh"
|
||||||
START_SH_SRC = SCRIPT_DIR / "tools" / "device" / "start.sh"
|
START_SH_SRC = SCRIPT_DIR / "tools" / "device" / "start.sh"
|
||||||
NEF_DIR = SCRIPT_DIR / "nef"
|
NEF_DIR = SCRIPT_DIR / "nef"
|
||||||
KCURL_SRC = Path("/home/user/Documents/GOFACE/奧創雲/kCurl-1.1.1-release/kCurl-linux-armv7")
|
KCURL_SRC = SCRIPT_DIR / "tools" / "device" / "kCurl"
|
||||||
CONFIG_FILE = SCRIPT_DIR / ".web_config.json"
|
CONFIG_FILE = SCRIPT_DIR / ".web_config.json"
|
||||||
PROFILES_FILE = SCRIPT_DIR / "model_profiles.json"
|
PROFILES_FILE = SCRIPT_DIR / "model_profiles.json"
|
||||||
|
|
||||||
BIN_DIR_DEVICE = "/mnt/flash/plus/kp_firmware/kp_firmware_0/kp_firmware/bin"
|
BIN_DIR_DEVICE = "/mnt/flash/plus/kp_firmware/kp_firmware_0/kp_firmware/bin"
|
||||||
FW_PATH_DEVICE = "/mnt/flash/vienna/kp_firmware_host_stream"
|
FW_PATH_DEVICE = f"{BIN_DIR_DEVICE}/kp_firmware_host_stream"
|
||||||
|
|
||||||
DEFAULT_CONFIG = {
|
DEFAULT_CONFIG = {
|
||||||
"host_ip": "192.168.3.1",
|
"host_ip": "192.168.3.1",
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user