APTVA
APTV
2h ago

macOS 版播放 4K 50fps 直播时存在明显卡顿 / Frame Pacing 异常

环境: 设备:MacBook Pro M1 内存:16GB macOS:15.7.9 APTV:当前最新版 场景:播放 4K 50fps 足球直播流 问题现象: 同一个 4K 50fps 直播源: iPhone 版 APTV:正常、流畅 iPad 版 APTV:正常、流畅 Mac 版 APTV:镜头横移、球员快速运动时能明显感觉到周期性顿挫,类似掉帧 同一台 Mac、同一个直播源,使用 Bunny 播放器、nano tv播放器播放:流畅,播放器显示帧率稳定,无明显掉帧 Mac 端播放时 CPU、GPU 占用均正常,因此看起来不像性能不足或解码能力问题。 已做排查 确认 APTV Mac 版本内集成了 KSPlayer,主程序中可以找到: KSAVPlayer KSMEPlayer KSPlayerLayer KSOptions 播放 4K50 频道时抓取 macOS CoreMedia 日志,可以看到最终走到了: AVSampleBufferVideoRenderer FigVideoQueue FigImageQueueCreateForCoreAnimation LayerSync 同时日志显示视频解码本身没有明显掉帧: frames decoded: 1, dropped: 0 后续统计: enqueued: 275 displayed: 256 dropped: 0 >16ms late: 256 比较值得关注的是,实际显示节奏并不均匀: on glass for: 33.332 ms on glass for: 16.666 ms on glass for: 16.666 ms on glass for: 33.332 ms 另外最近送入的视频帧日志中,多帧 PTS 都显示为: PTS: 0.000 s PTS: 0.000 s PTS: 0.000 s PTS: 0.000 s 我的理解 目前看更像不是“解码性能不足”或真正 decode dropped frame,而是 Mac 版在 50fps 视频送入 AVSampleBufferVideoRenderer 后,存在 frame pacing / presentation timing 不均匀的问题。 尤其日志里: dropped: 0 但同时: >16ms late: 256 并且显示时长在: 16.666ms / 33.332ms 之间跳变。 这和实际观看时“没有明显卡死,但快速运动画面会周期性顿一下”的体验比较一致。 希望协助确认 想请帮忙确认以下几点: Mac 版 4K50 当前实际使用的是 KSAVPlayer 还是 KSMEPlayer? 在通过 AVSampleBufferVideoRenderer 输出时,CMSampleBuffer 的 presentationTimeStamp 是否有被重新生成、重置或丢失? 50fps 视频是否存在按照 60Hz 显示节奏调度的问题? 是否可以针对 Mac 版 50fps 视频检查一下 frame pacing / display timing? 如果方便,能否提供一个测试版本,尝试调整 50fps 视频的显示调度逻辑做 A/B 对比? 目前最有价值的对照是: 同一台 M1 Mac + 同一 4K50 直播源:APTV 有明显顿挫,Bunny / NanoTV播放正常且帧率稳定。 因此目前更倾向于 APTV Mac 版播放器链路或 KSPlayer 相关配置问题。
PendingPending