参考小球的快速切换流
一、快速切换流结构
该即时流使用对应的小球帧信息作为参考,编码时采用帧间模式,从而得到全P帧的即时流来进行传输,达到码率优化的目的。(小球的I表示全帧内)
二、服务器端
为了得到需要的快速切换流,需要以全帧内的小球作为参考,构建流程如下:
两路yuv结构如下:
分别构造奇数帧为小球、偶数帧为tile的以及奇数帧为tile、偶数帧为小球的两路yuv,编码时,奇数帧为小球、偶数帧为tile的yuv序列的奇数帧编码为全帧内,奇数帧为tile、偶数帧为小球的yuv序列的偶数帧编码为全帧内,ref设置为1,从而每一个tile帧都参考它的前一个全帧内的小球帧。
编码后取两路码流中的tile帧,从而得到了需要的即时流。
三、客户端
由于新的即时流需要全I帧的小球码流作为参考,所以在客户端需要加入一个下面的流程:
所以当前客户端结构为:
由于每转一次头,都需要取相应的小球解码数据编码成全帧内的参考帧,这时会导致,由于编码时间较长,引起转头时出现明显的卡顿问题。考虑的解决方式是,采用硬编码代替软编码,修改I帧的头信息使其成为全帧内的P帧。