如何快速搭建完整的移动直播系统?
第一,移动直播的UGC生产模式比PC端直播更明显。每个人都有随时随地播放的设备,完全符合互联网时代的开放原则,能够激发更多人创作和传播优质内容。
二是网络带宽和速度逐渐提升,网络成本逐渐降低,为移动直播提供了极佳的发展环境。文本、声音、视频、游戏等。将在移动直播中呈现,创造更丰富的用户体验。直播可以以SDK的形式接入自己的应用。比如教育领域的课后辅导,可以用直播的形式进行,电商也可以用直播让用户选择商品,促进销售。
再次,一个移动直播结合VR/AR技术,为整个行业的未来提供了新的发展空间。VR/AR直播可以让用户身临其境,带动主播与观众更加紧密真实的互动,大大提高平台的用户参与度。
目前有技术实力和流量优势的互联网从业者都不愿意错过直播。如何快速搭建直播系统成为大家关心的问题。我想和你分享我的经历。本人从事一个直播产品开发。为了快速赶上市场,我们的产品没有全部自己做,而是使用了趣云服务提供的直播SDK。
从业者都知道,一个完整的直播产品应该包括以下几个环节:流媒体终端(采集、预处理、编码、流媒体)、服务器处理(转码、录制、截图、黄识别)、播放器(流媒体、解码、渲染)和交互系统(聊天室、礼物系统、赞)。下面我就说说live SDK在各方面做的工作。
1.移动直播流媒体推送端需要做哪些工作?
流媒体直播端,即主播端,主要通过手机的摄像头采集视频数据,通过麦克风采集音频数据,经过一系列预处理、编码、打包后,推送到CDN进行分发。
1,收购
mobile live SDK直接通过手机摄像头和麦克风收集音频和视频数据。其中,视频采样数据一般采用RGB或YUV格式,音频采样数据一般采用PCM格式。采集的原始音视频量非常大,需要通过压缩技术进行处理,提高传输效率。
2.预处理
这个环节主要处理美颜、水印、虚化等效果。美颜功能几乎是直播的标配功能。我们在调查中发现,有太多案例是因为没有美容功能而被放弃的。另外,国家明确提出,所有直播必须加水印,回放15天以上。
美颜其实就是识别图像中皮肤部分,调整皮肤区域颜色值的算法。通过颜色对比找到皮肤区域,可以通过调整色值、添加白色层或者调整透明度来达到美白的效果。美颜处理方面,最著名的GPUImage提供了丰富的效果,同时可以支持iOS和Android,支持自己的算法,达到自己最理性的效果。GPUImage内置了120种常用滤镜效果,添加滤镜只需调用几行代码即可完成。
3.编码
为了方便手机视频的推、拉和存储,通常采用视频编码压缩技术来减小视频的大小。现在常用的视频编码在音频方面是H.264,常用的是AAC编码格式,其他如MP3、WMA也是可选方案。视频编码和压缩极大地提高了视频存储和传输的效率。当然,压缩后的视频在播放时必须解码。
2012诞生的H.265编解码标准相比之前的H.264有了很大的提升。只用原来一半的带宽就能播放同样质量的视频,1.5Mbps以下的网络也能传输1080p高清视频。阿里云和金山云都在推自己的H.265编解码技术。随着直播的快速发展和对带宽的依赖,H.265编解码技术有完全取代H.264的趋势..
H264和H265模块之间的技术差异:
此外,硬件编码成为移动直播的首选,720p以上视频软编码趋势非常明显。在iOS平台上,硬件编码兼容性好,可以直接采用。但是在Android平台上,MediaCodec编码器的性能对于不同的芯片平台还是有很大差别的,完全实现全平台兼容的成本还是很高的。
4.推流
为了用于流式传输,音频和视频数据必须通过传输协议封装并转换成流式数据。常用的流媒体协议有RTSP、RTMP、HLS等。RTMP传输的延迟通常为1_3秒。RTMP也成为移动直播中最常用的流媒体协议,对实时性要求非常高。最后,音视频流数据通过一定的Qos算法推送到网络,通过CDN分发。在直播场景中,网络不稳定是很常见的。这时候就需要Qos来保证用户在网络不稳定的情况下观看直播的体验。通常在锚端和回放端设置缓冲区,使码率均匀。此外,动态码率和帧率也是实时变化网络条件下最常用的策略。
当然,在网络传输方面,完全靠自己做基本不现实。找CDN服务商提供解决方案是最好的选择。请参考文章开头介绍的云视频服务商。据了解,阿里云是国内唯一能自主研发CDN缓存服务器的厂商,性能非常有保障。当然,大部分直播平台都会同时接入多个视频云服务商,这样流媒体线路可以相互备份,流媒体后优化视频集群也可以提高直播的流畅度和稳定性。
二、服务器需要做哪些工作?
为了适应各种终端和平台,服务器还需要对流进行转码,比如支持RTMP、HLS、FLV等格式拉流,支持单向到多路适配不同网络和分辨率的终端设备。
1,截图,录音,水印
云服务提供商,如阿里云,提供实时转码技术,将用户高比特率(如720P)的推送流实时转换为低清晰度(如360P)的流,以满足玩家的需求。如果要自建实时转码系统,成本极高。8核设备只能实时转换10个流。如果一个正常的直播平台有1000个流,那就需要100台设备,加上后期的运维成本,一般公司负担不起。
2、黄健
2016,18年4月4日,文化部查出斗鱼、虎牙、YY、熊猫TV、六间房、9158涉嫌提供宣扬淫秽、暴力、教唆犯罪的网络直播平台,列入查处名单。政府介入监管,有利于直播行业营造健康生态,进入良性发展。这也意味着安全直播需要识别黄色产品,利用技术手段识别黄色产品是移动直播平台的必然解决方案。
市场上提供黄色识别服务的方案主要有两种。第一种是对视频进行截图,然后对黄色图像进行识别,返回黄色识别结果和分数。典型企业有阿里(绿网)、阿特拉斯科技等。目前都支持直接传入视频,结果由服务器分析。通常业务系统接入黄色识别服务,根据黄色识别结果对直播流进行控制,如切断直播流、封停账号等。二是结合CDN,直接分析直播流。识别结果分为色情、疑似色情、性感、正常,业务系统根据识别结果直接控制直播流。典型的企业是Viscovery。这种方案的优点是可以保证实时性,缺点是必须部署到CDN或者自己的机房,使用成本比较高。
还有一站式直播解决方案提供商,比如趣拍云服务。他们的做法是,用户只要在控制台上配置黄色识别服务,就可以对每个应用、每个直播流进行实时审计。在控制台中,趣视频云服务会实时返回色情鉴定结果。用户可以直接查看色情直播截图和非法界面,同时控制直播流,切断问题直播流。服务商还提供了短信、邮件、站内邮件功能,避免遗漏任何非法视频,给平台造成损失,所以我们采用了这种方式。
三、玩家需要做哪些工作?
如何在播放器端开启秒,保证直播过程中画面和声音的清晰,同时稳定、处理、不堵塞直播流量,这些工作都需要播放器端配合服务器端进行优化,实现精准调度。
1,拉流
拉流其实是推流的逆过程。首先,通过播放器获取码流。标准的拉流格式有RTMP、HLS、FLV等等。RTMP是Adobe的专利协议,开源软件和开源库都很好地支持它。比如开源的librtmp库,只要播放器支持flashPlayer就可以非常简单的播放rtmp直播,直播延迟一般是1_3秒。HLS是苹果公司提出的基于HTTP的流媒体传输协议。HTML5可以直接播放,通过微信、QQ等软件分享,用户也可以直接观看直播。可以说必须支持移动直播app和HLS流媒体协议,但缺点是延迟通常大于10秒。FLV(HTTP-FLV)协议是使用HTTP协议传输流媒体内容的协议,不用担心被Adobe专利绑架。直播延迟也可以达到1_3秒。
不同拉式流程协议之间的差异:
我们使用的趣视频云服务的直播流技术提供了以上三种格式,以满足不同业务场景的需求。例如,如果对即时性或交互性有很高的要求,RTMP或FLV格式可以用于直播。对于回放或跨平台需求,建议使用HLS。当然,三种协议可以同时使用,只是使用各自的场景。
2、解码和渲染
在拉动流以获得封装的视频数据之后,必须由解码器对其进行解码和渲染,然后才能在播放器上播放。是编码的逆过程,指的是从音视频数据中提取原始数据。前面介绍的H.264和H.265编码格式都是有损压缩,所以提取的原始数据并不是原始的采样数据,存在一定的信息损失。因此,在视频量最小的情况下,通过各种编码参数保持最佳的原始画面,已经成为视频公司的核心秘诀。
考虑到对高清的支持,硬解码肯定是解码的选择。前面说过,iOS系统的硬件比较简单封闭,支持也比较好。由于平台之间的巨大差异,要使编解码器完全兼容所有平台,还有很多工作要做。
第四,移动直播中的交互系统
移动直播中最常见的互动是聊天室(弹幕)、点赞、打赏送礼等。交互系统涉及到消息的实时性和交互性,在技术实现上多是利用IM的功能来实现。在线人数多的房间,弹幕消息量很大,主播和用户都看不到。为了减轻服务器的压力,需要在产品策略上做一些必要的优化。
1,聊天室
移动直播中的弹幕互动是用户和主播之间的主要互动方式,其实就是IM中的聊天室功能。聊天室和群聊的功能差不多,只是聊天室的消息不需要分发给离线用户,历史消息也不需要查看。用户进入聊天室后只能查看聊天消息和群成员信息。面对复杂多变的网络情况,还需要根据用户的位置选择最近的相应运营商的单线机房接入弹幕消息业务,让弹幕更加及时。
2.礼物系统
礼物系统是大部分移动直播平台的标配,是这些平台的主要收入来源。送礼物的形式也增强了用户与主播的互动,这也是主播依赖平台的主要原因。
礼物的收发也是利用聊天室界面来完成的,通常是利用IM中的自定义消息来实现。当用户接收或发送礼物时,他们呈现对应于定制消息的礼物图形。
以上是我们使用第三方SDK服务后对直播产品的体验,希望对创业者和从业者有所帮助。