“播放器”网络直播系统实现流程的终点

2019-03-05 14:38:49 浏览数 (1)

完整的网络直播系统实现包含许许多多的环节,主要包括采集、前处理、编码、推流、转码、录制、截图、鉴黄、拉流、解码和渲染等步骤。这些步骤细分下来,又可以大致分为推流端、服务端处理、播放器和交互系统。而播放器和交互系统是网络直播平台与用户直接对话的。在网络直播软系统的各个细分步骤下,播放器和交互系统分别负责哪些工作呢?

播放器

1.拉流

其实就是推流的逆过程。通过播放端获取码流(标准的拉流格式有RTMP、HLS和FLV等),RTMP作为Adobe的专利协议,直播延迟一般在1-3秒之间。HLS是苹果基于HTTP的流媒体传输协议,HTML5可以直接打开播放并通过微信QQ等软件进行分享。FLV协议是使用HTTP协议传输流媒体内容的一个协议,延迟同样在1-3秒。当然,这三种协议是可以同时使用的,只不过需要分别应用到适合的场景中。现在使用较为广泛的是RTMP FLV,HLS更多在H5层面上使用。

2.解码和渲染

通过拉流获取封装的视频数据后,必须通过解码器的解码和渲染后才能在播放器上播放。像比较常用的H.264和H.265编码格式都会对压缩造成一定的“损伤”,所以提取后的原始数据并非原始的采样数据,会造成一定的信息丢失情况出现。所以,在视频体积最小的情况下通过各种编码参数保留最好的原始画面也成为了开发过程中的难题之一。出于对视频画质的考虑,解码大多还是会选择硬解码。至于渲染环节,最大的困难并不在于画面绘制,而是音画是否同步的问题。

因此,网络直播系统开发时,播放器层面上需要注意的细节问题还是有很多的。当然,对于网络直播平台而言,能够通过播放器将直播内容输出给用户是理所应当的。交互系统的存在才是网络直播系统的魅力所在,正是由于直播间的交互体验,才使得网络直播系统近年来备受关注。

网络直播系统网络直播系统

交互系统

移动端直播app最常见的交互方式即评论(弹幕)、打赏和点赞等,而这一系统的构成使得直播的实时性和互动性大大增加,现在大多数平台都是借助IM功能来实现网络直播交互的。

1.直播间内评论(弹幕)

弹幕于网络直播系统来说已经是无法割舍的功能之一了,是用户与主播互动交流的主要方式。面对数十万甚至数百万量级的用户同时发送消息,再加上复杂多变的网络环境,这个时候就需要根据用户位置就近选择较近的对应运营商的单线机房接入弹幕消息的服务,使得弹幕或评论更新的更加及时。不过,在实际的网络直播系统开发过程中,可以根据需求选择是否自己搭建还是借助三方聊天服务。

2.礼物系统

这对于直播平台来说肯定是属于“标配”了,礼物也是大部分直播平台的主要收入来源。那么礼物的收发在技术上是怎样实现的呢?通常采用了IM中的自定义消息实现,当用户接受或发送礼物时,将自定义消息对应的礼物图形渲染出来。另外,面对大量用户狂刷礼物时,礼物系统相对来说对一致性的要求也比较高。

我们平时看到的网络直播系统,无论是从画面还是产品体验方面来讲都是非常不错的,而要想开发出这样的app并非是件容易的事。所以在网络直播系统件开发过程中,最好能够事先了解各个步骤中的功能实现和相关内容。

0 人点赞