多媒体协议及组播
RTP报文说明
V(version):RTP版本,现为2 V(version):RTP版本,现为2. P(padding):填充标志.若设置则报文包含一个填充的八位 P(padding):填充标志.若设置则报文包含一个填充的八位 字节集,用于某些加密算法. X(extension):扩展位标志.若设置则在固定报文头后跟一个 X(extension):扩展位标志.若设置则在固定报文头后跟一个 报文头扩展. CSRC计数:指出固定报文头后跟的作用源标识符的数量. CSRC计数:指出固定报文头后跟的作用源标识符的数量. M(maker):允许标记(帧边界)报文流中的重要事件. M(maker):允许标记(帧边界)报文流中的重要事件. 载荷类型:规定RTP报文中载荷的格式. 载荷类型:规定RTP报文中载荷的格式. 序号:被接收方用来恢复报文序列和检测报文丢失. 时间戳:表示抽样载荷数据时的时间. SSRC(synchronization source)标识符:同步源标识符是为一个 source)标识符:同步源标识符是为一个 RTP主机随机选择的标识符,相同源的所有报文具有相同的 RTP主机随机选择的标识符,相同源的所有报文具有相同的 SSRC标识符,同一个RTP会话中的每个设备必须有一个惟一 SSRC标识符,同一个RTP会话中的每个设备必须有一个惟一 的SSRC标识符. SSRC标识符. CSRC(contributing source)标识符:作用源标识符包含一个当 source)标识符:作用源标识符包含一个当 前报文中载荷源的列表,用于接收方标识源发送方.该字段 只有当使用混合器组合不同的报文流时才使用.
实时传输协议RTP
RTP(RealRTP(Real-time Transport Protocol)是用于同 Protocol)是用于同 步传输实时多媒体数据流的一种传输协议. RTP被定义为在一对一或一对多的传输情况下 RTP被定义为在一对一或一对多的传输情况下 工作,其目的是提供时间信息和实现流同步. RTP通常使用UDP来传送数据,但RTP也可以 RTP通常使用UDP来传送数据,但RTP也可以 在TCP或ATM等其他协议之上工作. TCP或ATM等其他协议之上工作. 当应用程序开始一个RTP会话时将使用两个端 当应用程序开始一个RTP会话时将使用两个端 口:一个给RTP,一个给RTCP. 口:一个给RTP,一个给RTCP. RTP本身并不能为按顺序传送数据包提供可靠 RTP本身并不能为按顺序传送数据包提供可靠 的传送机制,也不提供流量控制或拥塞控制, 它依靠RTCP提供这些服务. 它依靠RTCP提供这些服务.
常用视频,音频压缩文件类型
文件格式扩展名 媒体类型与名称
mov mpg mp3 wav aif snd au avi Quicktime Video (Apple) MPEG-I Video MPEGMPEG Layer-3 Audio LayerWave Audio Audio Interchange Format Sound Audio File Format Audio File Format (Sun OS) Audio Video Interleaved (Microsoft Windows)
实时流传输协议
RTP(RealRTP(Real-time Transport Protocol)实时 Protocol)实时 传输协议. Transport Control Protocol)实时传输控制协议 Protocol)实时传输控制协议 RTSP( RTSP(Real Time Streaming Protocol)实 Protocol)实 时流协议 RSVP( RSVP(Resource Reserve Protocol) Protocol) MMS( MMS(Microsoft Media Server protocol) protocol)
RTP报文头格式
0 78 载荷类型 时间戳 同步源(SSRC)标识符 同步源(SSRC)标识符 作用源(CSRC)标识符 作用源(CSRC)标识符 前12个字节是必须的.CSRC标识符列表只有在混合器 (mixer)插入时才存在 15 16 1516 序号 31 CSRC V=2 P X M 计数
实时流式传输
总是实时传送,特别适合现场事件,也支持随 机访问,用户可快进或后退以观看前面或后面 的内容. 媒体信号带宽与网络连接必须是匹配的. 需要专用的流媒体服务器,如:RealServer, 需要专用的流媒体服务器,如:RealServer, Windows Media Server,QuickTime Streaming Server, Server.这些服务器允许对媒体发送进行更多 Server.这些服务器允许对媒体发送进行更多 级别的控制,因而系统设置,管理比标准 HTTP服务器更复杂. HTTP服务器更复杂. 需要特殊网络传输协议,如:RTSP 需要特殊网络传输协议,如:RTSP (Realtime Streaming Protocol)或MMS (Microsoft Media Protocol)或MMS Server). Server).
媒体发布格式
是一种专门针对多媒体文件的html语言 是一种专门针对多媒体文件的html语言 格式. 用来对视听数据进行组织和安排.
常用媒体发布格式
文件格式扩展名
asf smi ram rpm asx xml
媒体类型和名称
Advanced Streaming Format Synchronised Multimedia Integration Language (smil) RAM File Embedded RAM File ASF Stream Redirector eXtensible Markup Language
顺序流传输
顺序下载,在下载文件的同时用户可观看在线 媒体,在给定时刻,用户只能观看已下载的那 部分,而不能跳到还未下载的部分. 由于标准的HTTP服务器可发送这种形式的文 由于标准的HTTP服务器可发送这种形式的文 件,也不需要其他特殊协议,它经常被称作 HTTP流传输. HTTP流传输. 顺序流传输的速度是不能调整的. 在低带宽下,顺序流传输比较适合高质量的短 片段,但用户在观看前,必须经历延迟 . 顺序流文件是放在标准HTTP FTP服务器上, 顺序流文件是放在标准HTTP 或 FTP服务器上, 易于管理. 顺序流传输不适合长片段(低带宽)和有随机 访问要求的视频,也不支持现场广播.
流媒体传输的过程
1. Web浏览器与Web服务器之间使用HTTP/TCP Web浏览器与Web服务器之间使用HTTP/TCP 交换控制信息,检索出所需传输的实时数据. 2. Web浏览器启动A/V Helper程序,使用HTTP Web浏览器启动A/V Helper程序,使用HTTP 从Web服务器检索相关参数(目录信息,编 Web服务器检索相关参数(目录信息,编 码类型等)对Helper程序初始化. 码类型等)对Helper程序初始化. 3. A/V Helper程序及A/V服务器之间运行实时流 Helper程序及A/V A/V服务器之间运行实时流 控制协议(RTSP),交换A/V传输所需的控 控制协议(RTSP),交换A/V传输所需的控 制信息.RTSP提供了操纵播放,快进,快倒, 制信息.RTSP提供了操纵播放,快进,快倒, 暂停及录制等命令的方法. 4. A/V服务器使用RTP/UDP协议将A/V数据传输 A/V服务器使用RTP/UDP协议将A/V数据传输 给A/V客户程序(Helper程序)即可播放输出. A/V客户程序(Helper程序)即可播放输出.
流媒体的概念
指在网络上使用流传输技术的连续时基 媒体,如:音频,视频或多媒体文件. 流媒体在播放前并不下载整个文件,只 将开始部分内容存入内存,流媒体的数 据流随时传送随时播放,只是在开始时 有一些延迟. 流媒体实现的关键技术就是流传输.
流传输的定义
现在泛指通过网络传送媒体(如视频, 音频)的技术总称. 实现流传输的两种方法 实时流传输(realtime streaming):若 实时流传输(realtime streaming):若 视频为实时广播,或使用流传输媒体 服务器,或应用如RTSP的实时协议, 服务器,或应用如RTSP的实时协议, 即为实时流传输. 顺序流传输(progressive streaming): 顺序流传输(progressive streaming): 若使用HTTP服务器,文件即通过顺序 若使用HTTP服务器,文件即通过顺序 流发送.
RTP载荷类型
见P.307~308 表13-1 13RTP不仅支持音/ RTP不仅支持音/视频流,任何连续数据 流的应用都可使用RTP服务. 流的应用都可使用RTP服务.
实时传输控制协议RTCP
RTCP(RealRTCP(Real-time Transport Control Protocol) Protocol) 和RTP一起提供流量控制和拥塞控制服务. RTP一起提供流量控制和拥塞控制服务. 在RTP会话期间,各参与者周期性地传送 RTP会话期间,各参与者周期性地传送 RTCP包.RTCP包中含有已发送的数据包的 RTCP包.RTCP包中含有已发送的数据包的 数量,丢失的数据包的数量等统计资料,服 务器利用这些信息动态地改变传输速率,甚 至改变有效载荷类型. RTCP也使用UDP进行通信,它和 RTP配合使 RTCP也使用UDP进行通信,它和 RTP配合使 用,能以有效的反馈和最小的开销使传输效 率最佳化,因而特别适合传送网上的实时数 据.
流媒体的关键技术
高速缓存: 用来弥补延迟和抖动的影响,并保证数据包 的顺序正确,使媒体数据能连续输出. 使用环形链表结构来存储数据:通过丢弃已 经播放的内容,流可以重新利用空出的高速 缓存空间来缓存后续尚未播放的内容,因此 所需容量并不大. 传输协议:一般采用HTTP/TCP来传输控制信 传输协议:一般采用HTTP/TCP来传输控制信 息,而用RTP/UDP来传输实时音像数据. 息,而用RTP/UDP来传输实时音像数据. 需要专用服务器和播放器.