首页 > 学院 > 开发设计 > 正文

RTMP学习(四)RTMP连接的建立与播放

2019-11-06 08:55:01
字体:
来源:转载
供稿:网友

RTMP连接的建立与播放

    RTMP连接的建立有三个步骤:

    1、握手。用于判别客户端、服务器是否存在。    2、建立网络连接。注意不是tcp中的网络连接。    3、建立流连接。建立流连接的目的是传输媒体数据。    4、播放。

握手阶段

    握手阶段,双方分别发送大小固定的三个数据块.    1、客户端发送数据块C0和C1。    2、服务器接收到C0或C1中任意一个后,向客户端发送数据块S0和S1;如果服务器接收齐了C0和C1,那么服务器还可以继续向客户端发送数据块S2。    3、客户端接收齐S0和S1后,向服务器发送数据块C2。    4、如果服务器接收到了S2,客户端也接收到C2,那么握手完成!

客户端伪代码

// 客户端伪代码S0 = nullS1 = null S2 = nullsend C0 and C1while(S0 == null || S1 == null){	recv S0 and S1}send C2recv S2服务器端伪代码

// 服务器伪代码C0 = null,C1 = nullwhile(C0 == null && C1 == null){	recv C0 or C1}send S0,S1while(C0 == null && C1 == null){	recv C0 or C1}send S2recv C2

建立网络连接阶段

    具体操作如下:    1、客户端发送命令“connect”给服务器    2、服务器接收到“connect”命令之后,发送消息“确认窗口大小(Window Acknowledgement Size)”给客户端,同时连接到“connect”命令中提到的应用程序    3、服务器发送消息“设置带宽”给客户端    4、客户端接收到消息“设置带宽”之后,发送消息“确认窗口大小”给服务器    5、服务器发送消息“流开始”给客户端    6、服务器发送消息“结果”给客户端,通知客户端连接的状态

建立流阶段

    具体操作如下:    1、客户端发送命令“创建流”给服务器    2、服务器接收到命令之后,发送“结果”给客户端

播放阶段

    具体操作如下:    1、客户端发送命令“播放”给服务器    2、服务器接收到命令之后,发送消息“设置块大小”给客户端    3、服务器发送“stream begin”给客户端,告诉客户端 流的id    4、播放命令成功的话,服务器发送“响应状态”给客户端,告诉客户端播放成功    5、服务器发送音视频数据给客户端


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表