Repository navigation
SrcBox v1.1.20
v1.1.20 Release Notes
Release Date: 2026-10-16
Previous Version: v1.1.19
Highlights
本版继续跟进 issue #6 的现场反馈(广西联通 RTSP 单播)。v1.1.19 的「拖动进度条重发回看地址」已确认生效——用户日志里 时间轴跳转 之后确实发出了新的回看请求;但部分频道的回看流仍然起不来,而播放器内部看不到服务端到底回了什么。本版把这件事变成可诊断 + 自动多试一次:回看流 5 秒没出画面会自动用同一地址重发请求;打开调试模式后,mpv 自身的日志(含 FFmpeg 的 RTSP 细节)会落盘到 logs\mpv-YYYYMMDD.log,并且每次回看前会对 RTSP 地址做一次 DESCRIBE 探测,把服务端的裁决(200 / 454 / 404 / 503)写进日志。
- 归档起播自动重试:回看 / 时移 5 秒未出画面 → 用同一地址重发一次再判定失败(用户此前手动点第二次往往就能播)。
- mpv 自身日志落盘:调试模式下生成
logs\mpv-YYYYMMDD.log,包含Opening rtsp://…、FFmpeg 与 demuxer 的完整消息;启动时会在主日志里打印文件路径。 - RTSP 回看探测:调试模式下,每次回看前对回看地址发一次
DESCRIBE,日志写[Replay] RTSP 探测: RTSP/1.0 200 OK (SDP=yes, Server=…)或454 Session Not Found;只在调试模式运行,不影响正常播放,也不额外建流会话。 - 调试模式可记住:F1 调试窗口里开启后写入设置,重启仍然生效(mpv 日志与探测都在启动时挂载,所以要重启一次)。
- 测试:567 个用例,566 通过 / 1 跳过 / 0 失败;新增 9 例(起播重试策略 5 例、RTSP 探测 4 例,探测用例用真实 socket 模拟运营商应答)。
1. 归档起播自动重试
| 项目 | 说明 |
|---|---|
| 触发条件 | 回看 / 时移模式下,播放开始后 max(3, 源超时秒数) 秒内仍无画面(默认 5 秒) |
| 动作 | 用同一地址再发一次播放请求,并把等待窗口重置;日志:[Playback] 归档起播 5.2s 未见画面,重试一次 URL=… |
| 次数 | 每次加载只重试 1 次;再失败才记录 起播…未见画面(沿用原日志) |
| 直播 | 不参与重试:直播有自己的源超时 / 自动降级链路,避免两者互相干扰 |
依据:用户日志里同一频道同一地址,第三次请求就出现了首帧——说明中转服务对这类回看窗口经常只是第一次不应答。
2. mpv 自身日志(调试模式)
以前只有播放器自己的日志,起播5s未见画面 之后就没有下文了。现在打开调试模式(F1 → 调试模式)并重启一次,程序会给 mpv 挂上 log-file 与 msg-level=all=v:
[mpv] 调试日志已开启: D:\...\logs\mpv-20261016.log(反馈播放问题时请一并附上)
文件里能看到播放器层面看不到的东西,例如:
[v][stream_callback] Opening rtsp://103.251.96.219/PLTV/.../x.smil?playseek=20261015220000-20261015223600
[v][ffmpeg] Opening rtsp://...
[v][lavf] Found 'rtsp' at score=100 size=0 (forced).
[d][ffmpeg] tcp: Starting connection attempt to 103.251.96.219 port 554
DEBUG 模式下会写 logs\mpv-*.log(与其他日志一样按 7 天清理),平时不开调试模式就不会产生。
3. RTSP 回看探测
调试模式下,每次回看 / 时移请求发出前会先问服务端一句:
[Replay] RTSP 探测: RTSP/1.0 200 OK (SDP=yes, Server=...)
[Replay] RTSP 探测: RTSP/1.0 454 Session Not Found (SDP=no, Server=...)
200 + SDP 表示服务端愿意提供这个 playseek 窗口,播不出来就是链路/解码层面的问题;454 / 404 / 503 表示服务端不认这个窗口或这个资产(那就得换参数或等运营方)。DESCRIBE 不会建立媒体会话,且只在调试模式执行。
4. Known Issues
- 回看能否成功最终取决于服务端:本版提供了重试、mpv 日志与 RTSP 探测三件工具,若某个源仍然不播,请把
logs\mpv-*.log与主日志里的[Replay]行一起发到 issue——有这两样就能判断是"参数不对"还是"该频道没有回看资产"。 - 若 SrcBox 运行在受限完整性级别下(例如程序目录被安全策略或沙箱标记为 Low Integrity、进程被降权),它无法写入用户配置目录、也无法创建用户密钥容器,HTTPS 因此不可用;此时页面与二维码会自动给出
http://。这类限制来自运行环境,不是程序缺陷。 - 语音词表的识别层热词本版未启用(当前模型不支持热词嵌入);词表包仍作用于指令解析层。
- 浅色主题下全屏 EPG 浮窗的最外圈存在 1 个设备像素的浅灰边(约
#AAAAAA),深色主题下为#707070;本版未处理。 - 远程页面不显示播放源健康状态(数据模型中没有该字段);菜单构建仍会累积内部菜单项引用,本版未改动。
Contributors
感谢以下用户的贡献:
- @bnnz1085199 - 提供广西联通 RTSP 单播回看的完整现象日志(能播能拖 / 点回放不播 / 某时段能播不能拖),直接定位到"回看窗口首次请求不应答"与"缺少服务端裁决信息"两个问题 (#6)
- @Neverends4 - 报告重庆联通 RTSP 单播源缺少回看 / 时移格式,并提供频道列表与抓包资料 (#6)