540 likes | 803 Views
第 3 章 流媒体传输技术. 本章结构. 流媒体传输技术. 学习目标. 1 .知识目标 : 了解流媒体传输协议的特点、结构与工作过程;掌握网络视频传输协议的概念与作用、流式传输的基本原理;掌握顺序流、实时流、单播流、多播流 ( 传输方式 ) 、点播、广播 ( 发布控制方式 ) 的概念与特点。 2 .能力目标: 掌握提供网络视频服务所需带宽的规划方法,掌握提供网络视频服务视频流传输方式的选择方法。 3 .素质目标: 培养理论联系实际分析问题的思想。. 3.1 传输协议.
E N D
本章结构 流媒体传输技术
学习目标 • 1.知识目标:了解流媒体传输协议的特点、结构与工作过程;掌握网络视频传输协议的概念与作用、流式传输的基本原理;掌握顺序流、实时流、单播流、多播流(传输方式)、点播、广播(发布控制方式)的概念与特点。 • 2.能力目标:掌握提供网络视频服务所需带宽的规划方法,掌握提供网络视频服务视频流传输方式的选择方法。 • 3.素质目标:培养理论联系实际分析问题的思想。
3.1 传输协议 • 随着计算机网络和多媒体技术的飞速发展,在网络上传输实时视音频数据的应用越来越多,它们对传输实时性的要求远高于传输的可靠性。 • 然而,互联网中发送的数据包可以被复制、延迟或不按顺序到达,抖动现象尤其普遍,这将严重影响网络服务质量,使多媒体传输的实时性不复存在。 • 为了解决上述问题,IETF陆续制定了一系列新的协议,如RTP/RTCP、RSVP和RTSP等,它们协同工作,在很大程度上满足了实时数据的传输要求。
3.1 传输协议 • 3.1.1 传输协议及质量控制 • 3.1.2RSVP协议 • 3.1.3RTP协议与RTCP协议 • 3.1.4 HTTP协议 • 3.1.5RTSP协议 • 3.1.6 MMS协议 • 3.1.7 流式传输的基本原理
3.1.1传输协议及质量控制 • 网络视频对网络带宽、音视频数据的实时传输、连续播放、分组丢失等都有着严格的要求。 • 用户对网络视频应用一般都有一定程度的服务质量(quality of service)要求,要求系统对网络带宽、吞吐量、端到端延迟、物理抖动、分组出错率和比特出错率等提供一定的承诺。 • 因此,网络视频系统需要强有力的服务质量管理机制来满足用户的要求。
3.1.1传输协议及质量控制 网络视频协议在TCP/IP协议栈中的位置
3.1.2RSVP协议 • 1. RSVP概述 • 由于音视频数据比普通数据对网络延时更为敏感,RSVP(resource reserve protocol,资源预留协议)预留一部分网络资源(即带宽),能在一定程度上为网络视频的传输提供服务质量保证。 • RSVP处于传输层,IETF的RSVP工作组负责定义该协议,其功能是在非连接的IP上实现带宽预留,满足应用程序向网络请求一定的服务质量。 • RSVP协议的核心是流(从一个发送方到多个接收方)和预定。
3.1.2RSVP协议 2.RSVP的头部结构
3.1.2RSVP协议 • 3. RSVP协议的工作过程 • 1)服务器端根据带宽、延时、抖动的上界和下界来规定传输业务; • 2)服务器端向客户端发送“PATH”检测,所经路径上的路由器均记下路由信息; • 3)客户端收到该“PATH”报文后,向发送端发送“RESV”(资源预留)信息,包括数据流的平均速率、突发长度等,并沿原路径反向传回; • 4)路径上的路由器根据“RESV”报文中的信息为相应的应用进程保留资源(连接建立),直至到达服务器端;若不能预留,则超时,建立连接失败 • 5)数据沿着与“PATH”和“RESV”消息相同的路径传送。
3.1.3RTP协议与RTCP协议 • RTP(Real-time Transport Protocol)是由IETF开发的一种为交互式语音、视频、仿真数据等实时多媒体应用传输而设计的传输层协议,其目的是提供时间信息和实现流同步,为多媒体应用提供端到端的服务。 • ITU组织的H.323标准就采用了RTP协议。 • RTP包括2个协议:RTP和RTCP。 • --RTP负责传送带有实时信息的数据包;不能保证网络质量低时的丢包率; • --RTCP是RTP的控制部分,负责拥塞控制和流控制等。
3.1.3RTP协议与RTCP协议 • 1.RTP(Real-time Transport Protocol)协议 • 1)概述 • RTP是在IP互联网上传输数字音频或视频信号所使用的协议。该协议是用来解决实时通信问题的一种技术方案,可基于多播或单播网络提供端到端的实时数据传输。
3.1.3RTP协议与RTCP协议 • 2)RTP的特点 • (1)轻量性:无复杂的连接机制 • (2)灵活性:可与其他协议结合使用,部分代码实现放在应用层 • (3)独立性:与下层协议无关,均可在UDP/IP层实现 • (4)可扩展性:RTP只提供框架,开发者可具体实现细节
3.1.3RTP协议与RTCP协议 • 3)RTP的协议结构 • RTP协议可以在面向连接或无连接的下层协议上工作,通常和UDP协议一起使用。 • RTP数据包的头部含有时间戳和顺序号,支持接收端重建接收数据的时序关系,以便正确回放媒体流。
3.1.3RTP协议与RTCP协议 RTP数据包的头部信息
3.1.3RTP协议与RTCP协议 • 4)RTP的工作原理 • RTP主要实现一种端到端的多媒体同步控制机制,既不需要事先建立连接,也不需要中间节点为其保留资源,它可以建立在底层的面向连接或非连接的传输协议之上。
3.1.3RTP协议与RTCP协议 • RTP协议的数据报文和控制报文的使用相邻的不同端口,提高了协议的灵活性和处理的简单性。 • RTP和UDP共同完成传输层协议功能。
3.1.3RTP协议与RTCP协议 • 2. RTCP(RTP Control Protocol)协议 • 1)概述 • RTCP是一种进行流量控制和拥塞控制的服务控制协议。RTCP需要与RTP一起配合使用。
3.1.3RTP协议与RTCP协议 • 通过不同的RTCP数据报来完成接收、分析、产生和发送控制报文的功能。 RTCP协议的类型: • (1)SR(发送端报告) • (2)RR(接收端报告) • (3)SDES(源描述,成员标识信息描述,邮件/电话/姓名等) • (4)BYE(通知离开,表示某些源失效) • (5)APP(由应用程序自己定义)
3.1.3RTP协议与RTCP协议 • 2)RTCP与RTP协同工作的原理 • RTP协议工作时,从上层接收多媒体信息流,装配成RTP数据包,传送给下层协议。 • 下层协议提供RTP与RTCP的分流,会话时将使用两个端口。 • 在RTP会话期间,服务器可以利用RTCP包中的信息动态地改变传输速率,甚至改变有效负载类型。 • RTP协议和RTCP协议配合使用,它们能以有效的反馈和最小的开销使传输效率最佳化,因而特别适合传送网上的实时数据。
3.1.4 HTTP协议 • HTTP(hypertext transfer protocol,超文本传输协议)作为应用层协议,由于其简捷、快速的方式,比较适合于分布式和合作式超媒体信息系统 。 • HTTP 是一种请求/响应式协议。 也可以用来传输网络视频,但是功能较弱。 • --请求包格式:URI、协议版本号、MIME信息(包括服务器信息、实体信息和可能的内容) • --响应格式:协议版本号、成功或错误代码,MIME
3.1.5RTSP协议 • 1.概述 • (1) RTSP(Real Time Streaming Protocol)是应用级协议,控制实时数据的发送,点播的技术基础 • (2) RTSP必须以底层的RTP、RSVP等协议为依托,才能够在因特网上提供完整的网络视频传输服务。RTSP是一个流媒体表示协议,主要用来控制具有实时特性的数据发送,但它本身并不传输数据。 • (3) RTSP负责在服务器和客户机之间创建并控制连续媒体流。用户通过RTSP可以执行播放、暂停和快进等操作。
3.1.5RTSP协议 • 2. RTSP的特点 • 可扩展性、易解析、安全、独立于传输 、可靠数据报协议(RDP)、多服务器支持、记录设备控制、流控与会议开始分离、适合专业应用、代理与防火墙友好、HTTP友好、适当的服务器控制、传输协调、性能协调
3.1.5RTSP协议 • 3.协议结构 • RTSP 是一种文本协议,采用 UTF-8 编码中的 ISO 10646 字符集。一行可通过 CRLF 终止,但接收端需要做好解释CR和LF作为一行终止符的准备。
3.1.5RTSP协议 • 4.与HTTP协议的关系 • RTSP在制定时较多地参考了HTTP 1.1,甚至许多描述与HTTP 1.1完全相同。 • 虽然RTSP的设计在语法和操作上与HTTP十分相似,但也有不同之处。
3.1.6 MMS协议 • MMS协议(Microsoft media server protocol)是控制流媒体数据传输的应用层协议,是微软公司定义的用来访问并流式接收Windows Media 服务器中ASF文件(advanced streaming format)的协议。 • 若在Media Player中输入一个URL地址以连接流媒体,则必须采用该协议。
3.1.7 流式传输的基本原理 • 流式传输的一般过程为: • 1, 用户选择某一流媒体服务后,Web浏览器与Web服务器之间使用HTTP/TCP交换控制信息,以便把需要传输的实时数据从原始信息中检索出来; • 2, 然后客户机上的Web浏览器启动A/V Player程序,使用HTTP从Web服务器检索相关参数(包括信息目录、编码类型、服务器地址等)对Player程序初始化。
3.2 传输方式 • 3.2.1流媒体的传输方式 • 3.2.2流类型 • 3.2.3发布方式
3.2.1流媒体的传输方式 • 1.顺序流式传输 • 顺序流式传输就是顺序下载,在下载文件的同时用户可观看在线视频,在给定时刻,用户只能观看已下载的部分,而不能跳到还未下载的前头部分。可看较高质量的画面,但是有延时。 • 2.实时流式传输 • 实时流式传输指保证视频信号带宽与网络连接匹配,使视频可被实时观看到。实时流式传输与HTTP流式传输不同,他需要专用的流视频服务器与传输协议(RTSP, MMS)。可根据用户速率动态调整,易受到防火墙干扰,不完全保证质量,以减少延时。
3.2.2流类型 • 1.单播流 • 单播(Unicast),就是在每个客户端与视频服务器之间建立一个单独的数据通道,并且从一台服务器送出的每个数据包只能传送给一个客户机的传输方式。 • 单播
3.2.2流类型 • 2.多播流 • 多播(Multicast)又称为多址广播或组播。多播流是指服务器和接收流的客户端之间具有一对多关系。需要多播路由器支持。
3.2.3发布方式 • 1.点播 • 一对一的服务。在点播发布中,用户通过选择内容项目来初始化客户端连接,形成一对一服务和控制 • --如果希望用户能够控制正在传输的内容的播放,则最适合以点播方式发布内容。这种类型的发布方式常用于以文件、播放列表或目录为来源的内容。 • 点播一般以单播流的形式传递
3.2.3发布方式 • 2.广播 • 广播(Broadcast)发布方式类似于电视台节目播出,服务器将视音频流发布出去,所有的用户连接到服务器后,看到的都是相同的内容。 • --一对多,客户端不能进行控制 • 广播发布的内容可以单播或多播流方式传递,将广播发布的流预先存为文档,并将该文档以单播的重放模式提供给用户。
3.2.3发布方式 • 小结: • 从传输流的角度:单播和多播。 • --单播:多对多。即多个流对多个终端; • --多播:一对多。即一个流复制后对多个终端; • 从流控制或应用的角度:点播和广播。 • --点播:每个终端一个session,用单播来实现; • --广播:所有终端公用一个session,可用多播或单播(重放模式)来实现。
3.3 传输带宽与分配 • 未经处理的NTSC制的视频则需要25Mbps的传输率,即使采用压缩比较高的压缩格式后,达到DVD质量的视频也要750kbps,较高的数据量对网络和服务器的要求必然较高。
3.3 传输带宽与分配 • 3.3.1计划带宽需求 • 3.3.2计划可用带宽容量
3.3.1计划带宽需求 • 1.并发的流数目 • 所谓并发流的数目,就是指同时观看网络视频的用户数量。
3.3.1计划带宽需求 • 2.流的带宽 • 网站可以提供不同码率的节目给用户,用Windows Media流媒体系统编码技术,标准清晰度视频(像素数为320×240)需要的带宽最高是464Kbps,不考虑网络中的其他因素,正好可以满足512Kbps的ADSL用户的需要;而要达到DVD画面质量(像素数为640×480),带宽至少需要750Kbps。
3.3.1计划带宽需求 • 3.网络实际可用带宽 • 网站总的带宽需求应该是: • (带宽A×带宽A用户数+带宽B×带宽B用户数+带宽C×带宽C用户数量……)/(1−管理占的带宽比例)。
3.3.2计划可用带宽容量 • 1.最大并发流数目 • 计算的方法为:最大连接数=网络带宽×(1−管理占的带宽比例)/流平均带宽。
3.3.2计划可用带宽容量 • 2.视频加速技术 • 1)负载均衡 • 负载均衡就是系统根据服务器距离用户的远近和服务器资源的占用情况,动态地为用户分配不同的服务器进行服务。负载均衡可分为全局负载均衡和本地负载均衡。 • --CDN,内容分发网络系统
3.3.2计划可用带宽容量 • 2)内容缓存 • 内容缓存是指将使用频度最高的内容尽可能存放在服务器的高速缓存中,尽量避免服务器从内容服务中寻找内容。
3.3.2计划可用带宽容量 • 3)服务器冗余 • 在高负荷、大流量或者商业化的网络视频系统中,服务器冗余也是一项必要的措施。因为服务器冗余可以极大地提高系统的可靠性和可用性,从而可以保证某一台或几台服务器死机时不会影响到系统的运行。服务器冗余包括视频服务器冗余和编码器冗余。
3.4 拓展学习 • 林腾因特网应用协议实例剖析与服务器配置:6.2 Http协议,人民邮电出版社, 2004。 • 钟玉琢.流媒体和视频服务器:第3、4、6章,清华大学出版社,2003。 • 王春海.网络视频技术及应用标准教程:第1章 网络视频服务基础,人民邮电出版社,2002。 • 中国协议分析网,RFC 4424 - Real-Time Transport Protocol,http://www.cnpaf.net/Class/Rfcen/200611/18529.html • 中国协议分析网,HTTP超文本传输协议-HTTP/1.1中文版,http://www.cnpaf.net/Class/HTTP/200707/20984.html