Files
MeBox/internal/service
truewhile 5f4b613bde 修复 115 云转码播放中途断流后直接掉到本地转码
115 云 HLS 会话只存在服务端内存里:服务重新部署、会话过期(30 分钟无活动)、
上游分片地址失效,都会让播放中的客户端在后续分片上拿到 404/410。原实现此时
直接退回本地转码,而低配宿主机本地转码追不上播放速度(实测 2 vCPU 只有
0.62x),用户看到的就是播放报废。

- 云 HLS 中途 fatal 时先重建会话续播(10 分钟内最多 3 次),仍失败才退回本地
- manifestLoadingMaxRetry 1 -> 4:master.m3u8 每次都要现调 115 接口,一次抖动
  不该直接判死刑
- 播放列表重写改用上游地址哈希做 key:原来用自增序号,每次重写 entries 就膨胀
  一轮、分片编号漂移(实测 762 段列表重写几次后 key 涨到 e2288..e3049)
- 会话条目数加上限,异常播放列表不会无限占用内存
- 客户端断开(seek / 切清晰度取消在途请求)不再记成 502,改记 499 与 nginx
  对齐;会话失效返回带 code 的 404/410,便于前端判断需要重建会话
- 修正进度/时长上报:云 HLS 时间轴起点恒为 0,不应再叠加 hlsStartSec(历史上
  把 7624s 的片子记成 8346s 并标成「已看完」)
- 切回直连 / 原画时保住播放位置:HLS 卸载会把 currentTime 归零,必须在切换前
  先记下目标位置
