首页 > 编程知识 正文

如何建立一个直播平台,如何建立自己的直播平台

时间:2023-05-06 03:17:16 阅读:172609 作者:1568

直播已经成为一项很受欢迎的服务,我对视音频的采集、传输、播放等很感兴趣,所以想记录下实现一个直播平台的过程。 记录已经使用过的知识,不仅可以防止后期使用,还可以为其他初学者提供借鉴的历史。 其次,根据自己的理解分析一个直播平台的基本结构。

目前,一个直播平台由推至拉主要由五个部分组成。

1、声像采集:通过调用摄像头、麦克风直接采集声像数据。 一般视频采集数据采用RGB或YUV格式,音频采集数据采用PCM格式。 由于收集到的原始数据非常大,需要经过压缩技术处理以提高传输效率。 然后可以对采集的视频进行美颜、水印等预处理。

2、数据编码:为了便于手机视频的推送、抽取和存储,通常采用视频编码压缩技术减小体积。 编码方式: CBR、VBR、

视频编码格式: H.265、H.264、MPEG-4等。 封装容器有TS、MKV、AVI、MP4等。 现在常用的视频代码是H.264。

音频编码格式: G.711、AAC、Opus等。 封装了MP3、OGG、AAC等,AAC编码格式很常用。

对视频进行编码和压缩可以大大提高存储和传输视频的效率。 当然,压缩的视频在播放时需要解码。

3、数据传输:传输编码完成的音视频数据,初始音视频通过同轴电缆等电缆传输,在IP网络发展后,通过IP网络进行传输

与技术或合同有关:

传输协议: RTP和RTCP、RTSP、RTMP、HTTP、HLS (

流()等

控制信令: SIP和SDP、SNMP等

4、解码数据

5、播放显示

三.常见视频直播相关协议:

1、实时消息传递协议(rtmp ) )。

RTMP是Adobe Systems为Flash播放器和服务器之间的音频、视频和数据传输而开发的开放协议。 有三个变种:

1 )、使用在TCP上运行的明文协议,端口1935;

2 ) RTMPT被封装在HTTP请求中,可以穿越防火墙;

3 )、RTMPS类似于RTMPT,但是使用了HTTPS连接;

RTMP协议用于Flash中的对象、视频和音频传输。 此协议构建在TCP协议或轮询HTTP协议之上。 RTMP协议就像一个用于封装数据包的容器,这些数据可以是AMF格式的数据,也可以是FLV的视频数据。 一个连接可以在不同的信道上传输多个网络流。 这些通道中的数据包都通过固定大小的数据包进行传输。

2、实时流传输协议(RTSP ) )。

RTSP定义了一对多APP应用程序如何通过IP网络有效地传输多媒体数据。 RSP提供了一个可扩展的框架,数据源可以包含实时数据和现有存储数据。 该协议的目的是提供用于控制多个数据发送连接、选择UDP、多播UDP、TCP等发送信道的路径,并提供用于选择基于RTP的发送机制的方法。

RTSP的语法和行为与HTTP/1.1类似,但由于没有特别强调时间同步,因此可以接受网络延迟。 代理服务器的缓存功能也适用于RTSP。 此外,由于RTSP具有重定向功能,因此可以根据实际负载情况切换提供服务的服务器,从而避免同一台服务器上负载过大而导致延迟。

3、实时传输协议(RTP )

RTP是一种用于多媒体数据流的传输层协议,它详细描述了在互联网上分发音频和视频的标准数据包格式。 RTP协议是流媒体系统(联合RTCP协议)、视频会议和一键式系统(联合H.323或SIP )、IP电话产业的技术基础。

RTP是基于UDP协议的基础上建立的,经常与RTCP一起使用,它本身并不提供按时的传输机制和其他服务质量(QoS )保证,依赖低层服务来实现这一过程。

RTP不能保证防止传输和无序传输,也不能保证底层网络的可靠性。 不管传输是否有丢包,或者接收方是否收到数据包,都只是发送。 RTP执行有序转发,RTP内的序号使得接收侧能够重构发送侧的分组序列。 同样,序列号也可以用于确定适当的分组位置,使得对于视频解码,不需要序列解码。

4、RTCP (实时传输控制协议)

RTCP是RTP的支持协议,并且为RTP媒体流提供信道外控制。 RTCP和RTP合作封装并发送多媒体数据,定期在多媒体流会话参与者之间传输控制数据。

RTCP的主要功能是为RTP提供的服务质量(QoS )提供反馈,并提供有关相关媒体连接的统计信息,例如传输字节数、传输包数、丢失包数以及单向和双向网络延迟网络APP应用可以利用RTCP提供的信息来提高服务质量,例如限制通信量和切换到低压缩率编解码器。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。