m = (媒体名称和传输地址)
i = * (媒体标题)
c = * (连接信息 — 如果包含在会话层则该字段可选)
b = * (带宽信息)
k = * (加密密钥)
a = * (0 个或多个会话属性行)
三、RTMP3.1 RTMP(Real Time Messaging Protocol)实时消息传送协议
是Adobe Systems公司为Flash播放器和服务器之间音频、视频和数据传输开发的开放协议。
它有三种变种:
1)工作在TCP之上的明文协议,使用端口1935;
2)RTMPT封装在HTTP请求之中,可穿越防火墙;
3)RTMPS类RTMPT,但使用的是HTTPS连接;
RTMP协议(Real Time Messaging Protocol)是被Flash用于对象,视频,音频的传输.这个协议建立在TCP协议或者轮询HTTP协议之上.
RTMP协议就像一个用来装数据包的容器,这些数据既可以是AMF式的数据,也可以是FLV中的视/音频数据.
一个单一的连接可以通过不同的通道传输多路网络流.这些通道中的包都是按照固定大小的包传输的.

3.2 RTMP VS TCP&UDP . TCP为点对点的协议,
这意味着各个客户需要分开客户机/服务器链接,因而无法在网络级实现对多个客户机的数据广播。
如果有一个数据流必须同时被传送到多个客户机,服务器必须传送数据流的副本到各个客户机,
TCP能够根据网络带宽和拥挤程度动态地调节传送速度并重新发送丢失的数据包,这样虽然保证了数据传输的可靠性,
但是对服务器资源耗费较大,在数据流大的场合难以保证数据流传输的实时性。
. UDP为不可靠传输协议,
在发送端,UDP传送数据的速度仅仅是受应用程序生成数据的速度,计算机的能力和传输带宽的限制;
在接收端,UDP把每个消息段放在队列中,应用程序每次从队列中读一个消息段。
UDP协议不需要维护连接状态,也不认为每个数据包都必须到达接受端,因此网络负荷比TCP小,传输速度也要比TCP快;
但在网络越拥挤时,越有更多的数据包丢失。
. RTMP协议是一个专门为高效传输视频,音频和数据而设计的协议。
它通过建立一个二进制TCP连接或者连接HTTP实现实时的视频和声音传输。
共享对象是RTMP数据中一种比较重要的数据类型,任何客户端改变数据时,共享对象能够及时更新服务器端的数据,
这样,每个客户端都能够及时了解到数据的变化。
RTMP比传统媒介服务器流出的媒介协议支持更多。
它支持可能包含声音,影像和脚本数据从服务器到客户和从客户到服务器多条线路的动态传输。RTMP对声音、影像和脚本数据分别处理。
声音和视频数据被分开地缓冲在服务器中。
如果声音数据在声音缓冲器中达到某一极限,所有在缓冲器中的数据将被丢掉,
并且最近到达的数据被允许开始收集在缓冲中并被送到各个客户。
视频数据被以相的方式处理,不同是当新的关键帧到达时,缓冲器中数据才被清除。
在丢掉旧的帧数据时,如果发现客户端的数据有误,则将新旧两个不同的帧进行拟合。
RTMP对数据给予不同的优先级别。
在实时交谈中,声音是最重要的,影像给予低优先级,而脚本数据被给予的优先权介于声音和影像中间。
RTMP协议可以创建多个数据流,但是每个数据流只能有一个方向。
使用RTMP可以构建这样的一个系统,客户端可以同时与RTMP服务器和应用服务器进行交互,使得服务端的负荷得以分散,
虽然在这种改进的系统结构中,RTMP服务器的性能要求比较高。
四、MMSMMS (Microsoft Media Server Protocol),中文“微软媒体服务器协议”,用
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/tongxinshuyu/article-47532-4.html