视频直播软件开发,直播软件开发中的常见协议有哪些

2020-12-16 14:42:05 浏览数 (1)

常见的视频直播相关协议:

1、RTMP(Real RTMP(real time messaging protocol)实时消息传输协议 RTMP 给予TCP协议 是一个协议族 包括RTMP基本协议及RTMPT/RTMPS/RTMPE等多种变种 RTMP 内部使用的格式为 FLV

基本原理: RTMP是基于TCP的三次握手之后的 它本身是基于TCP的可靠性连接 客户端与服务器端通过字段内容协商来完成可信度认证 client 客户端需要发三个包 C0 C1 C2 server 服务器端需要发送三个包 S0 S1 S2 握手方式:

客户端发送 C0 C1 到服务器端

服务器端发送 S0 S1 到客户端

客户端发送C2到服务器端 服务器端发送S2到客户端

2、RTSP(Real Time Streaming Protocol,实时流传输协议

RTSP定义了一对多应用程序如何有效地通过IP网络传送多媒体数据。RTSP提供了一个可扩展框架,数据源可以包括实时数据与已有的存储的数据。该协议目的在于控制多个数据发送连接,为选择发送通道如UDP、组播UDP与TCP提供途径,并为选择基于RTP上发送机制提供方法。

RTSP语法和运作跟HTTP/1.1类似,但并不特别强调时间同步,所以比较能容忍网络延迟。代理服务器的缓存功能也同样适用于RTSP,并且因为RTSP具有重新导向功能,可根据实际负载情况来切换提供服务的服务器,以避免过大的负载集中于同一服务器而造成延迟。

3、RTCP(Real-time Transport Control Protocol,实时传输控制协议

RTCP是RTP的配套协议,为RTP媒体流提供信道外的控制。RTCP和RTP一起协作将多媒体数据打包和发送,定期在多媒体流会话参与者之间传输控制数据。

RTCP的主要功能是为RTP所提供的服务质量(QoS)提供反馈,收集相关媒体连接的统计信息,例如传输字节数,传输分组数,丢失分组数,单向和双向网络延迟等等。网络应用程序可以利用RTCP所提供的信息来提高服务质量,比如限制流量或改用压缩比小的编解码器。

4、音视频同步:

以Audio为准 Video同步Audio

以Video为准 Audio同步Video

以外部时间为准AV同时同步

Command Msg Command Msg 是RTMP里面的一个主要信息传递工具 常用在RTMP前期和后期处理 Command Msg 通过AMF金信传输的 主要分为两大块 net connect net stream 他的交流方式是双向的 另外一端都必须返回一个_result或者_error

NetStream Msg 在直播流中 比较重要的只有play包 play包用来告诉Server正是播放音视频流 由于RTMP天然做多流分发的 如果遇到网络出现相应的波动 客户端可以根据的条件多次调用play命令

0 人点赞