RTMP(1)---------RTMP流程

RTMP协议

应用范围:娱乐直播的传输和点播协议

HLS 是由苹果公司推出的,用来替换RTMP协议。但由于前期各个厂家的投入。替换的可能性微乎其微。

RTMP相对于HLS 的效率和实时性上要高很多。

 

RTMP依赖于TCP协议。

TCP三次握手

RTMP(1)---------RTMP流程

 

第一次握手:client发送给server一个SYN信息,序号为J

第二次握手:server收到SYN J后,发送一个ACK(应答) J+1和一个SYNK

第三次握手:client收到SYNK和ACKJ+1后,client发送一个ACK K+1给server

经过这三次握手就可以开始通讯了。

 

RTMP是在TCP之上的,client和server的connection也是通过三次握手。

RTMP(1)---------RTMP流程

 

管道中的虚线表示建立链接后的stream。

 

RTMP创建流的基本过程:

1、socket建立TCP链接

2、RTMP握手

3、建立RTMP连接

4、创建RTMP流

 

RTMP握手

RTMP(1)---------RTMP流程

上面的图可以简化为下面你的图

RTMP(1)---------RTMP流程

1、client发送C0 C1,server收到

2、server收到后发送S0 S1 S2

3、client 发送C2.

和tcp的三次握手非常类似。

官方文档和真实的情况还是有一些出入。前人通过adobe提供的服务器抓包发现了真实的情况。

RTMP建立链接

RTMP(1)---------RTMP流程

 

https://blog.csdn.net/simongyley/article/details/29851337

 

1、客户端发送 connect 命令到服务器端来请求连接到一个服务器应用的实例;

2、服务器端发送Window Acknowledgement Size 来通知客户端端发送和应答之间的窗口大小。发送者在发送完窗口大小字节之后期待对端的确认。

3、服务器端发送这一消息来限制客户端的输出带宽。

4、客户端发送一个Window Acknowledgement Size给服务端。

 

真实情况中的建立链接

RTMP(1)---------RTMP流程

 

创建RTMP流

RTMP(1)---------RTMP流程

推RTMP流

RTMP(1)---------RTMP流程

 

metaData 多媒体文件的基本信息。

 

播放RTMP流

RTMP(1)---------RTMP流程

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

上一篇:WINDOWS系统一套基于现成软件的局域网视频转播系统方案


下一篇:使用OBS推RTMP流