Commit Graph
4 Commits
Author SHA1 Message Date
ilaandClaude Opus 4.8 4b7dfc2db6 feat(v2): T-309 test-connection button with result popup
Adds a 测试连接摄像头 button next to save; it builds the RTSP URL from the
current form fields and runs ffprobe (8s timeout) off the UI thread, then
shows a result popup (success WxH@fps, or a redacted failure). Exports
config.BuildRTSPURL and source.Probe/Redact for it. Cross-compiles for
Windows; config/source tests pass.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-23 22:05:52 +08:00
ilaandClaude Opus 4.8 09f7ecad67 fix(v2): drop rw_timeout ffmpeg option rejected by the RTSP demuxer
Field ffmpeg reported 'Option rw_timeout not found' and exited, causing a
reconnect loop. rw_timeout is an avio/protocol option, not an RTSP demuxer
option; the RTSP socket timeout is build-specific (-stimeout / -timeout).
Omit it for portability — a dead TCP connection still ends decode and
triggers reconnect. Keeps transport and low-latency flags.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-23 20:36:51 +08:00
ilaandClaude Opus 4.8 99226c7479 fix(v2): log redacted ffmpeg/ffprobe stderr on stream failure
The stream worker discarded ffmpeg stderr, so reconnect loops were opaque.
Capture stderr and log it with the RTSP URL/credentials redacted, so the
real cause (auth, timeout, option, URL parse) is diagnosable without
leaking the source address.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-23 20:31:00 +08:00
ila 3edda4fb62 feat(v2): add reconnecting FFmpeg stream source 2026-07-22 21:15:25 +08:00