diff --git a/agent/agent.config.example.json b/agent/agent.config.example.json index 877a237..439f796 100644 --- a/agent/agent.config.example.json +++ b/agent/agent.config.example.json @@ -10,16 +10,16 @@ "device_name": "cam1_strict_minio_alarm", "device_id_path": "/var/lib/safesight-agent/device_id", - "models_dir": "/opt/safesight-media/models", + "models_dir": "/opt/safesight-edge-server/models", "max_upload_mb": 200, - "config_path": "/opt/safesight-media/etc/media-server.json", + "config_path": "/opt/safesight-edge-server/etc/media-server.json", "media_server_process": { "enable": true, - "exec_path": "/opt/safesight-media/bin/systemctl-wrapper.sh", - "work_dir": "/opt/safesight-media", - "configs_dir": "/opt/safesight-media/etc", - "pid_file": "/var/run/safesight-media-server.pid", + "exec_path": "/opt/safesight-edge-server/bin/systemctl-wrapper.sh", + "work_dir": "/opt/safesight-edge-server", + "configs_dir": "/opt/safesight-edge-server/etc", + "pid_file": "/var/run/safesight-edge-server-server.pid", "graceful_timeout_ms": 5000 }, "media_server_base_url": "http://127.0.0.1:9000", diff --git a/agent/internal/procctl/systemctl.go b/agent/internal/procctl/systemctl.go index 7ac14e1..772d057 100644 --- a/agent/internal/procctl/systemctl.go +++ b/agent/internal/procctl/systemctl.go @@ -49,13 +49,13 @@ func (s *SystemCtlController) Status() (Status, error) { return Status{ Running: true, Pid: pid, - ConfigPath: "/opt/rk3588-media-server/etc/media-server.json", + ConfigPath: "/opt/safesight-edge-server/etc/media-server.json", }, nil } func (s *SystemCtlController) Version() (string, error) { // 直接执行 media-server --version - cmd := exec.Command("/opt/rk3588-media-server/bin/media-server", "--version") + cmd := exec.Command("/opt/safesight-edge-server/bin/safesight-edge-server", "--version") out, err := cmd.Output() if err != nil { return "", fmt.Errorf("get version failed: %w", err) diff --git a/scripts/deploy.sh b/scripts/deploy.sh index c021b7e..c30325a 100755 --- a/scripts/deploy.sh +++ b/scripts/deploy.sh @@ -22,13 +22,13 @@ PROJECT_DIR="$(cd "$SCRIPT_DIR/.." && pwd)" BUILD_DIR="$PROJECT_DIR/build" # 安装目录 -INSTALL_DIR="/opt/safesight-media" +INSTALL_DIR="/opt/safesight-edge-server" AGENT_INSTALL_DIR="/opt/safesight-agent" SERVICE_DIR="/etc/systemd/system" LOGROTATE_DIR="/etc/logrotate.d" # 运行时数据目录(持久化数据) -RUNTIME_DIR="/var/lib/safesight-media" +RUNTIME_DIR="/var/lib/safesight-edge-server" HLS_DIR="$RUNTIME_DIR/hls" LOGS_DIR="$RUNTIME_DIR/logs" ALARMS_DIR="$RUNTIME_DIR/alarms" @@ -125,8 +125,8 @@ install_logrotate() { echo -e "${CYAN}[配置日志轮转]${NC}" # Media Server 日志轮转 - cat > "$LOGROTATE_DIR/safesight-media" << 'EOF' -/var/lib/safesight-media/logs/*.log { + cat > "$LOGROTATE_DIR/safesight-edge-server" << 'EOF' +/var/lib/safesight-edge-server/logs/*.log { daily rotate 7 compress @@ -143,7 +143,7 @@ EOF # HLS 分片清理(保留最近7天) cat > "$LOGROTATE_DIR/rk3588-hls" << 'EOF' -/var/lib/safesight-media/hls/*/index*.ts { +/var/lib/safesight-edge-server/hls/*/index*.ts { daily rotate 1 maxage 7 @@ -152,7 +152,7 @@ EOF nocompress } -/var/lib/safesight-media/hls/*/index*.m3u8 { +/var/lib/safesight-edge-server/hls/*/index*.m3u8 { daily rotate 1 maxage 7 @@ -162,7 +162,7 @@ EOF } EOF - chmod 644 "$LOGROTATE_DIR/safesight-media" + chmod 644 "$LOGROTATE_DIR/safesight-edge-server" chmod 644 "$LOGROTATE_DIR/rk3588-hls" echo -e "${GREEN}✓${NC} 日志轮转配置完成" @@ -177,7 +177,7 @@ install_hls_cleanup() { # HLS 分片清理脚本 - 保留最近 N 天的分片 KEEP_DAYS=${1:-3} -HLS_DIR="/var/lib/safesight-media/hls" +HLS_DIR="/var/lib/safesight-edge-server/hls" if [ ! -d "$HLS_DIR" ]; then echo "HLS 目录不存在: $HLS_DIR" @@ -196,20 +196,20 @@ EOF chmod +x "$INSTALL_DIR/bin/cleanup-hls.sh" # 添加到 crontab(每天凌晨3点执行) - CRON_FILE="/etc/cron.d/safesight-media" + CRON_FILE="/etc/cron.d/safesight-edge-server" cat > "$CRON_FILE" << 'EOF' # RK3588 Media Server 定时任务 SHELL=/bin/bash PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin # 每天凌晨3点清理HLS旧分片(保留3天) -0 3 * * * root /opt/safesight-media/bin/cleanup-hls.sh 3 >> /var/lib/safesight-media/logs/cleanup.log 2>&1 +0 3 * * * root /opt/safesight-edge-server/bin/cleanup-hls.sh 3 >> /var/lib/safesight-edge-server/logs/cleanup.log 2>&1 # 每周日凌晨4点清理告警视频(保留30天) -0 4 * * 0 root find /var/lib/safesight-media/clips -name "*.mp4" -type f -mtime +30 -delete 2>/dev/null +0 4 * * 0 root find /var/lib/safesight-edge-server/clips -name "*.mp4" -type f -mtime +30 -delete 2>/dev/null # 每周日凌晨4点清理告警图片(保留90天) -30 4 * * 0 root find /var/lib/safesight-media/alarms -name "*.jpg" -type f -mtime +90 -delete 2>/dev/null +30 4 * * 0 root find /var/lib/safesight-edge-server/alarms -name "*.jpg" -type f -mtime +90 -delete 2>/dev/null EOF chmod 644 "$CRON_FILE" @@ -334,7 +334,7 @@ render_template_config() { fi rendered_at="$(date -Iseconds)" - out_file="/tmp/safesight-media-${DEPLOY_CONFIG_ID}-${DEPLOY_CONFIG_VERSION}.json" + out_file="/tmp/safesight-edge-server-${DEPLOY_CONFIG_ID}-${DEPLOY_CONFIG_VERSION}.json" for overlay in $DEPLOY_CONFIG_OVERLAYS; do overlay_path="$PROJECT_DIR/$overlay" @@ -413,9 +413,9 @@ import json import os import re -config_file = "/opt/safesight-media/etc/media-server.json" -install_dir = "/opt/safesight-media" -runtime_dir = "/var/lib/safesight-media" +config_file = "/opt/safesight-edge-server/etc/media-server.json" +install_dir = "/opt/safesight-edge-server" +runtime_dir = "/var/lib/safesight-edge-server" project_dir = os.path.expanduser("~/apps/OrangePi3588Media") def fix_path(path): @@ -840,9 +840,9 @@ cmd_uninstall() { echo "[2/4] 删除服务文件..." rm -f "$SERVICE_DIR/media-server.service" rm -f "$SERVICE_DIR/safesight-agent.service" - rm -f "$LOGROTATE_DIR/safesight-media" + rm -f "$LOGROTATE_DIR/safesight-edge-server" rm -f "$LOGROTATE_DIR/rk3588-hls" - rm -f "/etc/cron.d/safesight-media" + rm -f "/etc/cron.d/safesight-edge-server" systemctl daemon-reload echo "[3/4] 备份数据..." diff --git a/scripts/ffmpeg-push.bat b/scripts/ffmpeg-push.bat new file mode 100644 index 0000000..f8a8e09 --- /dev/null +++ b/scripts/ffmpeg-push.bat @@ -0,0 +1,3 @@ +@echo off +chcp 65001 >nul +"C:\Users\Tellme\AppData\Local\Microsoft\WinGet\Packages\Gyan.FFmpeg_Microsoft.Winget.Source_8wekyb3d8bbwe\ffmpeg-8.0.1-full_build\bin\ffmpeg.exe" -re -stream_loop -1 -i C:\Users\Tellme\Pictures\人脸库\reg_008_unk_011_多人_正面_黑色鞋_白色鞋_1.mp4 -c copy -rtsp_transport tcp -f rtsp rtsp://10.0.0.49:8554/cam diff --git a/scripts/ops.sh b/scripts/ops.sh index 56ab7bc..c94d62e 100755 --- a/scripts/ops.sh +++ b/scripts/ops.sh @@ -1,6 +1,6 @@ #!/bin/bash # RK3588 Media Server 运维脚本 -# 安装后位于 /opt/safesight-media/script/ops.sh +# 安装后位于 /opt/safesight-edge-server/script/ops.sh # # 用法: sudo ./ops.sh [status|start|stop|restart|logs|hw|ddr-status|ddr-performance|ddr-ondemand|ddr-restore] @@ -65,8 +65,8 @@ cmd_status() { # HLS 输出 echo -e "${CYAN}[HLS 输出]${NC}" - if [ -d "/var/lib/safesight-media/hls" ]; then - CHANNELS=$(find "/var/lib/safesight-media/hls" -maxdepth 1 -type d 2>/dev/null | wc -l) + if [ -d "/var/lib/safesight-edge-server/hls" ]; then + CHANNELS=$(find "/var/lib/safesight-edge-server/hls" -maxdepth 1 -type d 2>/dev/null | wc -l) CHANNELS=$((CHANNELS - 1)) echo " 通道数: $CHANNELS" fi @@ -74,8 +74,8 @@ cmd_status() { # 存储使用 echo -e "${CYAN}[存储使用]${NC}" - echo " HLS: $(du -sh /var/lib/safesight-media/hls 2>/dev/null | cut -f1)" - echo " 日志: $(du -sh /var/lib/safesight-media/logs 2>/dev/null | cut -f1)" + echo " HLS: $(du -sh /var/lib/safesight-edge-server/hls 2>/dev/null | cut -f1)" + echo " 日志: $(du -sh /var/lib/safesight-edge-server/logs 2>/dev/null | cut -f1)" echo "" echo "命令帮助:" @@ -115,23 +115,23 @@ cmd_logs() { } cmd_metrics() { - /opt/safesight-media/scripts/monitor_hw.sh + /opt/safesight-edge-server/scripts/monitor_hw.sh } cmd_ddr_status() { - bash /opt/safesight-media/scripts/ddr_mode.sh status + bash /opt/safesight-edge-server/scripts/ddr_mode.sh status } cmd_ddr_performance() { - bash /opt/safesight-media/scripts/ddr_mode.sh performance + bash /opt/safesight-edge-server/scripts/ddr_mode.sh performance } cmd_ddr_ondemand() { - bash /opt/safesight-media/scripts/ddr_mode.sh ondemand + bash /opt/safesight-edge-server/scripts/ddr_mode.sh ondemand } cmd_ddr_restore() { - bash /opt/safesight-media/scripts/ddr_mode.sh restore + bash /opt/safesight-edge-server/scripts/ddr_mode.sh restore } # 主入口