首页 > 应用开发 > IT综合 > 视频直播软件开发,直播软件开发中的常见协议有哪些
常见的视频直播相关协议:
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
命令
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69980878/viewspace-2742614/ ,如需转载,请注明出处,否则将追究法律责任。