现在视频的应用面越来越广,除了直播,点播(腾讯,爱奇艺)等应用之外,因为疫情的原因,实时会议和在线教育也越来越多。不同的场景对编码的要求有很大的区别,可以从三个维度来考虑,分别是延时,压缩率,计算速度。举三个典型的应用场景:
- 点播场景:
通常内容只需要被编码或者生产一次,会被消费许多次,可能会被观看几十万到几千万次。这种场景下对延时要求不高,对计算复杂度也不敏感,但对压缩率要求很高。很高的压缩率可以节省视频分发的带宽。 - 实时场景:
通常内容被生产一次,被消费一次或者几次。这种场景下对延时要求很高,因为会影响到通话或者互动的体验;对压缩率要求不高,但对速度要求很高。
libaom有三种典型的模式,分别是高质量模式,实时档和全I模式,通过aomenc
的命令行可以看到
--good Use Good Quality Deadline
--rt Use Realtime Quality Deadline
--allintra Use all intra mode
如帮助所示,--rt
档是用于实时档,--good
是用于VOD或者点播的场景,--allintra
用于全I帧的编码。
网友评论