WebRTC视频渲染链路详解:从解码帧到窗口显示 WebRTC 的视频渲染链路从解码后的VideoFrame出发,途经VideoBroadcaster、应用层 sink(OpenGL/D3D11/Metal/Qt/Android Surface),最终到达窗口/纹理/文件。渲染链路看似简单——“拿到帧画上去”,但实际涉及 VideoFrameBuffer 体系、ZeroCopy 路径、跨线程投递、分辨率/旋转/像素对齐、多路分发与生命周期管理。本文把这些环节串联起来,把原理、源码、跨平台实践和排障思路讲透。1. 解码端管线与 VideoFrameBuffer 体系从 RTP 到 VideoFrame 的完整路径SRTP → RTP Demuxer → FrameReferenceFinder → VideoDecoder → DecodedImageCallback::Decoded → VideoFrame → VideoBroadcaster → SinksFrameReferenceFinder:把 RTP 包根据frame-marking头扩展重组成完整帧,处理乱序/丢包/重复。VideoDecoder:把压缩数据解码为像素数据,输出VideoFrame。DecodedImageCallback::Decoded:解