RTMP流媒体播放过程
本文描述了从打开一个RTMP流媒体到视音频数据开始播放的全过程。 注意:RTMP中的逻辑结构 RTMP协议规定,播放一个流媒体有两个前提步骤:第一步,建立一个网络连接(NetConnection);第二步,建立一个网络流(NetStream)。其中,网络连接代表服务器端应用程序和客户端之间基础的连通关系。网络流代表了发送多媒体数据的通道。服务器和客户端之间只能建立一个网络连接,但是基于该连接可以创建很多网络流。他们的关系如图所示: 1 简要介绍 播放一个RTMP协议的流媒体需要经过以下几个步骤:握手,建立连接,建立流,播放。RTMP连接都是以握手作为开始的。建立连接阶段用于建立客户端与服务器之间的“网络连接”;建立流阶段用于建立客户端与服务器之间的“网络流”;播放阶段用于传输视音频数据。 2 握手(HandShake) 一个RTMP连接以握手开始,双方分别发送大小固定的三个数据块 a) 握手开始于客户端发送C0、C1块。服务器收到C0或C1后发送S0和S1。 b) 当客户端收齐S0和S1后,开始发送C2。当服务器收齐C0和C1后,开始发送S2。 c) 当客户端和服务器分别收到S2和C2后,握手完成。 握手 3建立网络连接(NetConnection) a) 客户端发送命令消息中的“连接”(connect)到服务器,请求与一个服务应用实例建立连接。 b) 服务器接收到连接命令消息后