江韬 · 2025年12月19日 · 江苏

基于场景的VPU encode优化

视频编码的本质是在视频质量、文件大小(或带宽)、编码速度(或延迟)​​ 这三个核心维度之间进行权衡与取舍。这就像一个“不可能三角”,几乎不可能同时达到极致。因此,不存在一套“万能”的编码参数可以适用于所有场景。根据不同应用场景的核心需求,我们必须对编码器进行针对性的参数调整。下面,我们介绍一些基础的参数的概念和作用。

1. 编码格式的选择

编码格式选择首先考虑兼容性与普及度,CIX VPU支持的常用编码格式中,

  • 264/AVC: 是当今兼容性最广泛的编码格式。几乎所有设备(手机、电脑、电视、相机)和所有浏览器、播放器都原生支持。对于需要最大范围覆盖用户的应用场景,H.264仍然是安全、可靠的首选。
  • ​265/HEVC: 兼容性次于H.264,但已成为4K HDR内容的主流格式。较新的手机、电脑、智能电视和流媒体设备普遍支持。但在一些旧设备或浏览器上可能需要软解,较耗电。
  • ​VP8/VP9: 主要由Google推动,是AV1的前身。在YouTube上广泛使用,并被Chrome、Android系统很好地支持。

另外,CIX VPU也支持mjpeg和mpeg4格式,由于比较古老,压缩率低,也尽在一些特殊场景中使用。

其次考虑压缩效率, H.265/HEVC > VP9 > H.264/AVC(baseline)≈ VP8。

最后考虑专利问题,特别是H.265/HEVC。

2. 码率的核心作用:平衡 “画质” 与 “资源消耗”

码率的核心功能是在 “视频画质” 和 “带宽 / 存储资源” 之间建立量化关联,具体体现在三个方面:

  1. 决定画质的 “数据基础”

视频画面的细节(如纹理、色彩过渡、动态边缘)需要通过数据来描述。码率越高,单位时间内分配给画面的 “数据量” 就越多,编码器就能更精细地记录细节,即可保留更多的画面信息。

  1. 控制带宽和存储成本

