feat: 链路控制、延迟校准与长测工具,补全文档
- 固件:新增 link_control / stream_control,覆盖运行中 Wi-Fi 断线恢复、取帧节拍、 温控与质量/帧率减载;UDP 发送增加有界重试预算与帧期限,PSRAM JPEG 直发减少拷贝。 - 协议:重组器严格校验分片布局,统计未收齐、超时与完全缺失的帧,处理帧号回绕与设备重启。 - 桌面端:视频改 latest-value 通道并前置帧时间标记,拒绝积压和慢解码的过期画面;新增 延迟标记页与 --latency-report 校准,完善录制、服务端与退出流程。 - 文档与脚本:新增硬件、开发、延迟、功耗、实时性、稳定性文档和改动记录,重写根 README; 新增构建、性能、延迟与串口长测脚本,以及长测客户端脚本。 - 构建:固定 esp-1.97.0.0 工具链,分区表随构建复制,更新 sdkconfig 与忽略规则。
This commit is contained in:
@@ -20,6 +20,54 @@ WIFI_PASS=your-password
|
||||
#CAM_RES=vga
|
||||
# JPEG quality 0-63, lower is better quality
|
||||
#CAM_QUALITY=12
|
||||
# Optional adaptive compression ceiling, 0 = fixed (default), else QUALITY..63.
|
||||
# Shed load on sender congestion, restore detail after 15 stable seconds.
|
||||
#CAM_QUALITY_MAX=0
|
||||
# Stream cap, 0 = uncapped (default), 1-60 = maximum fps.
|
||||
# Paces frame retrieval and UDP delivery; sensor clocks remain unchanged.
|
||||
#CAM_MAX_FPS=0
|
||||
# OV5640 PLL profile: default (driver timing) | vga30 (VGA ~30.09 fps).
|
||||
# vga30 preserves HTS/VTS: XCLK 20, VCO 610, SYSCLK 61, PCLK 15.25 MHz.
|
||||
# Retune exposure-line limits when switching profiles; keep HTS at default.
|
||||
#CAM_CLOCK_PROFILE=default
|
||||
# Capture frame buffers in PSRAM: 3 (default) or 2 (lower capture queue depth).
|
||||
# Prefer 3 for burst tolerance; 2 showed worse long-run peak frame loss here.
|
||||
#CAM_FB_COUNT=3
|
||||
# Sensor grayscale effect while retaining hardware JPEG, 0 = colour (default).
|
||||
#CAM_GRAYSCALE=0
|
||||
# OV5640 AE target bias: 0 (default), -1 (~-1.1 EV), -2 (~-1.9 EV).
|
||||
# This target alone does not guarantee a shorter shutter.
|
||||
#CAM_EXPOSURE_EV=0
|
||||
# Optional OV5640 driver AE level -5..5; requires CAM_EXPOSURE_EV=0.
|
||||
# Unset uses the EV setting. -1 lowers the target 55 -> 45 (~-0.29 EV),
|
||||
# a finer brightness adjustment than CAM_EXPOSURE_EV=-1. AEC/AGC stay on.
|
||||
#CAM_AE_LEVEL=-1
|
||||
# OV5640 fixed shutter in sensor lines, 0 = automatic (default), AGC stays on.
|
||||
# 220 lines is roughly 10 ms with default VGA HTS 2060; verify timing/logs.
|
||||
#CAM_SHUTTER_LINES=0
|
||||
# Optional automatic exposure cap in sensor lines, 0 = driver default.
|
||||
# AEC/AGC stay automatic, night frame extension is disabled. Mutually exclusive
|
||||
# with a nonzero fixed shutter. Default VGA: 440 lines is about 20 ms.
|
||||
# With vga30 use 592 lines for about 20 ms, including two 50 Hz AEC bands.
|
||||
#CAM_EXPOSURE_MAX_LINES=0
|
||||
# OV5640 automatic gain ceiling, 0 = driver default, else 1..63 times.
|
||||
# More gain can brighten short exposures but also amplifies noise.
|
||||
#CAM_GAIN_CEILING=0
|
||||
# OV5640 horizontal total, 0 = driver default. Even values only; hardware test
|
||||
# required. Changing HTS also changes the time represented by one shutter line.
|
||||
# HTS 1500 / 1800 caused green/magenta flicker on this module; keep 0.
|
||||
#CAM_HTS=0
|
||||
# Minimum gap between successful video datagrams, 0 = burst (default).
|
||||
# Allowed 0..5000 us in FreeRTOS tick increments (1000 us in this build).
|
||||
#UDP_PACKET_GAP_US=0
|
||||
# Total yielding-retry allowance per JPEG, shared by all fragments/peers.
|
||||
# 0 = fail on backpressure; default 8000 us, 0..25000 in tick increments.
|
||||
# Frame deadlines remain 25 ms sending / 100 ms since capture start.
|
||||
#UDP_RETRY_BUDGET_US=8000
|
||||
# Internal ESP chip temperature load limit, Celsius; 0 disables, default 75.
|
||||
# At the limit halve fps (rounded up); restore after cooling by 5 C.
|
||||
# This is a proactive load threshold, not a specified silicon safety limit.
|
||||
#CAM_THERMAL_LIMIT_C=75
|
||||
# Set to 0 if your board inverts VSYNC in hardware.
|
||||
#CAM_VSYNC_INVERT=1
|
||||
|
||||
@@ -28,3 +76,13 @@ WIFI_PASS=your-password
|
||||
# the AP (a hidden SSID, for instance) - otherwise the scan reports the real
|
||||
# mode and this only makes it fail faster.
|
||||
#WIFI_AUTH=wpa2
|
||||
# Optional maximum Wi-Fi TX power, integer dBm (2..20). Unset keeps SDK default.
|
||||
# Test on your own board/network; higher power does not always improve video.
|
||||
# Current delivery requests 15 dBm; this ESP32-S3 reports a 15.00 dBm cap.
|
||||
# Runtime load control does not lower it; reconnects reapply the same cap.
|
||||
# WIFI_TX_POWER_DBM=15
|
||||
|
||||
# Diagnostic builds only: intentionally disconnect once, after N seconds of
|
||||
# the streaming loop, hold offline 5 seconds, then exercise runtime recovery.
|
||||
# Keep 0 (default) for normal firmware; does not change router/TUN settings.
|
||||
#WIFI_TEST_DROP_AFTER_S=0
|
||||
|
||||
Reference in New Issue
Block a user