ITPub博客

首页 > 应用开发 > IT综合 > 视频直播软件开发,直播软件开发中的常见协议有哪些

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

原创 IT综合 作者:布谷科技小刘 时间:2020-12-16 10:37:08 0 删除 编辑

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

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/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2020-08-03

  • 博文量
    314
  • 访问量
    164594