mediacodec延时_直播平台开发中降低音视频延迟需要做到这三点

原标题:直播平台开发中降低音视频延迟需要做到这三点

如何减少音视频的延迟情况,对于直播来说,一直是一块比较难啃的骨头,尤其是在移动直播中,其设备受环境影响的因素比较多,信号延迟率就比较高。想要降低延迟率,就不得不在直播源码开发过程中,规避一些“坑”。根据实践总结下来的经验,移动平台上直播的坑主要有两个方面:设备差异,以及网络环境这些场景下带来的技术考验。那么如何有效规避呢,下面我们就来带大家具体看看。

一、首先,了解不同芯片平台上的编码差异

音视频编码解码的速度高低会直接影响到信号输出的效率,给用户一种“延迟”的感觉。通常情况下,iOS平台无论硬编还是软编,由于是Apple一家公司出厂,几乎不存在因为芯片平台不同而导致的编码差异。

然而,在 Android平台上,Android Framework SDK提供的MediaCodec编码器,在不同的芯片平台上,其差异表现很大。其具体表现为:不同的厂家使用不同的芯片,而不同的芯片平台上Android MediaCodec表现略有差异,再加上通常实现全平台兼容的成本也不低,因此,若在Android上对信号使用硬编,那么效率肯定不统一。此外,Android MediaCodec硬编层面的H.264编码画质参数是固定的baseline,所以画质表现通常也一般。因此,在Android平台上,推荐用软编处理信号,好处是画质可调控,兼容性也更好,处理效率更高。

二、其次,要考虑低端设备上进行高性能地采集和编码

例如相机采集输出的可能是图片,一张图的体积并不会小,如果采集的频次很高,编码的帧率很高,每张图都经过编码器,那么编码器又可能会出现过载。移动直播设备对于音视频信号的采集也是同样一个道理。这个时候,在不影响画质的前提下,可以考虑在编码前,进行选择性丢帧,比如优先丢视频参考帧(不丢I帧和音频帧 ),以此来降低编码环节的功耗开销。

三、最后,要尽量在弱网环境下保障高清流畅推流

移动网络下,通常容易遇到网络不稳定、连接被重置、断线重连的情况。一方面频繁重连,建立连接需要开销。另一方面,当发生GPRS、2G、3G 、4G切换时,带宽可能出现瓶颈。当带宽不够,帧率较高、码率较高的内容较难发送出去,这个时候就需要可变码率支持。其具体实现方式:在推流端,可通过检测网络状态和简单测速,进行动态切换码率,以保障网络切换时的推流流畅。

如果开发者在直播源码开发过程中做到以上几部,就能巧妙地避开移动直播场景中关于延迟的“坑”。如果您对直播源码开发的其他事项感兴趣,欢迎关注我,了解更多。

责任编辑:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值