直播源码开发中推流的问题

直播源码时一对一直播开发的基石,所以开发一套一对一直播系统基石就要靠直播源码打牢,今天小编就给大家仔细讲一下直播源码开发中推流的问题,因为这直接影响到用户对直播APP的体验。

一对一直播源码开发推流端的设计要点
1.帧率和码率自适应

举个简单的例子,在推流过程中如果网络卡了怎么办呢?可以先降低一点帧率或者码率,使得流可以正常推上去,以避免出现卡顿。当然,在码率自适应的时候,是可以直接回馈给编码器的,让编码器动态调整自己的码率从而保证质量无损,传出来的视频码率下降,视频平滑。帧率的控制就比较简单了,如果发现网络卡顿就会直接反馈给帧率控制模块。在采集时也会做一些丢弃的操作,主要目的为了将发送的带宽降低。

2.软硬自适应

这里的软硬指的是“软硬件编码”,比如硬件编码的优点就是手机不会发烫,但是音视频很难同步,如果用MediaCodec的话,版本兼容就会出现问题。软件编码优点就是码率低,画质好,除了CPU容易发烫以外。目前市场上有非常多的热门机型都属于低端机型,软编无法支撑就只好改成硬编。毕竟硬编是个“体力活”,所以适配的机型肯定是有限的,谁都无法保证可以全平台、全机型的适配硬编。这个时候,就可以采取自适应的办法,将那些无法适配合的进行软编。这样一来,就可以达到99%以上的适配率了。

3.算法自适应

我们所说的推流端,它主要的任务是将更好的画质在网络环境有限的情况下退出来,那么怎样才能做到呢?相信大家肯定听说过H.264和H.265两种编码标准,h.265相比起h.264,可以省掉30%的带宽。虽然30%看起来并没有很多,但是对于直播平台来说这可是节省了非常大的一笔带宽成本(虽然主播更贵一些)。但是在移动端的推流还是存在不同的,30%是从480P到720P的变化。可以理解为,如果本来只能推480P的画质,但是经过H.265这种编码后可以推到720P的画质。对于直播平台来说大部分主播和用户的基本需求就是网络足够好,CPU足够好,所以在此场景下如果能做到算法自适应,那么就可以推出更好的画质。

小编认为优质的一对一直播源码只是开发直播APP成功的第一步,过程中还有很多需要注意的问题,还有很多不容忽视的开发细节,推流就是其中重要的组成部分,总之,开发一对一直播系统,各个方面都要严格对待。

猜你喜欢

转载自blog.51cto.com/14318279/2409370