码率直接决定视频的 “体积”:

  • 带宽消耗:在线播放时,视频码率必须≤用户网络带宽(
  • 存储占用:1 小时 1080p 视频,264 编码下 10Mbps 码率约占用 4.5GB 存储,5Mbps 则仅需 2.25GB,码率减半可直接节省 50% 存储成本。
  1. 影响编码 / 解码效率
    高码率视频的编码过程更简单(无需过度压缩),但解码时需要处理更多数据,对设备性能要求更高;低码率视频则需要编码器进行更复杂的压缩计算,但解码压力更小,适合低配设备。
    在选择码率时,同样需要前置考虑视频分辨率、帧率以及压缩率(即图像保留信息量),来计算码流。并根据当前环境限制的带宽作为上限,综合考虑。
    以下为主流编码格式(H.264/H.265)下的码率表,覆盖常见场景:
应用场景分辨率 + 帧率H.264 码率范围H.265 码率范围
短视频/日常记录720p + 30fps1-3Mbps0.5-1.5Mbps
监控1080p + 25fps2~4 Mbps1-3Mbps
影视剧/点播1080p + 30fps3-8Mbps1.5-4Mbps
云游戏/远程桌面1080p + 60fps8-15Mbps4-8Mbps
超高清影视4K + 30fps10-20Mbps5-10Mbps
VR /专业直播4K + 60fps20-35Mbps10-18Mbps

以上表格仅供量级参考,用户可根据自己场景需求调整。

3. 码率控制:CBR 与 VBR 的差异及应用

编码器的码率控制通常分为两种模式:

  • 恒定码率(CBR,Constant Bitrate)
    特点:全程保持码率稳定,无论画面是复杂动态还是简单静态,单位时间的数据量一致。
    优势:带宽占用可预测,适合对稳定性要求高的场景—— 避免因画面突然复杂导致码率飙升,突破带宽上限造成卡顿。
    劣势:静态场景浪费带宽,动态场景可能因码率不足导致画质下降。
    适用场景:游戏,直播,安防监控,视频会议
  • 动态码率(VBR,Variable Bitrate)
    特点:根据画面复杂度自动调整码率 —— 动态场景(用高码率保留细节,静态场景用低码率节省资源。
    优势:在相同平均码率下,画质比 CBR 更优(资源集中用于需要的画面)。
    劣势:码率波动大,若峰值码率超过带宽上限,可能导致播放卡顿。
    适用场景:转码,录像

而对于视频点播,短视频等场景,需要权衡带宽控制和画面稳定性来考虑。带宽有限时,一般以CBR为优。带宽宽裕时,考虑提升画质可选VBR。

4. 帧类型以及GOP

在视频编码技术中,GOP(Group of Pictures,图像组)是由 I 帧、P 帧、B 帧组成的 “编码单元”,是视频压缩的基础单元,而帧类型的合理选择则是实现高效压缩与画质平衡的核心。它们共同决定了视频的压缩效率、解码复杂度和传输适应性。

I 帧(Intra-coded Frame,关键帧)
  • 编码方式:仅利用单帧内的空间冗余进行压缩,不依赖其他帧
  • 特点:
    压缩率最低(体积最大)
    可独立解码,无需参考其他帧
    画质最高,作为整个 GOP 的基准帧
  • 应用场景:视频开头、场景切换处、GOP 起始点必须插入 I 帧
P 帧(Predictive-coded Frame,预测帧)
  • 编码方式:基于前一帧(I 帧或 P 帧)的差异进行编码,仅记录变化部分
  • 特点:
    压缩率高于 I 帧
    必须依赖前向参考帧才能解码
    画质受参考帧质量和预测准确性影响
  • 应用场景:大多数动态变化不大的场景,是 GOP 中的主要组成部分
B 帧(Bidirectional Predictive Frame,双向预测帧)
  • 编码方式:同时参考前向帧和后向帧(I 帧或 P 帧),记录与两帧的差异
  • 特点:
    压缩率最高
    解码复杂度最高,需要缓存前后帧
    可提供比 P 帧更好的画质(在相同码率下)
  • 应用场景:静态或缓慢变化场景,可显著提高压缩效率
    帧类型的选择需根据具体应用场景,在压缩效率、延迟、画质和兼容性之间寻找平衡。CIX VPU提供多种GOP type,我们常用的有lowdelay(IPPPPP…)和pyramid金字塔(I-P-B-B-B-P-B-B-B-P-...),此结构一般甚至B frames为3.

5. I帧间隔

在视频编码中,I 帧间隔是决定视频压缩效率、延迟、容错性的核心参数之一。它的本质是两个关键帧(I 帧)之间的帧数量(或时间间隔)。I帧间隔

  1. 影响视频压缩率,间隔越长,压缩效率越高,带宽 / 存储占用越低,反之则压缩效率低、占用高。
  2. 直接决定视频的 “解码启动延迟” (即常说的seek延迟)和 “实时交互延迟”,间隔越短,延迟越低;间隔越长,延迟越高。
  3. 决定视频在 “数据丢失 / 传输错误” 时的 “画面恢复速度”,间隔越短,容错性越强,画面恢复越快;间隔越长,容错性越弱,卡顿时间越长。
  4. 对 “画质均匀性” 和 “动态场景细节” 也有间接影响,间隔过长可能导致局部画质下降,间隔过短则可能浪费码率。
    下面列举一些常用的场景中,GOP结构和I帧间隔的设置建议:
应用场景推荐 GOP 长度帧类型组合核心设计思路
短视频/日常记录30-60 帧(1-2 秒)pyramid中等压缩率,保证设备兼容性
监控60-120 帧(2-4 秒)lowdelay平衡存储占用与画面恢复速度
影视剧/点播60-180 帧(2-6 秒)pyramid多 B 帧最大化压缩效率,不考虑延迟
云游戏/远程桌面无穷大lowdelay目前云服务的常用设置
推荐阅读
关注数
2
内容数
2
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息