2026-10-08 22:52:31 +08:00
..
2026-09-14 17:57:51 +08:00
2026-10-08 11:13:10 +08:00
2026-09-09 00:18:04 +08:00
2026-09-09 00:18:04 +08:00
2026-08-20 22:09:04 +08:00
2026-09-09 00:03:14 +08:00
2026-09-08 23:44:20 +08:00
2026-09-08 23:44:20 +08:00
2026-09-05 12:34:17 +08:00
2026-09-04 11:56:29 +08:00
2026-09-20 15:16:40 +08:00
2026-09-20 15:16:40 +08:00
2026-09-20 15:16:40 +08:00
2026-09-30 11:20:27 +08:00
2026-09-30 19:22:24 +08:00
2026-09-01 23:16:11 +08:00
2026-09-24 22:27:09 +08:00
2026-09-24 22:27:09 +08:00
2026-09-05 12:34:17 +08:00
2026-08-24 17:00:18 +08:00
2026-09-20 15:16:40 +08:00
2026-09-22 16:22:29 +08:00
2026-09-23 23:07:01 +08:00
2026-09-22 22:30:52 +08:00
2026-09-05 01:15:11 +08:00
2026-09-27 13:52:17 +08:00
2026-09-27 13:52:17 +08:00
2026-09-22 22:30:52 +08:00
2026-10-04 22:17:19 +08:00
2026-09-20 15:16:40 +08:00
2026-09-23 23:07:01 +08:00
2026-09-15 23:13:31 +08:00
2026-09-20 15:16:40 +08:00
2026-10-04 22:17:19 +08:00
2026-09-13 23:45:21 +08:00
2026-09-18 21:55:12 +08:00
2026-09-27 13:52:17 +08:00
2026-09-22 22:30:52 +08:00
2026-09-06 22:10:23 +08:00
2026-09-15 15:21:43 +08:00
2026-09-15 15:21:43 +08:00
2026-09-27 13:52:17 +08:00
2026-09-27 13:52:17 +08:00
2026-09-09 17:36:11 +08:00
2026-08-23 22:12:32 +08:00
2026-09-15 15:21:43 +08:00
2026-09-14 15:12:42 +08:00
2026-09-01 23:16:11 +08:00
2026-09-04 11:56:29 +08:00
2026-09-23 16:07:28 +08:00
2026-06-27 13:22:46 +08:00
2026-09-18 21:55:12 +08:00
2026-10-01 21:57:25 +08:00
2026-10-01 21:57:25 +08:00
2026-09-01 23:16:11 +08:00
2026-08-25 14:12:59 +08:00
2026-09-20 15:16:40 +08:00
2026-09-09 00:18:04 +08:00
2026-10-04 22:17:19 +08:00
2026-10-04 22:17:19 +08:00
2026-10-04 22:17:19 +08:00
2026-10-04 22:17:19 +08:00
2026-09-20 15:16:40 +08:00
2026-09-09 00:18:04 +08:00
2026-09-20 13:33:45 +08:00
2026-09-20 13:33:45 +08:00
2026-10-04 22:17:19 +08:00
2026-09-20 15:16:40 +08:00
2026-09-20 15:16:40 +08:00
2026-09-13 22:00:50 +08:00
2026-09-20 15:16:40 +08:00
2026-09-23 13:53:50 +08:00
2026-09-23 13:53:50 +08:00
2026-09-27 13:52:17 +08:00
2026-09-27 13:04:28 +08:00
2026-09-14 00:02:46 +08:00
2026-09-10 22:06:28 +08:00
2026-09-27 13:04:28 +08:00
2026-09-14 15:12:42 +08:00
2026-09-14 15:12:42 +08:00
2026-09-09 19:26:22 +08:00
2026-09-18 21:55:12 +08:00
2026-09-27 13:52:17 +08:00
2026-09-22 16:22:29 +08:00
2026-08-23 22:12:32 +08:00
2026-09-09 17:36:11 +08:00
2026-09-23 23:07:01 +08:00
2026-09-23 23:07:01 +08:00
2026-09-22 16:22:29 +08:00
1
2026-09-14 12:33:59 +08:00
1
2026-09-14 12:33:59 +08:00
2026-09-27 13:52:17 +08:00
2026-09-23 17:01:08 +08:00
2026-09-23 17:01:08 +08:00
2026-09-23 17:01:08 +08:00
2026-09-24 11:43:17 +08:00
2026-09-24 11:43:17 +08:00
1
2026-09-14 12:33:59 +08:00
2026-09-27 13:52:17 +08:00
2026-09-14 21:40:13 +08:00
2026-09-14 21:40:13 +08:00
2026-09-17 01:29:10 +08:00
2026-09-27 13:52:17 +08:00
2026-09-27 13:52:17 +08:00
1
2026-09-14 12:33:59 +08:00
2026-09-16 23:36:03 +08:00
2026-09-27 13:52:17 +08:00
2026-08-20 15:43:39 +08:00
2026-08-23 22:12:32 +08:00
2026-09-10 16:58:41 +08:00
2026-08-24 17:00:18 +08:00
2026-08-20 15:43:39 +08:00
2026-08-24 17:00:18 +08:00
2026-08-20 22:09:04 +08:00
2026-09-23 17:01:08 +08:00
2026-09-23 17:01:08 +08:00
2026-09-18 21:55:12 +08:00
2026-09-13 21:23:06 +08:00
2026-09-16 12:30:34 +08:00
2026-09-10 16:58:41 +08:00
2026-09-10 16:58:41 +08:00
2026-09-10 16:58:41 +08:00
2026-09-14 15:12:42 +08:00
2026-09-18 21:55:12 +08:00
2026-09-20 15:16:40 +08:00
2026-09-27 13:52:17 +08:00
2026-09-27 13:52:17 +08:00
2026-09-04 11:56:29 +08:00
2026-09-27 13:52:17 +08:00
2026-09-04 11:56:29 +08:00
2026-08-23 22:12:32 +08:00
2026-09-27 13:52:17 +08:00
2026-09-04 11:56:29 +08:00
2026-09-24 11:43:17 +08:00
2026-09-24 11:43:17 +08:00
2026-08-23 22:12:32 +08:00
2026-09-24 11:43:17 +08:00
2026-09-09 00:03:14 +08:00
2026-09-20 15:16:40 +08:00
2026-09-10 16:58:41 +08:00
2026-09-10 16:58:41 +08:00
2026-09-10 16:58:41 +08:00
2026-09-09 00:03:14 +08:00
2026-09-09 00:03:14 +08:00
2026-09-18 21:55:12 +08:00
2026-09-09 00:03:14 +08:00
2026-09-10 16:58:41 +08:00
2026-09-10 16:58:41 +08:00
2026-10-04 22:17:19 +08:00
2026-08-24 17:00:18 +08:00
2026-09-30 11:20:27 +08:00
2026-09-14 17:57:51 +08:00
2026-09-22 22:30:52 +08:00
2026-09-30 11:20:27 +08:00
2026-06-26 15:37:38 +08:00
2026-09-08 20:52:35 +08:00
2026-09-30 11:20:27 +08:00
2026-09-17 01:08:28 +08:00
2026-09-30 11:20:27 +08:00
2026-09-08 21:08:47 +08:00
2026-09-17 23:53:22 +08:00
2026-09-17 23:53:22 +08:00
2026-09-17 23:53:22 +08:00
2026-09-04 11:56:29 +08:00
2026-08-24 17:00:18 +08:00
2026-08-20 15:43:39 +08:00
2026-09-22 16:22:29 +08:00
2026-09-22 16:22:29 +08:00
2026-09-18 21:55:12 +08:00
2026-08-27 23:40:12 +08:00
2026-09-04 11:56:29 +08:00
2026-10-03 21:00:16 +08:00
2026-09-07 23:45:59 +08:00
2026-09-07 23:45:59 +08:00
2026-09-07 23:45:59 +08:00
2026-09-07 23:45:59 +08:00
2026-09-08 09:24:29 +08:00
2026-09-18 21:55:12 +08:00
2026-08-20 15:43:39 +08:00
2026-09-18 21:55:12 +08:00
2026-09-18 21:55:12 +08:00
2026-09-05 12:34:17 +08:00
2026-09-05 12:34:17 +08:00