Red5源码研究二-RTMP规范(协议栈)

RTMP的简单架构如下图
:RTMP的协议栈整体上可以分为三层:传输层(即所谓的Chunk);消息层(即所谓的Message);应用层(即所谓的Message Command)。
其实我们知道RTMP协议最常用的是音视频的点播、录制和广播(Flash中我们叫NetStream);远程调用(Flash中我们叫作SharedObject或者NetStream)。对于音视频来说,一帧封装一个消息的话我们都不能保证其大小是否超过具体传输协议的最大包限制,同时所谓多通道复用和实时性要求对消息块能够较灵活地切分,所以RTMP提出了Chunk的概念,其主要负责将消息进行合理的切分和传输;当Chunk序列到达终端的时候,将会由终端应用负责组装成消息,由于RTMP是一个多通道协议,即一个具体的物理连接可以在逻辑上做不止一件的事情,例如边播放视频,边录制自己的视频广播给其他用户,这种通道逻辑是通过对消息加入通道ID来标识的,一系列相同通道ID的消息组接起来,我们把它称作消息流,消息层主要是定义前面我们说的事情;应用层其实核心的是对消息里面内容进行语义的定义,即什么样的消息代表要播放视频,什么样的消息代表要录制视频,什么样的消息代表要广播视频,什么样的消息代表要调用服务器的某些功能等。

RTMP协议的整体框架就是这样!

 

原文:http://hi.baidu.com/janins/blog/item/c94d9df6f952b01db07ec500.html

你可能感兴趣的:(框架,command,服务器,Flash,终端)