直播系统总结

qi.wei

发布于 2020.03.07 22:37 阅读 2713 评论 0

直播系统总结

 

 

文章分为以下几个部分:

 

    1.什么是直播系统

    2.直播系统的优势

    3.直播系统的构成

    4.直播客户端

    5.流媒体服务器

    6.播放器客户端

    7.总结

 

 

 

 

什么是直播系统

 

    直播系统是把现场的信号(摄像头、摄像机等)、电视信号(如电视节目、录像带等)等进行实时采集编码成标准流式数据(FLV、WMV)进行管理、分类等传送到服务器上由页面形式发布出去,供大家通过网络实时观看到现场节目或电视节目。

 

 

 

 

直播系统的优势

 

    1.实时性

    直播系统的核心技术是流媒体技术,流媒体是指将一连串的媒体数据压缩后,经过网上分段发送数据,在网上即时传输影音以供观赏的一种技术与过程,此技术使得数据包得以像流水一样发送;如果不使用此技术,就必须在使用前下载整个媒体文件。流式传输可传送现场影音或预存于服务器上的影片,当观看者在收看这些影音文件时,影音数据在送达观看者的计算机后立即由特定播放软件播放。

    2.交互性

    通过直播系统,现场影音可以实时传递到观看方,而观看方也可以通过发送弹幕等方式与直播方进行实时的交流,所以直播系统有着极强的交互性。

    3.对系统存储空间要求大大降低

    前面提到直播系统不需要在使用前下载整个媒体文件。而是通过特定的播放软件处理显示实时的画面,所以直播系统对系统存储空间要求应该说是非常低的。

 

 

 

 

直播系统的构成

    如上图所示,直播系统从大的层面来说,分为3个部分,1是直播客户端,2是流媒体服务器,3是播放器客户端。

 

 

 

 

直播客户端

    直播客户端实现了:数据采集、数据编码、数据封装、推流等功能。

    1.数据采集

    在直播系统中数据采集一般是指视频采集和音频采集,一般需要驱动电脑上的硬件设备获取数据,比如视频采集需要打开摄像头采集摄像头的画面,或者录屏获取屏幕画面。音频采集需要打开麦克风获取音频。

    2.数据编码

    数据编码是为数据封装做准备,在系统硬件中采集的数据一般为原始数据,像音频采集完最初为音频采样数据,通过编码得到音频流数据,像视频最初为像素数据,通过编码得到视频流数据。

    3.数据封装

    数据封装是为了数据传输做准备,因为视频流和音频流两者是单独存在的,传输之前需要将这两者整合在一起,这就是封装。

    4.推流

    推流就是把直播方的影音数据传递到流媒体服务器上。推流的时候通过推流地址向服务器推流。

 

 

 

 

流媒体服务器

 

    流媒体服务器实现了:数据接收、数据转发等功能。

    流媒体服务器的主要功能是从直播客户端接收实时视频流再以流式协议(RTP/RTSP、MMS、RTMP等)将视频文件传输到播放器客户端。

 

 

 

 

播放器客户端

 

    播放器客户端实现了:拉流、解封装数据、解码数据、数据同步、播放显示等功能。

    1.拉流

    拉流是把流媒体服务器上相应的流媒体数据接收到本地。拉流的时候一般对应一个拉流地址。

    2.解封装数据

    拉流得到的数据通过解封装得到音频流和视频流

    3.解码数据

    音频流和视频流解码之后对应得到音频采样数据和像素数据。之所以要解码成音频采样数据和像素数据是因为,我们电脑的硬件只认识这种原始的数据。

    4.数据同步

    由于机器运行速度或者解码效率等原因,音频和视频各自解码播放可能会造成一定的偏差使音视频不能同步播放,所以通常会通过计算PTS来控制音视频的同步播放。

    5.播放显示

    播放显示的方式多种多样,像QT、SDL等,具体通过那种方式视情况而定。

 

 

 

 

总结

 

    整个直播系统到这里就介绍完了,直播系统的实时性、交互性以及对系统存储空间要求低的特点也正是弥补了传统的影音媒体播放形式。随着4G的普及,它的优势也在被逐渐的放大。