Skip to content

系列导读 | 实时控屏与编解码优化架构总览

在构建现代远程协助与屏幕共享系统(如易连系统中的 易连助手易连友助)时,如何保障在复杂网络环境下的超低延迟与极致画质,是衡量系统技术实力的核心标尺。

为了在公网环境下实现低于 150 毫秒的端到端延迟(Sub-150ms End-to-End Latency),并且能够在手机、电脑、网页等多端之间流畅交互,易连系统摒弃了传统的 CPU 截图及慢速的软件编码方案,打通了一条全平台对齐的硬件加速、零拷贝(Zero-Copy)H.264/AVC 实时视频流管线


1. 核心架构设计

在整个远程协助会话中,设备被定义为两种核心角色:

  • 受控端(Controlled Role / 发送端):负责捕获本地屏幕像素、通过 GPU 进行零拷贝编码,并利用紧凑的二进制协议打包发送。
  • 控制端(Controller Role / 接收端):负责接收并分发流数据、利用硬件解码芯片实时解码,最终实现零拷贝的高性能渲染呈现。

这两者通过底层的多路复用(Yamux)安全通道进行双向低时延数据通信。整体架构管线设计如下:

       受控端 (Controlled / 发送端)                          控制端 (Controller / 接收端)
┌─────────────────────────────────────┐               ┌─────────────────────────────────────┐
│    GPU 硬件采集 (SCK/DXGI/etc.)     │               │      网络传输与分发 (Yamux 隧道)    │
└──────────────────┬──────────────────┘               └──────────────────┬──────────────────┘
                   │ GPU 物理纹理 (显存)                                 │ H.264 原始字节流
                   ▼                                                     ▼
┌─────────────────────────────────────┐               ┌─────────────────────────────────────┐
│   零拷贝 H.264 硬件编码 (GPU 压缩)  │               │   硬件 H.264 解码器 (Surface直显)   │
└──────────────────┬──────────────────┘               └──────────────────┬──────────────────┘
                   │ Annex-B + CSD (SPS/PPS)                             │ GPU 渲染纹理
                   ▼                                                     ▼
┌─────────────────────────────────────┐               ┌─────────────────────────────────────┐
│   紧凑二进制信封封装 (Compact Raw)  │ ──Yamux Mux──▶│     GPU 零拷贝预览与画面渲染        │
└─────────────────────────────────────┘               └─────────────────────────────────────┘

2. 核心技术难题与优化维度

为了将端到端延迟压缩到物理极限,我们在各平台实现中集中攻克了以下技术硬骨头:

  1. 物理级别的零拷贝(Zero-Copy Pipeline): 从屏幕采集(如 iOS ReplayKit、Android MediaProjection、Windows DXGI 等)到编码器输入,像素数据始终保留在 GPU 物理显存中,避免昂贵的 CPU-GPU 拷贝与像素转换。
  2. 色彩空间一致性(Color Matrix Calibration): 解决跨平台(特别是 iOS 到 Android/Web)流传输时,由于 Rec. 709 与 BT.601 转换矩阵偏差引发的画面偏绿或偏粉问题。
  3. 动态自适应调优(Telemetry-Driven Adaptation): 建立以 100ms 为周期的本地遥测反馈机制,在不重置编码器(无闪屏)的前提下,动态热调码率与 FPS,保证弱网下的流畅生存能力。
  4. 按需 IDR 同步(On-Demand Keyframe Control): 抛弃高带宽消耗的固定关键帧,通过接收端丢包检测与发送端按需 IDR 强制生成信令,实现瞬时消减花屏拖影。
  5. 网页端高性能播放(MSE 与 WebCodecs fallback): 在 Wails 控制端,首选通过 MSE(Media Source Extensions)硬件加速播放 fMP4 视频流;并在不支持或使用自定义二进制裸流时,平滑退避到后台 Web Worker 中的 WebCodecs 硬件解码与 OffscreenCanvas GPU 离屏渲染。

3. 技术深挖系列指南

为了让开发者与技术发烧友能够深入理解这套架构的底层细节,我们将其整理为 5 篇深度技术文章:

低延迟音视频技术的发展日新月异,易连系统正基于这些底层优化,为用户提供极其稳定、流畅的跨端连接体验。您可以点击上述链接阅读各个平台的具体实现方案。

Released under the MIT License. Terms | Privacy