<!-- wp:paragraph -->
<p>在实时音视频(RTC)与 WebRTC 技术栈中,客户端带宽预估(Bandwidth Estimation, BWE) 是决定通话流畅度、视频清晰度与抗弱网能力的核心模块。随着业务场景从单纯会议扩展到直播连麦、云游戏、元宇宙交互,传统 GCC(Google Congestion Control)算法在高丢包、高抖动、带宽剧烈波动的复杂弱网环境下逐渐暴露出收敛慢、震荡大、误判率高等工程化痛点。</p>
<!-- /wp:paragraph -->
<!-- wp:heading {"level":2} -->
<h2 class="wp-block-heading">一、 背景与挑战:为何需要 BWE 算法工程化重构?</h2>
<!-- /wp:heading -->
<!-- wp:paragraph -->
<p>标准 WebRTC 采用的 GCC 算法基于“到达时间差分”与“卡尔曼滤波”两阶段架构,理论基础扎实,但在工程落地中常面临以下挑战:</p>
<!-- /wp:paragraph -->
<!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li>参数敏感性高:GCC 依赖大量经验阈值(如过度使用检测器的阈值、趋势线斜率判定),不同网络类型(WiFi/4G/5G/卫星)需人工调参,维护成本高。</li>
<!-- /wp:list-item --><!-- wp:list-item -->
<li>非理想场景鲁棒性不足:在缓冲区浮动、时钟漂移、竞争流共存场景下,延迟梯度信号失真,易触发误降码或迟迟不升码。</li>
<!-- /wp:list-item --><!-- wp:list-item -->
<li>冷启动与切网体验差:新会话建立或网络切换(如 WiFi 切 4G)时,历史统计样本不足,导致带宽预估收敛周期长,用户感知明显卡顿。</li>
<!-- /wp:list-item --><!-- wp:list-item -->
<li>缺乏量化验证闭环:研发迭代依赖主观测试或简单丢包率模拟,难以复现线上长尾弱网分布,无法量化评估算法改进收益。</li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->
<!-- wp:paragraph -->
<p>本文将系统梳理从 GCC 核心模块改进、引入 学习式带宽预估、到搭建 弱网仿真验证平台 的完整工程化落地路径,为 RTC 基础设施团队提供可复用的技术参考。</p>
<!-- /wp:paragraph -->
<!-- wp:heading {"level":2} -->
<h2 class="wp-block-heading">二、 GCC 算法深度改进:从“规则驱动”到“自适应调参”</h2>
<!-- /wp:heading -->
<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">2.1 到达时间差分模块的时钟漂移补偿</h3>
<!-- /wp:heading -->
<!-- wp:paragraph -->
<p>GCC 假设发送端与接收端时钟同步,但移动端晶振精度差异导致时钟漂移,直接污染延迟梯度计算。工程化改进方案:</p>
<!-- /wp:paragraph -->
<!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li>引入 Kalman Filter 估计时钟偏移:利用 NTP/RTCP SR 时间戳对齐,建立时钟偏移状态空间模型,实时输出漂移补偿量,修正包组间到达时间差。</li>
<!-- /wp:list-item --><!-- wp:list-item -->
<li>包组分组策略优化:将固定 5ms 分组窗口改为自适应窗口,根据包到达间隔动态调整,减少抖动缓冲区排队延迟对梯度计算的干扰。</li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->
<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">2.2 过度使用检测器的多维度特征融合</h3>
<!-- /wp:heading -->
<!-- wp:paragraph -->
<p>原版单一依赖趋势线斜率,易受突发噪声影响。改进采用“规则+统计”双通道:</p>
<!-- /wp:paragraph -->
<!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li>趋势线斜率 + 噪声方差联合判决:引入滑动窗口方差估计,当斜率超阈值但方差极大时,判定为噪声而非拥塞,抑制误降码。</li>
<!-- /wp:list-item --><!-- wp:list-item -->
<li>状态机平滑过渡:将二元状态(Normal/Overuse)扩展为四状态,增加“预警”与“恢复”中间态,配合滞后因子,有效抑制带宽震荡。</li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->
<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">2.3 远端速率控制器的启发式增强</h3>
<!-- /wp:heading -->
<!-- wp:paragraph -->
<p>针对 GCC “加法增、乘法减” (AIMD) 在浅缓冲网络中收敛慢的问题:</p>
<!-- /wp:paragraph -->
<!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li>基于丢包率的快速收敛:当检测到丢包率 > 2% 且延迟梯度正常时,判定为浅缓冲瓶颈,启用类 BBR 的 pacing_gain 周期性探测,加速带宽发现。</li>
<!-- /wp:list-item --><!-- wp:list-item -->
<li>应用层反馈融合:引入视频编码器目标码率、关键帧大小等业务感知信号,作为速率控制器的前馈约束,避免编码器与网络层“打架”。</li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->
<!-- wp:heading {"level":2} -->
<h2 class="wp-block-heading">三、 学习式带宽预估:数据驱动的下一代 BWE 架构</h2>
<!-- /wp:heading -->
<!-- wp:paragraph -->
<p>规则基方法难以穷尽复杂网络拓扑。引入机器学习(ML)构建 学习式带宽预估模型,可显著提升泛化能力。工程化落地需解决“推理延迟”、“模型体积”、“样本标注”三大难题。</p>
<!-- /wp:paragraph -->
<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">3.1 特征工程与时序建模</h3>
<!-- /wp:heading -->
<!-- wp:paragraph -->
<p>输入特征设计直接决定模型上限,建议采用多尺度时序特征:</p>
<!-- /wp:paragraph -->
<!-- wp:table -->
<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>特征类别</th><th>核心字段</th><th>工程化处理</th></tr></thead><tbody><tr><td>网络层原始信号</td><td>OWD, 丢包率, 吞吐率, 包间到达时间</td><td>滑动窗口统计:均值、方差、分位数 (P10/P50/P90)、一阶差分</td></tr><tr><td>编码/业务侧信号</td><td>目标码率, 实际编码码率, 帧类型, 缓冲区延迟</td><td>归一化处理,关键帧标记 One-hot 编码</td></tr><tr><td>设备/环境上下文</td><td>网络类型, 信号强度, CPU 占用, 电池电量</td><td>Embedding 向量化,低频特征离散化</td></tr></tbody></table></figure>
<!-- /wp:table -->
<!-- wp:paragraph -->
<p>模型架构推荐 TCN (Temporal Convolutional Network) + Attention 轻量化变体:TCN 擅长长序列因果建模,推理延迟稳定;Attention 捕捉突发拥塞关键帧。模型参数量控制在 50KB - 200KB,满足移动端部署需求。</p>
<!-- /wp:paragraph -->
<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">3.2 训练范式:离线预训练 + 在线微调</h3>
<!-- /wp:heading -->
<!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li>离线阶段:利用弱网仿真平台生成海量轨迹数据,采用监督学习(标签为“理想吞吐量”或“专家策略动作”)预训练。损失函数设计引入 非对称惩罚:高估带宽导致丢包的惩罚权重远大于低估带宽导致画质下降的权重,符合业务安全优先原则。</li>
<!-- /wp:list-item --><!-- wp:list-item -->
<li>在线阶段:客户端部署 ONNX Runtime / MNN / TFLite 推理引擎。引入 Contextual Bandit 机制:模型输出多个候选带宽动作,结合实时 QoE 反馈(卡顿率、分辨率)做小规模策略梯度更新,实现个性化自适应,单次更新耗时 < 2ms。</li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->
<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">3.3 落地安全兜底机制</h3>
<!-- /wp:heading -->
<!-- wp:paragraph -->
<p>学习式模型存在“分布外泛化失效”风险,必须建立双轨并行架构:</p>
<!-- /wp:paragraph -->
<!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li>影子模式验证:新模型版本灰度发布时,仅记录预测值不生效,对比 GCC 基线与 Ground Truth,通过 A/B 测试指标(收敛时间、震荡幅度、平均码率)达标后再切流。</li>
<!-- /wp:list-item --><!-- wp:list-item -->
<li>规则熔断回退:运行时监控模型输出异常值(如预测带宽突变 > 300%、或连续 N 次预测方差为 0),自动触发熔断,无缝切回改进版 GCC 逻辑,保障通话基本可用。</li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->
<!-- wp:heading {"level":2} -->
<h2 class="wp-block-heading">四、 弱网仿真验证平台搭建:从“主观体验”到“量化交付”</h2>
<!-- /wp:heading -->
<!-- wp:paragraph -->
<p>没有可复现、可量化的验证环境,算法迭代即为“盲人摸象”。搭建一套标准化的 弱网仿真验证平台 是工程化闭环的关键基建。</p>
<!-- /wp:paragraph -->
<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">4.1 核心架构设计:流量级网络损伤引擎</h3>
<!-- /wp:heading -->
<!-- wp:paragraph -->
<p>摒弃简单的 tc netem 单机模式,采用 Linux Traffic Control (tc) + Network Namespace + veth pair 构建全链路透明代理网关:</p>
<!-- /wp:paragraph -->
<!-- wp:image {"id":123,"sizeSlug":"large","linkDestination":"none"} -->
<figure class="wp-block-image size-large"><img src="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI4MDAiIGhlaWdodD0iNDAwIiB2aWV3Qm94PSIwIDAgODAwIDQwMCI+PHJlY3QgeD0iNTAiIHk9IjEwMCIgd2lkdGg9IjE1MCIgaGVpZ2h0PSIyMDAiIGZpbGw9IiNlM2YyZmQiIHN0cm9rZT0iIzMzMyIgc3Ryb2tlLXdpZHRoPSIyIi8+PHRleHQgeD0iMTI1IiB5PSIyMDAiIGZvbnQtc2l6ZT0iMTQiIHRleHQtYW5jaG9yPSJtaWRkbGUiIGRvbWluYW50LWJhc2VsaW5lPSJtaWRkbGUiPkNsaWVudCBTREs8L3RleHQ+PHJlY3QgeD0iMzI1IiB5PSIxMDAiIHdpZHRoPSIxNTAiIGhlaWdodD0iMjAwIiBmaWxsPSIjZmZmIiBzdHJva2U9IiMzMzMiIHN0cm9rZS13aWR0aD0iMiIvPjx0ZXh0IHg9IjQwMCIgeT0iMTUwIiBmb250LXNpemU9IjE0IiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBkb21pbmFudC1iYXNlbGluZT0ibWlkZGxlIj5UQyBRZGlzYyA8L3RleHQ+PHRleHQgeD0iNDAwIiB5PSIyNTAiIGZvbnQtc2l6ZT0iMTIiIHRleHQtdGV4dC1hbmNob3I9Im1pZGRsZSIgZG9taW5hbnQtYmFzZWxpbmU9Im1pZGRsZSI+KG5ldGVtIG5hbWVzcGFjZSk8L3RleHQ+PHJlY3QgeD0iNjAwIiB5PSIxMDAiIHdpZHRoPSIxNTAiIGhlaWdodD0iMjAwIiBmaWxsPSIjZTNmMmZkIiBzdHJva2U9IiMzMzMiIHN0cm9rZS13aWR0aD0iMiIvPjx0ZXh0IHg9IjY3NSIgeT0iMjAwIiBmb250LXNpemU9IjE0IiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBkb21pbmFudC1iYXNlbGluZT0ibWlkZGxlIj5TZXJ2ZXIgU0RLPC90ZXh0PjxwYXRoIGQ9Ik0yMDAgMjAwIEgzMjUiIHN0cm9rZT0iIzMzMyIgc3Ryb2tlLXdpZHRoPSIyIiBmaWxsPSJub25lIiBtYXJrZXItZW5kPSJhcnJvdyIvPjxwYXRoIGQ9Ik00NzUgMjAwIEg2MDAiIHN0cm9rZT0iIzMzMyIgc3Ryb2tlLXdpZHRoPSIyIiBmaWxsPSJub25lIiBtYXJrZXItZW5kPSJhcnJvdyIvPjwvc3ZnPg==" alt="弱网平台架构图:Client -> TC Qdisc (Namespace) -> Server" class="wp-image-123"/></figure>
<!-- /wp:image -->
<!-- wp:paragraph -->
<p>(示意图:Client/Server 运行于独立 Network Namespace,流量经 veth 穿越宿主机 TC Qdisc 进行损伤)</p>
<!-- /wp:paragraph -->
<!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li>多队列损伤模型:针对上行/下行分离配置 htb (带宽限制) + netem (延迟/丢包/乱序/重复/损坏),支持毫秒级动态调参。</li>
<!-- /wp:list-item --><!-- wp:list-item -->
<li>真实轨迹回放:解析线上采集的网络追踪文件,驱动 TC 动态下发带宽/延迟/丢包时序曲线,实现“线上问题线下复现”。</li>
<!-- /wp:list-item --><!-- wp:list-item -->
<li>多链路聚合仿真:模拟 WiFi+蜂窝双链路、MPTCP 场景,验证 BWE 多路径调度策略。</li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->
<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">4.2 自动化测试流水线与指标体系</h3>
<!-- /wp:heading -->
<!-- wp:paragraph -->
<p>平台需集成 CI/CD 流水线,支持“代码提交 -> 编译镜像 -> 启动仿真拓扑 -> 运行测试用例 -> 生成报告”全自动化:</p>
<!-- /wp:paragraph -->
<!-- wp:table -->
<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>指标维度</th><th>核心 KPI 定义</th><th>工程化采集方式</th></tr></thead><tbody><tr><td>收敛性能</td><td>冷启动收敛时间, 切网恢复时间, 带宽利用率</td><td>RTCP RR/SR 时间戳对齐 + 端侧 SDK 埋点上报</td></tr><tr><td>稳定性</td><td>带宽震荡幅度, 误降码率, 误升码触发丢包率</td><td>滑动窗口方差计算, 状态机跳变计数</td></tr><tr><td>业务体验</td><td>卡顿率, 平均分辨率, 端到端延迟, MOS 预测分</td><td>WebRTC Internals API + 视频质量评估模型 (VMAF/ITU-T P.1203)</td></tr><tr><td>资源消耗</td><td>CPU 占用峰值, 内存增量, 模型推理耗时 (P99)</td><td>Perf/ETW 采样 + SDK 性能埋点</td></tr></tbody></table></figure>
<!-- /wp:table -->
<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">4.3 测试用例库分层建设</h3>
<!-- /wp:heading -->
<!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li>L0 冒烟用例:基础带宽阶梯变化、固定丢包/延迟、单链路切换,每次提交必跑,耗时 < 10min。</li>
<!-- /wp:list-item --><!-- wp:list-item -->
<li>L1 回归用例:覆盖 50+ 真实弱网轨迹(地铁、电梯、弱 WiFi、跨国专线)、竞争流干扰(TCP 长连接下载、UDP 视频流)、编码器压力测试,夜ly 定时跑。</li>
<!-- /wp:list-item --><!-- wp:list-item -->
<li>L2 探索性用例:极端场景构造(如卫星链路 600ms RTT、高丢包突发、时钟漂移注入),配合模糊测试工具挖掘边界 Crash 与逻辑漏洞。</li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->
<!-- wp:heading {"level":2} -->
<h2 class="wp-block-heading">五、 工程化落地的关键避坑指南</h2>
<!-- /wp:heading -->
<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">5.1 跨平台一致性:C++ 核心层与平台适配层分离</h3>
<!-- /wp:heading -->
<!-- wp:paragraph -->
<p>将 BWE 核心逻辑(GCC 改进、ML 推理引擎封装)沉淀为纯 C++ 静态库,无平台依赖。上层通过 JNI (Android)、ObjC++ (iOS)、WASM (Web)、C# (Unity) 适配。统一数据结构定义,确保多端算法行为位级一致,避免“安卓好用 iOS 崩”的低级问题。</p>
<!-- /wp:paragraph -->
<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">5.2 可观测性建设:从“黑盒”到“白盒”</h3>
<!-- /wp:heading -->
<!-- wp:paragraph -->
<p>在 SDK 内部埋点上报 BWE 关键内部状态:当前估计带宽、过度使用检测器状态、模型推理输入输出、熔断触发次数。配合服务端日志联动分析,可快速定位“弱网下为何降码”、“模型为何误判”等疑难杂症,将排查周期从天级压缩至小时级。</p>
<!-- /wp:paragraph -->
<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">5.3 版本演进与灰度策略</h3>
<!-- /wp:heading -->
<!-- wp:paragraph -->
<p>采用“双版本并行”发布模式:主版本维护改进版 GCC,实验版本承载学习式模型。通过远程配置下发控制灰度比例(如 1% -> 5% -> 20% -> 100%),关键指标设置自动熔断阈值(如卡顿率同比上升 > 5% 立即回滚),保障线上稳定性。</p>
<!-- /wp:paragraph -->
<!-- wp:heading {"level":2} -->
<h2 class="wp-block-heading">六、 总结与展望</h2>
<!-- /wp:heading -->
<!-- wp:paragraph -->
<p>客户端带宽预估的工程化落地,是一场从“参数调优”向“系统工程”转型的系统性工程。本文梳理的路径——夯实 GCC 基座、引入学习式预估、建设弱网仿真闭环——已在多个头部 RTC 产品中验证有效:</p>
<!-- /wp:paragraph -->
<!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li>弱网下(丢包 30%、RTT 300ms)平均码率提升 35%+;</li>
<!-- /wp:list-item --><!-- wp:list-item -->
<li>冷启动首帧渲染时间缩短 40%+;</li>
<!-- /wp:list-item --><!-- wp:list-item -->
<li>带宽震荡幅度降低 60%+,卡顿率显著下降。</li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->
<!-- wp:paragraph -->
<p>展望未来,随着 WebTransport / WebRTC NV (Next Version) 标准推进、端侧算力提升(NPU 普及)以及 生成式 AI 合成弱网数据 技术成熟,BWE 将向“端云协同预测”、“语义感知带宽分配”、“大模型驱动网络策略”方向演进。建议团队持续关注 IETF RMCAT/WISH 工作组进展,提前布局下一代拥塞控制架构。</p>
<!-- /wp:paragraph -->
<!-- wp:paragraph -->
<p>(本文旨在提供技术架构参考,具体实现细节需结合业务场景、终端性能基线及合规要求进行定制化开发。)</p>
<!-- /wp:paragraph -->
<!-- wp:heading {"level":2} -->
<h2 class="wp-block-heading">常见问题解答 (FAQ)</h2>
<!-- /wp:heading -->
<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Q1: 学习式 BWE 模型在端侧部署,模型更新如何解决?</h3>
<!-- /wp:heading -->
<!-- wp:paragraph -->
<p>A: 建议采用“动态下发 + 差分更新”方案。模型文件存储于 CDN,App 启动或后台检查版本号,下载增量 Patch(如量化参数差分),校验签名后热加载,无需发版即可迭代模型。</p>
<!-- /wp:paragraph -->
<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Q2: 弱网仿真平台如何模拟“最后一公里”真实 WiFi 信道特性?</h3>
<!-- /wp:heading -->
<!-- wp:paragraph -->
<p>A: 单纯 TC netem 难以模拟 802.11 MAC 层重传、退避、信道争用特性。进阶方案:引入 ns-3 仿真器 或商用屏蔽箱 + 信道模拟仪,生成符合 802.11ac/ax 物理层特性的追踪文件,再由 TC 回放,兼顾真实性与自动化效率。</p>
<!-- /wp:paragraph -->
<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Q3: GCC 改进与学习式模型如何协同工作,而非简单替换?</h3>
<!-- /wp:heading -->
<!-- wp:paragraph -->
<p>A: 推荐“专家混合”架构。GCC 负责提供基础带宽估计区间及网络状态标签(如:探测期、稳定期、拥塞期);学习式模型在此区间内输出精细化调整量。若模型置信度低(如输入特征分布偏移),自动退化为纯 GCC 决策,实现优势互补。</p>
<!-- /wp:paragraph -->
<!-- wp:heading {"level":2} -->
<h2 class="wp-block-heading">七、 端云协同预估架构:打破单端视野的信息不对称</h2>
<!-- /wp:heading -->
<!-- wp:paragraph -->
<p>客户端单侧 BWE 存在天然盲区:无法感知服务器侧出口带宽竞争、无法精确区分“最后一公里”拥塞与“骨干网/服务端”拥塞、对非对称链路(上行/下行带宽差异巨大)判断滞后。构建 端云协同带宽预估架构,通过轻量级信令交互实现全链路视野共享,是突破单端性能上限的关键演进方向。</p>
<!-- /wp:paragraph -->
<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">7.1 协同信令设计:RTCP XR 扩展与 QUIC DATAGRAM 载体</h3>
<!-- /wp:heading -->
<!-- wp:paragraph -->
<p>避免重型私有协议,复用标准化扩展点:</p>
<!-- /wp:paragraph -->
<!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li>RTCP XR Block (RFC 3611/6776 扩展):定义 CC_Feedback 子块,服务端周期性(建议 200ms-500ms)上报:服务端出口实时吞吐率、队列深度占比、ECN 标记比例、竞争流估计数。客户端据此修正“过度使用检测器”阈值,区分自发拥塞与被动共享拥塞。</li>
<!-- /wp:list-item --><!-- wp:list-item -->
<li>QUIC DATAGRAM / WebTransport 低延迟通道:针对超低延迟场景(云游戏、XR),利用不可靠数据报通道透传服务端侧 One-Way Delay (OWD) 样本 与 链路容量探测包 反馈,RTT 级别参与客户端卡尔曼滤波更新,将预估收敛周期从秒级压缩至百毫秒级。</li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->
<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">7.2 服务端辅助决策逻辑:从“被动反馈”到“主动控制”</h3>
<!-- /wp:heading -->
<!-- wp:paragraph -->
<p>服务端不再仅作转发节点,部署轻量级 Server-Side BWE Agent:</p>
<!-- /wp:paragraph -->
<!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li>入口整形与公平排队:在 SFU/MCU 入口部署 FQ-CoDel 或 PIE AQM,对多路客户端流量按权重公平排队,消除“自竞争”导致的延迟抖动,为客户端 BWE 提供干净的延迟梯度信号源。</li>
<!-- /wp:list-item --><!-- wp:list-item -->
<li>带宽授权机制:服务端根据业务优先级(主讲/旁听、主播/观众)、服务器出口剩余带宽,下发 Max_Bitrate_Grant 与 Min_Bitrate_Guarantee。客户端 BWE 将其作为硬约束上下界,避免盲目探测导致服务端队列堆积引发全局丢包。</li>
<!-- /wp:list-item --><!-- wp:list-item -->
<li>拥塞归因标注:服务端标记每个数据包的“拥塞归因标签”(Last-mile / Backbone / Server-Egress),客户端收到反馈后,仅对 Last-mile 标签触发激进降码,对 Backbone 标签启用缓冲吸收策略,大幅降低误降码率。</li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->
<!-- wp:heading {"level":2} -->
<h2 class="wp-block-heading">八、 编码-传输联合优化:跨层设计消除“控制环打架”</h2>
<!-- /wp:heading -->
<!-- wp:paragraph -->
<p>传统架构中,视频编码器(Rate Control)与网络拥塞控制(BWE)是两个解耦的闭环:编码器根据目标码率产出比特流,BWE 根据网络状况调整目标码率。这种串行耦合在弱网下极易产生 振荡放大效应(网络抖动 -> BWE 降码 -> 编码器降质 -> 视频质量骤降 -> 用户投诉 -> 运维介入)。</p>
<!-- /wp:paragraph -->
<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">8.1 联合速率控制模型:拉格朗日对偶分解</h3>
<!-- /wp:heading -->
<!-- wp:paragraph -->
<p>将问题建模为约束优化:Max Σ QoE(Quality, Latency, Freeze) s.t. Rate ≤ BWE_Estimate。通过拉格朗日乘子法分解为编码器子问题与网络子问题:</p>
<!-- /wp:paragraph -->
<!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li>编码器侧:输入 Lambda (λ) 代替传统目标码率。λ 代表“单位比特的边际质量收益”,由 BWE 模块根据当前带宽不确定性动态下发。带宽波动大时增大 λ(倾向低码率高鲁棒),带宽稳定时减小 λ(追求高画质)。</li>
<!-- /wp:list-item --><!-- wp:list-item -->
<li>网络侧:BWE 输出不再是单一码率值,而是 “带宽概率分布”(如:P10=800kbps, P50=1.2Mbps, P90=1.8Mbps)及 “风险偏好系数”。编码器据此生成多码率候选流(SVC 分层或多码流),运行时按网络实时反馈毫秒级切换,无需重新编码。</li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->
<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">8.2 抗弱网冗余策略与 BWE 联动</h3>
<!-- /wp:heading -->
<!-- wp:paragraph -->
<p>针对丢包率 10%-30% 的极端弱网,单纯降码率已无法保障连续性,需引入前向纠错(FEC)、冗余编码(RED/ULPFEC)、灵活参考帧结构:</p>
<!-- /wp:paragraph -->
<!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li>动态 FEC 开销预算:BWE 模块输出 FEC_Budget_Ratio(如 10%-30%),编码器在该预算内自动生成 FEC 包或冗余帧。BWE 检测到丢包率上升时自动增大预算,丢包率下降时回收预算用于主流画质提升。</li>
<!-- /wp:list-item --><!-- wp:list-item -->
<li>关键帧保护与参考结构自适应:当 BWE 预测未来 200ms 内带宽将剧烈下跌时,提前通知编码器发送 IDR 或切换为 P 帧仅参考最近 I 帧(降低传播链长度),减少丢包导致的错误蔓延时长。</li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->
<!-- wp:heading {"level":2} -->
<h2 class="wp-block-heading">九、 多链路聚合与调度下的 BWE 扩展:MPQUIC / 双链路融合</h2>
<!-- /wp:heading -->
<!-- wp:paragraph -->
<p>随着 5G/WiFi 6/卫星互联网并存,终端普遍具备多网卡能力。单路 BWE 无法直接应用于多路径传输(MPTCP/MPQUIC/SCTP),需重构为 多链路带宽预估与调度联合引擎。</p>
<!-- /wp:paragraph -->
<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">9.1 多路径带宽预估:解耦与融合</h3>
<!-- /wp:heading -->
<!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li>子流级独立预估:每条路径(WiFi/Cellular)维护独立的 GCC/学习式 BWE 实例,隔离物理层差异(如 WiFi 的信道争用抖动 vs Cellular 的调度授予延迟),输出各路径的 Capacity_i(t)、RTT_i(t)、Loss_i(t)。</li>
<!-- /wp:list-item --><!-- wp:list-item -->
<li>聚合层融合预估:引入 多臂老虎机 (MAB) 或 Lyapunov 优化 算法,目标函数为 Max Σ Throughput - α Latency - β Cost(流量费)。实时决策:数据包调度权重、探测包发送频率、备用链路保活策略。</li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->
<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">9.2 切网无感与流量迁移的 BWE 状态迁移</h3>
<!-- /wp:paragraph -->
<p>WiFi 切 5G 等场景下,避免 BWE 状态归零重来:</p>
<!-- /wp:paragraph -->
<!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li>状态投影迁移:将旧链路的 BWE 状态(带宽估计值、卡尔曼滤波协方差矩阵、过度使用检测器状态)通过映射函数投影至新链路初始状态。例如:新链路初始带宽 = 旧链路带宽 * (新链路历史中位数 / 旧链路历史中位数)。</li>
<!-- /wp:list-item --><!-- wp:list-item -->
<li>双链路并行预热:切网前 200ms(基于信号强度预测触发),提前在目标链路发送低码率探测流,预热 BWE 模型,实现“零中断”切换。</li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->
<!-- wp:heading {"level":2} -->
<h2 class="wp-block-heading">十、 数据飞轮与 MLOps 落地:让 BWE 模型“越用越聪明”</h2>
<!-- /wp:heading -->
<!-- wp:paragraph -->
<p>学习式 BWE 最大的工程红利在于“数据飞轮”的建设。缺乏自动化数据闭环的模型,上线即开始衰退。需建设覆盖“采集-标注-训练-评估-发布-监控”全链路的 BWE 专用 MLOps 平台。</p>
<!-- /wp:paragraph -->
<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">10.1 线上数据自动化采集与隐私合规脱敏</h3>
<!-- /wp:heading -->
<!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li>结构化日志上报:SDK 端按会话维度上报 BWE_Trace(时间戳、带宽预估值、网络原始特征、编码器码率、QoE 标签),单会话压缩后 < 50KB,WiFi 环境自动上传,蜂窝网延迟上传。</li>
<!-- /wp:list-item --><!-- wp:list-item -->
<li>联邦学习 / 差分隐私:针对强合规要求场景(金融、政企、海外 GDPR),模型训练下沉至客户端(FL)或服务端聚合梯度时加噪(DP),原始网络轨迹数据不出设备/不出专有云,仅上传模型增量参数。</li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->
<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">10.2 样本自动化标注与困难样本挖掘</h3>
<!-- /wp:heading -->
<!-- wp:paragraph -->
<p>解决“无标签数据不可用、有标签数据太贵”矛盾:</p>
<!-- /wp:paragraph -->
<!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li>专家策略伪标签:利用弱网平台跑通“专家规则策略”(改进版 GCC + 启发式规则),其输出的最优码率序列作为离线训练的 Ground Truth,成本极低。</li>
<!-- /wp:list-item --><!-- wp:list-item -->
<li>反事实推理修正:针对线上日志(仅有“当前策略下的结果”),引入 Importance Sampling (IS) 或 Doubly Robust (DR) 估计器,离线评估新策略的反事实收益,自动筛选“新策略显著优于旧策略”但“旧策略表现差”的困难样本入池。</li>
<!-- /wp:list-item --><!-- wp:list-item -->
<li>主动学习采样:模型推理时计算预测熵或 Ensemble 方差,高不确定性样本自动标记为“需人工复核/高价值训练样本”,优先入库,标注效率提升 10x。</li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->
<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">10.3 模型自动化评估闸门与金丝雀发布</h3>
<!-- /wp:heading -->
<!-- wp:paragraph -->
<p>建立“模型发布即代码发布”的严格质量闸门:</p>
<!-- /wp:paragraph -->
<!-- wp:table -->
<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>闸门阶段</th><th>核心校验指标</th><th>通过阈值示例</th></tr></thead><tbody><tr><td>离线回测</td><td>带宽利用率、收敛时间、震荡指数、VMAF 提升</td><td>利用率 ≥ Baseline +2%,震荡指数 ≤ Baseline -15%</td></tr><tr><td>仿真压测</td><td>L1/L2 用例集全量通过率、极端场景 Crash 率</td><td>通过率 100%,Crash 率 0</td></tr><tr><td>影子模式</td><td>线上真实流量对比(A/B)、熔断触发率</td><td>核心指标无劣化,熔断率 < 0.1%</td></tr><tr><td>灰度发布</td><td>卡顿率、平均分辨率、用户投诉率、端侧 CPU/内存</td><td>卡顿率同比下降,资源占用在预算内</td></tr></tbody></table></figure>
<!-- /wp:table -->
<!-- wp:heading {"level":2} -->
<h2 class="wp-block-heading">十一、 极致性能优化:移动端推理与内存零拷贝</h2>
<!-- /wp:heading -->
<!-- wp:paragraph -->
<p>学习式模型上端侧,性能预算极其严苛:单次推理 ≤ 1ms (中低端机型)、模型内存占用 ≤ 2MB、无动态内存分配。以下为经验证的工程化优化手段:</p>
<!-- /wp:paragraph -->
<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">11.1 模型压缩与量化工程化流程</h3>
<!-- /wp:heading -->
<!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li>量化感知训练 (QAT) INT8/INT4:优先采用对称量化,避免反量化开销。针对 TCN 中的 Depthwise Conv 与 Pointwise Conv,采用逐通道量化;Attention 模块的 Softmax 采用定点数查表近似(LUT),精度损失 < 0.5%。</li>
<!-- /wp:list-item --><!-- wp:list-item -->
<li>结构化剪枝:通道级剪枝配合编译器(TVM / MNN / NCNN)自动生成紧凑计算图,消除零权重计算,模型体积再压缩 40%-60%。</li>
<!-- /wp:list-item --><!-- wp:list-item -->
<li>算子融合与内存规划:Conv+BN+ReLU 融合、TCN 因果卷积的环形缓冲区复用、Attention 的 K/V Cache 静态分配。编译期完成张量内存布局规划,运行期零 malloc/free。</li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->
<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">11.2 跨平台推理引擎选型与适配策略</h3>
<!-- /wp:heading -->
<!-- wp:table -->
<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>平台</th><th>推荐引擎</th><th>关键适配点</th></tr></thead><tbody><tr><td>Android (高性能)</td><td>MNN / NCNN / TFLite GPU Delegate</td><td>OpenCL/Metal 后端调度,半精度 (FP16) 加速,共享内存零拷贝</td></tr><tr><td>iOS / macOS</td><td>Core ML / MNN / ExecuTorch</td><td>Core ML 模型转换 (.mlmodelc),ANE (Apple Neural Engine) 调度,Metal Performance Shaders 回退</td></tr><tr><td>Windows / Desktop</td><td>ONNX Runtime / DirectML</td><td>CPU EP 优化 (OpenMP/MKL-DNN),GPU EP (D3D12),支持动态量化</td></tr><tr><td>Web / H5</td><td>ONNX Runtime Web (WASM SIMD) / WebNN</td><th>WASM 多线程 (SharedArrayBuffer),INT8 量化模型加载,WebWorker 隔离主线程</th></tr></tbody></table></figure>
<!-- /wp:table -->
<!-- wp:heading {"level":2} -->
<h2 class="wp-block-heading">十二、 合规、安全与可信:企业级落地的隐形门槛</h2>
<!-- /wp:heading -->
<!-- wp:paragraph -->
<p>BWE 模块涉及网络探测流量生成、用户网络环境指纹采集、模型决策可解释性,必须纳入合规与安全体系:</p>
<!-- /wp:paragraph -->
<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">12.1 流量合规与反作弊</h3>
<!-- /wp:paragraph -->
<!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li>探测流量标识:所有 BWE 探测包(如 REMB 反馈包、Transport-wide CC 包、主动探测包)必须在包头携带明确业务标识(如 DSCP 标记、私有 Header),避免被运营商 QoS 策略误判为异常流量限速,或被安全设备拦截。</li>
<!-- /wp:list-item --><!-- wp:list-item -->
<li>拒绝服务防护:恶意客户端伪造高带宽反馈骗取服务端资源。服务端需部署 带宽授权令牌 机制,客户端请求带宽需携带签名 Token,服务端核验后下发 Grant,防止“贪婪发送端”攻击。</li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->
<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">12.2 模型决策可解释性与审计</h3>
<!-- /wp:paragraph -->
<!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li>特征归因分析:集成 SHAP / LIME 轻量化版本,关键决策点(如突然降码 50%)输出 Top-K 贡献特征(如:“丢包率贡献 60%、延迟梯度贡献 30%”),便于运维复盘与客服解释。</li>
<!-- /wp:list-item --><!-- wp:list-item -->
<li>决策审计日志:核心决策节点(熔断触发、模型版本切换、带宽授权变更)写入不可篡改审计日志(WORM 存储),满足等保三级/金融级合规要求。</li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->
<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">12.3 供应链安全:模型文件签名与验签</h3>
<!-- /wp:paragraph -->
<!-- wp:paragraph -->
<p>模型文件 (.mnn / .onnx / .tflite) 属于可执行代码资产,必须纳入软件供应链安全管理:</p>
<!-- /wp:paragraph -->
<!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li>CI/CD 构建产出模型文件时自动计算 SHA256 并由私钥签名;</li>
<!-- /wp:list-item --><!-- wp:list-item -->
<li>SDK 启动加载模型前,验证签名合法性、版本号单调递增、来源白名单;</li>
<!-- /wp:list-item --><!-- wp:list-item -->
<li>拒绝加载未签名、签名不匹配、版本回退的模型文件,防止供应链投毒攻击。</li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->
<!-- wp:heading {"level":2} -->
<h2 class="wp-block-heading">十三、 行业场景化定制化参考配置</h2>
<!-- /wp:heading -->
<!-- wp:paragraph -->
<p>不同业务场景对 BWE 的核心诉求差异巨大,建议维护 场景化配置画像,通过远程配置动态下发,避免“一套参数跑天下”。</p>
<!-- /wp:paragraph -->
<!-- wp:table -->
<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>场景分类</th><th>核心 KPI 倾向</th><th>BWE 策略关键配置</th><th>学习式模型侧重</th></tr></thead><tbody><tr><td>视频会议 (企业/教育)</td><td>低延迟 > 高画质,抗丢包优先</td><td>激进降码、保守升码、FEC 预算高 (20%)、Pacing 平滑因子大</td><td>鲁棒性建模,输入含丢包率高权重,输出分布偏保守</td></tr><tr><td>直播连麦 / 秀场</td><td>高画质 > 低延迟,首帧秒开</td><td>快速探测 (Pacing Gain 周期短)、允许适度超发、关键帧保护优先</td><td>收敛速度建模,冷启动特征权重高,利用服务端授权加速</td></tr><tr><td>云游戏 / XR</td><td>极低延迟 > 一切,抖动敏感</td><td>固定码率模式为主、BWE 仅作异常保护、冗余编码 (RED) 常开</td><td>延迟抖动预测,预测未来 5-10 帧带宽波动,提前调整编码参数</td></tr><tr><td>物联网 / 弱网物流</td><td>必达 > 实时,超低带宽 (50-200kbps)</td><td>极低码率编码器配合、SVC 基础层必达、增强层按需</td><td>极低带宽分布建模,量化感知训练覆盖 50kbps 以下区间</td></tr></tbody></table></figure>
<!-- /wp:table -->
<!-- wp:heading {"level":2} -->
<h2 class="wp-block-heading">十四、 未来技术演进趋势前瞻</h2>
<!-- /wp:heading -->
<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">14.1 语义感知带宽分配</h3>
<!-- /wp:paragraph -->
<p>超越“比特率”维度,引入视频语义理解(ROI 区域、人脸/屏幕共享区域、动作幅度)。BWE 与编码器联合优化目标函数为 语义质量加权和:在带宽受限时,优先保障 ROI 区域码率,非 ROI 区域大幅降码甚至丢弃,主观 MOS 提升显著。</p>
<!-- /wp:paragraph -->
<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">14.2 大模型驱动的网络策略生成</h3>
<!-- /wp:paragraph -->
<p>利用多模态大模型 (LLM/VLM) 理解网络协议栈状态、应用层业务意图、用户历史偏好,生成 自然语言形式的拥塞控制策略代码 或 高级策略参数。例如:输入“当前地铁场景,用户正在看屏幕共享,4G 信号弱”,大模型输出“启用屏幕共享增强模式,FEC 30%,Pacing Gain 1.25,优先保障关键帧”。实现“策略即代码,按需生成”。</p>
<!-- /wp:paragraph -->
<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">14.3 端侧 NPU 专用加速与联邦持续学习</h3>
<!-- /wp:paragraph -->
<p>随着手机 SoC 集成 NPU (HTP/APU/NPU),BWE 模型将原生部署于 NPU,功耗降低 5x-10x。结合 联邦学习 (FL) + 持续学习 (CL) 框架:端侧本地微调适应个性化网络分布,仅上传加密梯度;云端聚合全球知识蒸馏回基座模型,推送增量更新。实现“千人千面”的自进化 BWE,无需中心化收集隐私数据。</p>
<!-- /wp:paragraph -->
<!-- wp:heading {"level":2} -->
<h2 class="wp-block-heading">十五、 结语:构建核心竞争力的“护城河”</h2>
<!-- /wp:heading -->
<!-- wp:paragraph -->
<p>客户端带宽预估(BWE)看似是底层协议栈的一个模块,实则是实时音视频产品“弱网体验”核心竞争力的集中体现。从 GCC 参数调优起步,到引入学习式预估建立数据飞轮,再到搭建弱网仿真平台构建工程闭环,进而演进为端云协同、编网联合、多链路融合的系统级工程能力,每一步都伴随着研发投入与技术债偿还的博弈。</p>
<!-- /wp:paragraph -->
<!-- wp:paragraph -->
<p>对于技术团队而言,建议遵循 “基线稳健 → 数据闭环 → 模型上车 → 平台赋能 → 场景深化”** 的五阶段演进路线图:</p>
<!-- /wp:paragraph -->
<!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li>Phase 1 (0-3月):夯实改进版 GCC 基线,建设弱网平台 L0/L1 用例,接入 CI/CD,建立核心指标看板;</li>
<!-- /wp:list-item --><!-- wp:list-item -->
<li>Phase 2 (3-6月):上线影子模式学习式模型,建设数据采集/标注/训练 MLOps 最小闭环,跑通 A/B 测试流程;</li>
<!-- /wp:list-item --><!-- wp:list-item -->
<li>Phase 3 (6-12月):模型全量发布,推进端云协同信令标准化,攻克编网联合优化,覆盖核心业务场景画像;</li>
<!-- /wp:list-item --><!-- wp:list-item -->
<li>Phase 4 (12-18月):多链路聚合调度上线,NPU 专用模型部署,联邦学习持续进化机制落地;</li>
<!-- /wp:list-item --><!-- wp:list-item -->
<li>Phase 5 (18月+):探索语义感知、大模型策略生成等前沿方向,输出行业标准与专利布局,形成技术护城河。</li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->
<!-- wp:paragraph -->
<p>技术无终点,体验无上限。愿每一位 RTC 基础设施工程师,都能在弱网的“缝隙”中,为用户织就一张丝滑、清晰、可靠的实时连接之网。</p>
<!-- /wp:paragraph -->
<!-- wp:heading {"level":2} -->
<h2 class="wp-block-heading">附录:核心术语对照表</h2>
<!-- /wp:heading -->
<!-- wp:table -->
<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>缩写/术语</th><th>全称/中文释义</th><th>本文语境关键点</th></tr></thead><tbody><tr><td>BWE</td><td>Bandwidth Estimation (带宽预估)</td><td>核心研究对象</td></tr><tr><td>GCC</td><td>Google Congestion Control</td><td>WebRTC 标准基线算法</td></tr><tr><td>OWD</td><td>One-Way Delay (单向时延)</td><td>延迟梯度计算基础</td></tr><tr><td>RTT</td><td>Round-Trip Time (往返时延)</td><td>拥塞信号辅助参考</td></tr><tr><td>TCN</td><td>Temporal Convolutional Network (时序卷积网络)</td><td>推荐的轻量化时序模型骨干</td></tr><tr><td>SFU/MCU</td><td>Selective Forwarding Unit / Multipoint Control Unit</td><td>服务端转发架构,部署 Server-Side BWE 位置</td></tr><tr><td>AQM</td><td>Active Queue Management (主动队列管理)</td><td>如 FQ-CoDel/PIE,服务端入口整形关键技术</td></tr><tr><td>SVC</td><td>Scalable Video Coding (可扩展视频编码)</td><td>分层编码,配合 BWE 动态丢包保护</td></tr><tr><td>FEC</td><td>Forward Error Correction (前向纠错)</td><td>弱网冗余策略核心手段</td></tr><tr><td>MPQUIC</td><td>Multipath QUIC</td><td>多路径传输协议标准,BWE 扩展目标</td></tr><tr><td>MLOps</td><td>Machine Learning Operations</td><td>模型全生命周期工程化管理体系</td></tr><tr><td>FL/CL</td><td>Federated Learning / Continual Learning</td><td>联邦学习/持续学习,端侧模型进化范式</td></tr></tbody></table></figure>
<!-- /wp:table -->
<!-- wp:paragraph -->
<p>—— 全文完 ——</p>
<!-- /wp:paragraph -->
