直播产品越来越火的今天,研发中总会遇到很多的坑,特别是在甄选各种各样的直播SDK时难免有些迷茫。值得注意的是,不同的项目,需要根据项目的业务要求来思考:项目开发前要明确具体接入哪些直播服务,如单人直播、互动直播、点播(视频存储),以便在产品设计和开发时做好各方面的准备。之前项目中接入的是腾讯云的单人直播和点播服务,以下经验仅供参考:
【产品角度】
1. 产品差异化。直播产品要找到自己的差异化和特色,包括直播间的设计,大部分的直播页面都有的常规功能如弹幕、送礼、分享、点赞等,要根据自身产品的定位和业务要求,强化自己的特点,在功能设计上要有所突出和侧重,避免同质化。
2. 直播视频录制。在产品原型设计时,根据业务要求,确定是否有录制或者回放功能,如果有相关功能,需提前做好准备,如开通第三方的直播视频点播服务。
3. 异常情况处理。由于直播功能对于用户所处的网络环境息息相关,所以在产品设计时,要全面考虑在直播或者观看直播过程中出现的各种网络问题,以及对应出现的提示,比如推流不佳(直播)或者拉流(观看直播)不佳时、主播直播中将app退到后台时、主播直播中直接杀死app进程时等各种情况下的提示,尽量给用户一个良好的使用体验。
4. 直播动效设计。在直播中,用户的某些操作需要有相应的动效提示,比如送礼动画、点赞动画、用户进入直播间的动画等,产品设计时要根据自身的特点进行调整,比如“XX进入直播间”在某些直播平台会生成一条弹幕,但在有的直播产品中只是一条动画,不会占据文字弹幕的位置(如火山直播)。
【运营角度】
1. 直播监管。由于直播产品具有实时性,所以在内容监管方面需要注意,管理后台的功能配置中需要有关直播监控的功能,方便运营人员随时管理,保证产品的正常运营
2. 虚拟账号。对于直播产品,在产品上线初期由于用户量较少,需要在后台设置一定量的机器人账号,模拟真实用户的一些行为,如进出直播间、送礼或者其他,后台需要有相关的配置功能,以便营造较为活跃的直播间氛围
3. 后台管理。有关直播产品的管理后台,需要有针对性的管理功能,如直播间礼物管理、用户的账户及充值管理(如果有虚拟货币设计)等,需要根据前端产品的原型来具体设计管理后台的相关功能
4. 数据统计。建议初期采用第三方的数据统计即可,比如友盟统计,推荐GrowingIO统计,可以免费试用,里面的统计维度比友盟更加细致和有趣,同时开发接入非常简单,无需埋点即可统计到很多特定的用户行为和事件
5. 第三方平台的分享。运营初期对于直播内容的推广和分发,用户量大的第三方平台是一个非常重要的点,如微信、微博、QQ等,对于直播间的分享和转发,在几个主流平台的观看,在交互上会有一定的差异性,包括产品下载链接的跳转,建议参考比如主流直播产品如映客等他们的处理方式;在app外部的这种第三方平台中,仅实现流程的观看直播即可,无需设计太多复杂的功能(类似发弹幕、送礼等功能尽量在app内完成)
【技术角度】
1. 跟产品的配合。基于产品角度的问题,技术方面需要做好相应的处理和配合,比如各种情况下的弹窗提示、直播间在特定情形下被关闭的处理、各种动画交互效果的研究和设计等等
2. 高并发的预处理。
—————————————————————————————————
腾讯云直播(收费) + 腾讯云直播服务端录制(与直播分开收费) + 环信IM(群聊)
遇到过的问题:
1. 主播推流,观众拉流,不流畅
降低分辨率至 360*640
2. 观众列表接口调用频繁(通道调用服务端接口)
初期,在App上,当收到用户进入和退出直播间的IM消息时候,都向服务器发送请求,来获取当前在直播间中的观众列表,当直播间观众较多事,这样服务器的查询压力会比较到
处理方式:App在进入直播间时,获取一次观众列表,在收到进入和退出消息的时候,自行增减观众列表数据,并定时(10分钟)跟服务端获取最新数据防止遗漏消息
3. 送礼/点赞等操作的实现
由于使用的是第三方的IM,在用户送礼/点赞操作的时候,需要向我们的应用服务器发请求,服务器再调用第三方IM相应接口,发送特殊类型的IM消息。
4. 主播异常退出时,直播间不能正常关闭。
早期处理方式:后台定时调用腾讯云接口检查当前直播间是否有断流(当时没有回调)
后期处理方式:处理腾讯云的回调,修改对应直播间的状态
5. 观众异常退出时,当前直播间中观众数据不正确
目前不能解决,其实也不影响太多,
6. 主播/观众,网络异常,导致推流或者拉流失败
处理方式:处理腾讯云SDK中的相关会掉
7. 服务端视频录制,录制出来视频是动态码率的,在某些不支持动态码率的编辑器中会出现音视频不同步的情况
处理方式:线下编辑的话使用Handbrake软件,转换成恒定码率再编辑
2016-11-07
网友评论