Block a user
[filler] 停滞期间 filler 帧循环两端浪费:3245 filler vs 3209 dedup
[webrtc] PLI 驱动的 keyframe 风暴 + 码率过度攀升导致秒级延迟
[webrtc] PLI 驱动的 keyframe 风暴 + 码率过度攀升导致秒级延迟
🔍 更新:发现更根本的根因 —— VBV 单位 bug
在设计修复方案时,通过 Oracle 审核和 [x264 源码](https://github.com/mirror/x264/blob/c24e06c2e184345ceb33eb20a15d1024d9fd3497/encoder/ratecontrol.c#L65…
[webrtc] PLI 驱动的 keyframe 风暴 + 码率过度攀升导致秒级延迟
[startup] WebRTC 客户端连接前编码器空转 6 秒(encode 180+ 帧到 void)
[shutdown] Total frames 日志在退出时打印两次
修复已合并
Commit: 92760dd fix(state_portal): make shutdown() idempotent to prevent duplicate log lines (#22)
根因(代码审计 + Oracle 二次审核确认)
main.rs:370 显式调用…
[stats] output_bps / frame_bytes_max / sws_* 永远为 0(编码线程硬编码 timing 字段)
[stats] output_bps / frame_bytes_max / sws_* 永远为 0(编码线程硬编码 timing 字段)
已实现并提交 (
已实现并提交 (0aba0e6)
按 Oracle 审核修正后的方案实现:54 insertions, 9 deletions, 2 文件。
根因
encode_thread_loop (state_portal.rs:651-655) 硬编码 `sws_us: 0, output_bytes:…
[stats] encoded_fps 被人工钳制在 ~30,与目标 60 不符且不能反映真实质量
Dependencies
Blocked by: #17 — encoded_fps 钳制诊断需要 stats 数据(frame_bytes_max / output_bps)
[filler] 停滞期间 filler 帧循环两端浪费:3245 filler vs 3209 dedup
Dependencies
Blocked by: #17 — 需要 stats 量化 filler 浪费程度(3245 filler vs 3209 dedup) Blocks: #15 — stall 缓解依赖本 issue 的 filler 策略改进
[compositor stall] ~60% of session time stuck in frame-delivery stall (KWin Portal/PipeWire)
Dependencies
Blocked by:
- #17 — stall 诊断和验证需要真实 stats 数据(
output_bps/frame_bytes_max/sws_*) - #18 — stall 缓解依赖 filler 策略改进(filler 是 stall 的应对措施)
修…
[stats] output_bps / frame_bytes_max / sws_* 永远为 0(编码线程硬编码 timing 字段)
Dependencies
Blocks:
- #15 — stall 诊断需要
output_bps/frame_bytes_max等真实 stats 数据 - #18 — filler 浪费量化需要 stats
- #20 — encoded_fps 钳制诊断需要 stats
建议优先修复本…
[keyframe] WebRTC KeyframeRequest 响应延迟 2.1 秒,期间 152 个 P 帧被丢弃
验证结果:修复完全生效
Release 二进制捕获会话(3372 行日志,5 次 keyframe 请求):
[keyframe] WebRTC KeyframeRequest 响应延迟 2.1 秒,期间 152 个 P 帧被丢弃