转码与多码率自适应

1 阅读2分钟

Skeyevss FAQ:转码与多码率自适应

试用安装包下载 | SMS | 在线演示

项目地址github.com/openskeye/g…


1. 何时需要转码

  • 播放端仅支持 H.264,源为 H.265
  • 要求 低码率 外发,而设备只出主码流;
  • 需要将 PS/RTP 转为浏览器友好的 fMP4/HLS
  • 音频 G.711/G.722 与 WebRTC Opus 互转。

不转码路径 延迟最低、CPU 最少;转码是 功能换成本 的显式选择。


2. 资源规划

转码是 CPU 密集型

  • 并发路数 × 分辨率 × 帧率 估算;1080p30 全转码与仅转封装差异巨大;
  • 容器部署时设置 CPU limit 过低会导致 帧率下降、马赛克
  • 关注 内存带宽NUMA(物理机多路转码时)。

3. 常见故障

现象排查方向
画面卡顿周期性CPU 打满、单核热点
花屏关键帧丢失、码流损坏、时间戳异常
音画不同步时间戳重排、音频 resample 配置
启动即失败缺少编解码库、许可证、或设备编码格式不在白名单

可与《SDP 协商与编码格式》FAQ 联合阅读,先确认 协商结果 再判断是否要转码。


4. 多码率与自适应

  • ABR 通常需要 多档 GOP 对齐切片边界一致,否则切换时闪烁;
  • 若仅做 双码流(主/子),平台侧策略可以是:大屏主码、小屏子码,减少实时转码压力;
  • 弱网下降档时,注意 信令与媒体状态机 是否一致,避免 UI 显示高清实际已切子码流。

5. 运维建议

  • 对转码节点单独 监控 CPU、队列长度、丢弃帧数
  • 大版本升级后回归 典型设备品牌 的编码组合;
  • 提供 关闭转码 的配置开关作为应急(接受兼容风险)。

转码问题 先量化 CPU 与协商格式,再调参数;多数卡顿是容量不足而非参数玄学。