首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >开发直播带货系统过程中,需要注意这些“坑”

开发直播带货系统过程中,需要注意这些“坑”

原创
作者头像
万岳教育系统
修改2020-07-29 18:09:29
4840
修改2020-07-29 18:09:29
举报

直播带货系统发展到现在,已经覆盖了h5、小程序和app等多个平台。但就目前市场情况来看,很多用户还是比较钟情于app,觉得它可靠,相比起小程序来讲,对于功能定制的可选性更多。所以有些开发商把大部分精力都放在了直播带货系统app版本的开发上。但是,在开发直播带货系统的过程中,有一些“坑”需要各位开发者格外注意,而这些“坑”主要是“直播功能”上的问题。

如何减少音视频的延迟情况,对于直播来说,是一块比较难啃的骨头,尤其是在app中,其设备受环境影响的因素比较多,信号延迟率就比较高。根据开发直播带货系统总结下来的经验,app上直播的“坑”主要有两个方面:设备差异,以及网络环境这些场景下带来的技术考验。

那么,如何做?

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

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

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

二、考虑如何在低端设备上进行高性能地采集和编码

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

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

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

以上,就是在开发直播带货系统时,需要注意的,尤其是在“直播功能”上的坑。只有解决好这个问题,才能让主播顺畅的带货不是吗?

声明:以上内容为作者本人原创,未经作者本人同意,禁止转载,否则将追究相关法律责任。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档