前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >视频直播软件开发,直播软件开发中的常见协议有哪些

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

原创
作者头像
布谷鸟小刘
修改2020-12-16 14:42:05
1.9K0
修改2020-12-16 14:42:05
举报
文章被收录于专栏:用户7603185的专栏

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

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命令

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档