《多媒体网络》PPT课件.ppt
7a-1第第7讲讲 多媒体网络多媒体网络本讲目标本讲目标:r了解多媒体网络的应用要求了解多媒体网络的应用要求 m延迟延迟m带宽带宽m数据丢失数据丢失r学习如何将因特网所提供的学习如何将因特网所提供的尽力而为的服务用到极致尽力而为的服务用到极致r学习因特网将如何进化以便学习因特网将如何进化以便更好的支持多媒体应用更好的支持多媒体应用本讲概述本讲概述:r多媒体的网络应用多媒体的网络应用r存储式音频存储式音频/视频流视频流mRTSPr交互式的实时应用交互式的实时应用mIP电话举例电话举例rRTPrH.323 and SIPr在尽力而为的基础上发展在尽力而为的基础上发展m调度和策略的实施调度和策略的实施m集成服务集成服务m区别服务区别服务第7讲 多媒体网络7a-2网络中的多媒体网络中的多媒体 基本特征基本特征:r一般对延迟敏感一般对延迟敏感.r但可以容忍部分数据的丢失但可以容忍部分数据的丢失:偶尔发生的数据丢失会产生偶尔发生的数据丢失会产生轻微的干扰,可以忽略轻微的干扰,可以忽略.r数据资料的传输数据资料的传输(程序程序,银行银行信息信息,etc.),却正好相反,却正好相反,可以容忍延迟,但不能容忍可以容忍延迟,但不能容忍数据的丢失数据的丢失.r多媒体也称多媒体也称“连续媒体连续媒体(continuous media)/流媒流媒体体”多媒体应用的分类多媒体应用的分类:r存储式的存储式的 audio/video流媒体流媒体r直播式的直播式的audio/video流媒体流媒体r实时交互式的实时交互式的audio/video第7讲 多媒体网络7a-3网络中的多媒体网络中的多媒体(2)存储式流媒体存储式流媒体r客户端从服务器请求客户端从服务器请求audio/video文件,以流水方文件,以流水方式从网络上进行接收并显示式从网络上进行接收并显示r交互交互:用户可进行操作用户可进行操作(如同如同操作录像机操作录像机:暂停暂停,恢复播放恢复播放,快进快进,回退回退,etc.)r延迟延迟:从客户端发出请求到开从客户端发出请求到开始播出为始播出为110秒秒实况转播(单向实时)实况转播(单向实时):r如同如同 TV 和无线广播和无线广播,但是从因但是从因特网上传送特网上传送r非交互非交互,只是收视只是收视/收听收听实时交互实时交互:r电话或视频会议电话或视频会议r由于实时特性,比流媒体点播和由于实时特性,比流媒体点播和实况转播要求更为严格实况转播要求更为严格rVideo:150 ms尚可尚可rAudio:150 ms比较好比较好,400 ms可以接受可以接受第7讲 多媒体网络7a-4网络中的多媒体网络中的多媒体(3):挑战挑战rTCP/UDP/IP 协议族提供的协议族提供的是尽力而为是尽力而为,无延迟或延迟变无延迟或延迟变动承诺的服务动承诺的服务.m流媒体的应用有流媒体的应用有 5-10的延的延迟今天看来十分普遍迟今天看来十分普遍,但当链但当链路路(越洋线路越洋线路)拥塞时,情况拥塞时,情况会急剧恶化会急剧恶化 m实时交互应用对分组延时和实时交互应用对分组延时和抖动(抖动(jitter)具有严格的具有严格的限制限制.m抖动(抖动(Jitter)是指在同一)是指在同一分组流传输过程中发生的分分组流传输过程中发生的分组延时变化组延时变化.r如果在因特网中能分出服务如果在因特网中能分出服务级别,那么多媒体应用的设级别,那么多媒体应用的设计将要容易的多计将要容易的多.m但是在公共因特网中但是在公共因特网中,所有分所有分组所受到的服务完全是相等组所受到的服务完全是相等的的.m包含实时交互包含实时交互audio和和video 数据分组在网络中所受到的数据分组在网络中所受到的待遇待遇,和其他分组完全一样和其他分组完全一样.r目前对在因特网中提供区别目前对在因特网中提供区别对待的服务的研究一直在进对待的服务的研究一直在进行之中行之中.第7讲 多媒体网络7a-5网络中的多媒体网络中的多媒体(4):将尽力而为的服务用到极致将尽力而为的服务用到极致为减少为减少“尽力而为尽力而为”的因特网的的因特网的服务原则的影响,我们可以服务原则的影响,我们可以:r使用使用UDP来避免来避免TCP和它的慢和它的慢启动过程启动过程r在客户端缓存部分内容和控在客户端缓存部分内容和控制回放来弥补传输抖动造成制回放来弥补传输抖动造成的影响的影响r我们可以给分组加上时间戳我们可以给分组加上时间戳来提醒接收端及时回放该分来提醒接收端及时回放该分组组.r选择压缩等级来适配可用带选择压缩等级来适配可用带宽宽r我们还可以发送冗余的分组我们还可以发送冗余的分组来减少分组丢失所造成的影来减少分组丢失所造成的影响。响。我们将讨论这些我们将讨论这些“雕虫小技雕虫小技”第7讲 多媒体网络7a-6因特网应如何进化才能更好的支持多媒体因特网应如何进化才能更好的支持多媒体?集成服务(集成服务(Intserv)的哲学的哲学:r改变因特网协议以便应用程序改变因特网协议以便应用程序能够预定端对端的带宽能够预定端对端的带宽m需要部署协议来预留带宽需要部署协议来预留带宽m必须修改路由器的调度策略来必须修改路由器的调度策略来响应带宽预留响应带宽预留m应用程序必须体为网络提供信应用程序必须体为网络提供信息流量的描述息流量的描述,并进而遵循这并进而遵循这样的描述样的描述.r在主机和路由器中开发新的更在主机和路由器中开发新的更复杂的软件复杂的软件区别服务(区别服务(Diffserv)的哲学的哲学:r对因特网的基础结构进行改对因特网的基础结构进行改造造,使其可以提供分级的服务使其可以提供分级的服务.r分组要加标记分组要加标记r用户为高级别的服务付出更用户为高级别的服务付出更多的费用多的费用.rISP为骨干网络收发高级别的为骨干网络收发高级别的分组付出更多的费用分组付出更多的费用.第7讲 多媒体网络7a-7因特网应如何进化才能更好的支持多媒体因特网应如何进化才能更好的支持多媒体?(续续)自由放任自由放任(Laissez-faire)哲哲学学 r没有带宽预定没有带宽预定,不搞分组标记不搞分组标记r只要需求增加只要需求增加,供应更多的带供应更多的带宽宽r将存储内容置于网络的边缘将存储内容置于网络的边缘:mISP和主干上增加缓存和主干上增加缓存m内容提供商将内容置于内容提供商将内容置于 CDN 结点结点mP2P:选择临近的存储有内容选择临近的存储有内容的对等结点的对等结点虚拟专网虚拟专网(VPN)r为企业保留永久性的带宽域为企业保留永久性的带宽域(blocks of bandwidth).r路由器可以根据路由器可以根据IP 地址来识地址来识别别VPN的信息流的信息流r路由器使用特殊的调度策略路由器使用特殊的调度策略来提供预留的带宽来提供预留的带宽.第7讲 多媒体网络7a-8存储式存储式Audio&Video流流存储式流媒体存储式流媒体:rAudio/video 文件存储在服文件存储在服务器上务器上r用户根据需求调用用户根据需求调用audio/video 文件文件.rAudio/video 在请求的在请求的10秒秒以内提供以内提供.r提供交互性提供交互性(暂停暂停,重新定位重新定位等等,etc.).媒体播放器(媒体播放器(Media player):m消除抖动消除抖动m解压缩解压缩m错误校正错误校正m提供图形交互界面进行控制提供图形交互界面进行控制 r可以使用插件(可以使用插件(Plug-in)将)将媒体播放器植入浏览器窗口媒体播放器植入浏览器窗口.第7讲 多媒体网络7a-9从从Web服务器调用流媒体服务器调用流媒体(1)rAudio和和 video文件存储在文件存储在 Web服务器上服务器上最原始的方法最原始的方法r浏览器使用浏览器使用HTTP请求报文从请求报文从Web服务器访问流媒体文件服务器访问流媒体文件rWeb服务器用服务器用HTTP响应报文响应报文发送文件发送文件rcontent-type 首部行描述了首部行描述了 audio/video的编码的编码r浏览器启动媒体播放器浏览器启动媒体播放器,并将并将文件传递给它文件传递给它r媒体播放器解读该文件媒体播放器解读该文件 主要缺点:媒体播放器通过浏览器作为中介与Web 服务器交互第7讲 多媒体网络7a-10从从Web服务器调用流媒体服务器调用流媒体(2)改进改进:在服务器和播放器之间建在服务器和播放器之间建立连接立连接r浏览器请求和接收元文件(浏览器请求和接收元文件(meta file)(用来描述对象的用来描述对象的文件)而不是接收文件本身文件)而不是接收文件本身);rContent-type首部说明是特首部说明是特定的定的audio/video应用应用r浏览器启动媒体播放器并将浏览器启动媒体播放器并将元文件传递给它元文件传递给它 r播放器与服务器建立播放器与服务器建立TCP 连连接并发送接并发送 HTTP请求请求.问题讨论问题讨论:r媒体播放器使用媒体播放器使用HTTP通信通信,没有没有 pause,ff,rwnd 功能功能r可以考虑使用可以考虑使用 UDP通信通信第7讲 多媒体网络7a-11从流媒体服务器调用流媒体从流媒体服务器调用流媒体r该结构可以使用非该结构可以使用非HTTP协议协议进行通信在服务器和流媒体进行通信在服务器和流媒体播放器之间进行通信播放器之间进行通信 r可以使用可以使用UDP来替代来替代 TCP.第7讲 多媒体网络7a-12实时流媒体协议(实时流媒体协议(Real Time Streaming Protocol):RTSP HTTPr HTTP所服务的媒体已经定所服务的媒体已经定型型:HTML,images,applets,etc.rHTTP 的设计没有考虑流媒的设计没有考虑流媒体体(i.e.,audio,video,etc.)RTSP:RFC 2326r客户端客户端-服务器应用层协服务器应用层协议议.r可为用户提供播出控制可为用户提供播出控制:rewind,fast forward,pause,resume,repositioning,etc它所不能做到的它所不能做到的:r没有流媒体传递过程中的没有流媒体传递过程中的audio/video数据的封装数据的封装r不限制流媒体的传递方式不限制流媒体的传递方式;既既可以用可以用 UDP也可以用也可以用TCPr没有定义流媒体播放器如何对没有定义流媒体播放器如何对 audio/video数据进行缓存数据进行缓存RealNetworksr服务器和播放器使用服务器和播放器使用RTSP 互互相向对方发送控制信息相向对方发送控制信息第7讲 多媒体网络7a-13RTSP:带外控制带外控制-out of band controlFTP 使用了使用了“带外带外”的控制通道的控制通道:r文件传输通过一个通道文件传输通过一个通道r控制信息控制信息(cd,rm,mv,etc.)则通过分离的则通过分离的TCP连接连接发送发送.r“带外带外”和和“带内带内”通道使用通道使用不同的端口号不同的端口号.RTSP 报文也使用带外通道传送报文也使用带外通道传送:rRTSP控制报文使用的端控制报文使用的端口号与媒体流使用的不口号与媒体流使用的不同,所以是带外传递同,所以是带外传递.r流媒体的分组结构不是流媒体的分组结构不是由由RTPS定义的,因此被定义的,因此被认为是在认为是在“带内带内”传输传输的的.r如果如果RTSP报文使用与流媒体报文使用与流媒体相同的端口号,相同的端口号,RTSP将与流将与流媒体一起媒体一起“间隔间隔”传送传送.第7讲 多媒体网络7a-14RTSP 启动和控制传递启动和控制传递r首先客户端获取多媒体的表示方式描述首先客户端获取多媒体的表示方式描述,这可以由若干媒体流组成这可以由若干媒体流组成.r浏览器个根据表示方式所描述的内容类浏览器个根据表示方式所描述的内容类型调用媒体播放器型调用媒体播放器(辅助的应用程序辅助的应用程序-helper application).r表示描述中使用表示描述中使用URL方法方法 rtsp:/将媒将媒体流包含在内体流包含在内r播放器发送播放器发送 RTSP SETUP请求请求;服务器服务器发送发送 RTSP SETUP响应响应.r播放器发送播放器发送 RTSP PLAY 请求请求;服务器发服务器发送送 RTSP PLAY 响应响应.r媒体服务器媒体服务器“泵出泵出”流媒体流媒体.r播放器发送播放器发送 RTSP PAUSE请求请求;服务器服务器发送发送 RTSP PAUSE响应响应.r播放器发送播放器发送 RTSP TEARDOWN请求请求;服务器发送服务器发送 RTSP TEARDOWN响应响应.第7讲 多媒体网络7a-15元文件举例元文件举例Twister 第7讲 多媒体网络7a-16RTSP会话会话r每次每次RTSP 都会有由服务器都会有由服务器选择的会话定义符选择的会话定义符.r当客户端用当客户端用SETUP请求启动请求启动会话,服务器就会使用定义会话,服务器就会使用定义符来进行响应符来进行响应.r在随后的过程中,客户端反在随后的过程中,客户端反复在每个请求中都使用该定复在每个请求中都使用该定义符义符,直到客户端使用直到客户端使用 TEARDOWN请求来结束会请求来结束会话话.rRTSP 端口号为端口号为 554.rRTSP 报文可以通过报文可以通过 UDP或或TCP发送发送.每个每个 RTSP 报文可以通过报文可以通过一个分离的一个分离的TCP 连接进行连接进行.第7讲 多媒体网络7a-17RTSP:交换实例交换实例 C:Transport:rtp/udp;compression;port=3056;mode=PLAY S:RTSP/1.0 200 1 OK Session 4231 C:Session:4231 Range:npt=0-C:Session:4231 Range:npt=37 C:Session:4231 S:200 3 OK第7讲 多媒体网络7a-18RTSP:流媒体的缓存流媒体的缓存r对对RTSP响应报文的缓存没有响应报文的缓存没有太大的意义太大的意义.r但希望将媒体流缓存在客户但希望将媒体流缓存在客户端的邻近处端的邻近处.r大部分大部分 HTTP/1.1的缓存控的缓存控制机制也被制机制也被RTSP采用采用.m缓存的控制首部可以用于缓存的控制首部可以用于RTSP SETUP 请求和相请求和相应应:If-modified-since:,Expires:,Via:,Cache-Control:r对给定的流媒体来说代理缓对给定的流媒体来说代理缓存只能按数据段的形式保持存只能按数据段的形式保持.m代理缓存可以从本地缓存代理缓存可以从本地缓存 中取出部分数据进行服务中取出部分数据进行服务,而然后必须同原始服务而然后必须同原始服务器连接来填充部分丢失的器连接来填充部分丢失的资料资料,但愿不要在客户端但愿不要在客户端造成传输中断造成传输中断.r从原始服务器传回的流媒体从原始服务器传回的流媒体将通过代理传到客户端将通过代理传到客户端,代理代理可以使用可以使用TCP来获取流媒体来获取流媒体;但代理服务器还是把但代理服务器还是把RTSP控控制报文发给了原始服务器制报文发给了原始服务器.第7讲 多媒体网络7a-19实时交互式应用实时交互式应用rPC-2-PC phonerPC-2-phonemDialpadmNet2phoner视频会议视频会议rWebcamsr现在来研究现在来研究PC-2-PC IP 电话的电话的案例案例第7讲 多媒体网络7a-20使用使用“尽力而为服务尽力而为服务”的的IP电话电话(1)Best effort modelrpacket delay,loss and jitterIP 电话举例电话举例r现在对分组延迟、丢失、和现在对分组延迟、丢失、和抖动对电话内容所造成的影抖动对电话内容所造成的影响进行分析响进行分析.rIP 电话应用程序在对话期间电话应用程序在对话期间产生分组产生分组r谈话期间的数据产生的速率谈话期间的数据产生的速率为为64 kb/sr在交谈期间在交谈期间,每每 20 ms应用应用程序将产生程序将产生160字节字节(8 kB/s*20 ms)的数据块的数据块r数据块加上首部数据块加上首部;然后封装入然后封装入UDP分组并发送分组并发送r某些分组的丢失和延迟会给某些分组的丢失和延迟会给传输造成传输造成“起伏起伏(fluctuate)”.r受话方必须确定何时将数据受话方必须确定何时将数据块进行播放,如何处理缺失块进行播放,如何处理缺失的数据块的数据块第7讲 多媒体网络7a-21IP 电话电话(2)分组丢失分组丢失rUDP 段封装在段封装在 IP 分组中分组中r分组在路由器队列中可能溢分组在路由器队列中可能溢出出rTCP 虽然可以消除数据丢失虽然可以消除数据丢失,但是但是m重发会增加延迟重发会增加延迟mTCP 的拥塞控制会降低速率的拥塞控制会降低速率r增加冗余分组会有帮助增加冗余分组会有帮助端对端的延迟端对端的延迟r为发送、传播、排队延迟的为发送、传播、排队延迟的总和总和r端对端的延迟一旦超过端对端的延迟一旦超过400 ms将严重影响交互性将严重影响交互性;这种这种延迟越小越好延迟越小越好延迟抖动延迟抖动(delay jitter)r考虑交谈期间两个连续的语考虑交谈期间两个连续的语音分组音分组r在发送端初始间隔为在发送端初始间隔为20 ms,但到达受话方时,间隔可能但到达受话方时,间隔可能发生变化发生变化(20ms;20ms)消除抖动消除抖动(removing jitter)r编顺序号码编顺序号码r时间戳时间戳(timestamps)r延迟播出延迟播出(delaying playout)第7讲 多媒体网络7a-22IP电话电话(3):固定的播放延迟固定的播放延迟r受话方试图在数据块产生的受话方试图在数据块产生的q ms后播出后播出.m如果数据块有时间戳如果数据块有时间戳 t,受受话方将在话方将在t+q以后将数据播出以后将数据播出m如果数据块在如果数据块在t+q以后到达以后到达,受话方将予以丢弃受话方将予以丢弃.r顺序编号没有必要顺序编号没有必要.r对丢失的分组需要采取策略对丢失的分组需要采取策略.rQ的取值问题的取值问题:mlarge q:分组丢失较少分组丢失较少msmall q:较好的交互性能较好的交互性能第7讲 多媒体网络7a-23IP 电话电话(4):固定的播放延迟固定的播放延迟r发送方在交谈期间每隔发送方在交谈期间每隔20 ms产生分组产生分组.r 首个分组在时间首个分组在时间r到达到达r 第一种播放策略第一种播放策略:在在p点开始点开始r 第二种播放策略:在第二种播放策略:在 p 点开始点开始第7讲 多媒体网络7a-24从数据丢失中恢复从数据丢失中恢复(1)r数据丢失数据丢失:分组没有到达或比分组没有到达或比其计划中播出时间迟到其计划中播出时间迟到前向纠错前向纠错(forward error correction,FEC):简单机简单机制制r以以n个数据块为一组,为每一个数据块为一组,为每一组创建一个冗余块,该块的形组创建一个冗余块,该块的形成是通过对这成是通过对这n个原始块的异个原始块的异或(或(xor)而得)而得r发送这发送这 n+1 个块(个块(chunks),增加了增加了1/n的带宽的带宽.r如果从该如果从该n+1块里丢失的块最块里丢失的块最多只有一个的话,该块可以重多只有一个的话,该块可以重新构建新构建 r播出延迟必须限定在这对播出延迟必须限定在这对n+1 分组的接收时间里分组的接收时间里r折衷折衷:m加大加大 n,带宽浪费较小些带宽浪费较小些m加大加大 n,较长的播出延迟较长的播出延迟m加大加大 n,出现出现2个或个或2个以上个以上分组丢失的概率增加分组丢失的概率增加第7讲 多媒体网络7a-25从数据丢失中恢复从数据丢失中恢复(2)第二种第二种 FEC 机制机制“捎带低品质流媒体捎带低品质流媒体”发送低分辨率的媒体流发送低分辨率的媒体流作为冗余信息作为冗余信息 例如例如,一般流媒体的音一般流媒体的音频的频的 PCM 为为64 kb/s而冗而冗余的余的GSM为为 13 kb/s.发送端从正常流媒体的发送端从正常流媒体的第第n个数据块与(个数据块与(n-1)数)数据块中创建冗余流媒体附据块中创建冗余流媒体附加上一起发送加上一起发送.只要数据丢失不是连续的,受话端可以对数据丢失只要数据丢失不是连续的,受话端可以对数据丢失进行补偿进行补偿.在开始播放前只要收到两个分组即可开始在开始播放前只要收到两个分组即可开始 为应付连续的数据丢失,也可以附加为应付连续的数据丢失,也可以附加(n-1)和和(n-2)的冗余数据块的冗余数据块第7讲 多媒体网络7a-26从数据丢失中恢复从数据丢失中恢复(3)交错(交错(interleave)r数据块被分割成较小的单元数据块被分割成较小的单元r例如例如,45 ms一个数据块一个数据块r将数据块如图交错传送将数据块如图交错传送r分组将携带来自不同数据块分组将携带来自不同数据块的较小的数据单元的较小的数据单元r在受话方重新装配数据块在受话方重新装配数据块r如果分组丢失如果分组丢失,但大部分数据但大部分数据块仍然存在块仍然存在第7讲 多媒体网络7a-27从数据丢失中恢复从数据丢失中恢复(4)在受话方对受损的音频流进行修在受话方对受损的音频流进行修复复r产生一个类似原始替代数据产生一个类似原始替代数据来替代丢失的分组来替代丢失的分组r重复:对于较小的分组重复:对于较小的分组(4-40 ms)和低丢失率可表现出良好和低丢失率可表现出良好的性能的性能第7讲 多媒体网络7a-28实时协议实时协议(Real-Time Protocol,RTP)rRTP定义了携带定义了携带 audio/video数据的分组结构数据的分组结构:RFC 1889.rRTP 分组提供分组提供 m负荷类型定义负荷类型定义 m分组顺序编号分组顺序编号 m时间戳时间戳 rRTP 在端系统中运行在端系统中运行.rRTP 分组被封装在分组被封装在UDP数据数据段中段中r互操作性互操作性(Interoperability):如果如果 两个两个IP 电话应用程序都运行电话应用程序都运行RTP,那么它们就有那么它们就有 可能一可能一起工作起工作 第7讲 多媒体网络7a-29RTP 运行在运行在 UDP之上之上RTP 库提供了传输层接口来扩展 UDP:端口号,IP地址 跨段的错误校验负荷类型标记分组顺序编号时间戳 第7讲 多媒体网络7a-30RTP 举例举例r回顾发送回顾发送 64 kb/s PCM-编编码的语音通过码的语音通过RTP.r应用程序采集已经编码的数应用程序采集已经编码的数据块据块,e.g.,每每20 ms=160 字节的数据块字节的数据块.r音频音频 数据块和数据块和 RTP首部形成首部形成 RTP 分组分组,被封装入被封装入 UDP数数据段据段.rRTP首部说明每个分组的音频首部说明每个分组的音频类型类型;发送端可以在会议期间发送端可以在会议期间改变编码改变编码.RTP首部同样包含首部同样包含了顺序号和时间戳了顺序号和时间戳.第7讲 多媒体网络7a-31RTP 和和 QoSrRTP 不承诺提供任何实时传不承诺提供任何实时传递和递和 服务质量服务质量 保证保证.rRTP 封装仅仅可以在端系统封装仅仅可以在端系统 进行进行 与中间的路由器没有与中间的路由器没有关系关系.m路由器的作用还是完成传统路由器的作用还是完成传统的尽力而为的服务,而对的尽力而为的服务,而对 RTP分组的传递没有任何实分组的传递没有任何实时性促进的作用时性促进的作用.r要为应用程序提供要为应用程序提供 QoS,因因特网必须要提供其他特网必须要提供其他 的机制的机制,例如例如 RSVP,为为 应用程序预应用程序预留网络资源留网络资源.第7讲 多媒体网络7a-32RTP 媒体流媒体流rRTP 允许每个信源允许每个信源(例如例如,一一台摄像机或一个麦克风台摄像机或一个麦克风)赋以赋以 各自的独立的各自的独立的 RTP分组流分组流.m例如例如,对有两个参与者的得视对有两个参与者的得视讯会议讯会议,要打开要打开4个个RTP流流:两个用于传输音频两个用于传输音频(一个方一个方向一个向一个)和两个视频流和两个视频流(同同样样,一个方向一个一个方向一个).r但是但是,一些常用的编码技术一些常用的编码技术 包括包括 MPEG1和和 MPEG2 在编码过程中将音频和视频在编码过程中将音频和视频合成一个流媒体合成一个流媒体.这种情况下这种情况下,在每个方向上只需一个,在每个方向上只需一个 RTP流流.r对于一场对于一场 many-to-many的的组播会话来说组播会话来说,所有的发送方所有的发送方和信源一般将和信源一般将RTP流依据同样流依据同样的组播地址送入同一组播树的组播地址送入同一组播树第7讲 多媒体网络7a-33RTP 首部首部Payload Type(7 bits):说明传输分组的编码类型说明传输分组的编码类型.如果在会议过程中发送端改变编码类型,则通过如果在会议过程中发送端改变编码类型,则通过payload type字段通知接受端字段通知接受端.Payload type 0:PCM mu-law,64 KbpsPayload type 3,GSM,13 KbpsPayload type 7,LPC,2.4 KbpsPayload type 26,Motion JPEGPayload type 31.H.261Payload type 33,MPEG2 videoSequence Number(16 bits):该序号按所发送的该序号按所发送的RTP分组递增分组递增,可用于,可用于测试数据丢失和恢复失序的分组测试数据丢失和恢复失序的分组.第7讲 多媒体网络7a-34RTP 首部首部(2)rTimestamp field(32 bytes long).表示表示RTP数据分组数据分组中首个字节的采样瞬间中首个字节的采样瞬间.在在 接受端接受端 可使用该字段消可使用该字段消除抖动和提供同步播出除抖动和提供同步播出.该时间戳是由发送端的采样该时间戳是由发送端的采样时钟提供的时钟提供的.m例如例如,音频的时间戳每个采样周期递增一次音频的时间戳每个采样周期递增一次(for example,each 125 usecs for a 8 KHz sampling clock);如果音频如果音频应用程序产生的数据块包括了应用程序产生的数据块包括了160 个个 已编码采样,在信源激已编码采样,在信源激活期间,每个活期间,每个RTP分组的时间戳的增量为分组的时间戳的增量为160.只要信源处于只要信源处于激活状态,时间戳时钟就以恒定的速率递增激活状态,时间戳时钟就以恒定的速率递增.rSSRC field(32 bits long).定义信源的定义信源的 RTP流流.在一在一个个RTP会话中,每个流都必须有一个独特的会话中,每个流都必须有一个独特的 SSRC.第7讲 多媒体网络7a-35实时控制协议实时控制协议(Real-Time Control Protocol,RTCP)r与与RTP协同工作协同工作.r每个在某个每个在某个RTP会话中的参与会话中的参与者都要周期性的传输者都要周期性的传输RTCP控控制分组给所有其它所有的参制分组给所有其它所有的参与者与者.每个每个RTCP分组都包含分组都包含了发送端和了发送端和/或接收端的统计或接收端的统计报告,对应用层有用报告,对应用层有用 r统计数据包括分组发送数量、统计数据包括分组发送数量、分组丢失数量、分组到达的分组丢失数量、分组到达的间歇抖动等间歇抖动等.r这种反馈信息可用于控制应这种反馈信息可用于控制应用程序的性能和进行诊断用程序的性能和进行诊断.m发送方可根据反馈信息修改发送方可根据反馈信息修改传输参数(传输参数(The sender may modify its transmissions based on the feedback).第7讲 多媒体网络7a-36RTCP (续续)-一般典型的一般典型的RTP会话都有一个组播会话都有一个组播(multicast)地址地址;所有的所有的RTP 和和 RTCP 分组只要同属该会话,就是使用该组播地址分组只要同属该会话,就是使用该组播地址.-RTP 和和RTCP分组可使用不同的端口号来相互区别分组可使用不同的端口号来相互区别.-为限制数据流量为限制数据流量,当参与者增加时,每各与会者都会减少当参与者增加时,每各与会者都会减少 RTCP数据的发送数据的发送.第7讲 多媒体网络7a-37RTCP 分组分组接收端报告分组接收端报告分组:r丢包比率丢包比率,最后收到的分组最后收到的分组,平均间隔的抖动平均间隔的抖动.发送端报告分组发送端报告分组:rRTP流中的流中的 SSRC,当前时间当前时间,已经发送的分组数量已经发送的分组数量,和发和发送的字节数量送的字节数量.信源描述分组信源描述分组:r发送端的发送端的e-mail地址地址,发送端发送端的名称的名称,相关相关RTP流的流的 SSRC .分组提供了分组提供了SSRC和用户和用户/主机间的主机间的 映射映射.第7讲 多媒体网络7a-38流媒体的同步问题流媒体的同步问题rRTCP可以协调同一会话中的可以协调同一会话中的不同流的同步不同流的同步.r考虑一下视讯会议,应用程考虑一下视讯会议,应用程序对视频流和音频流分别产序对视频流和音频流分别产生一个生一个 RTP数据流数据流.r在两个媒体流中都携有时间在两个媒体流中都携有时间戳是来自采样时钟,而不是戳是来自采样时钟,而不是来自墙上的挂钟来自墙上的挂钟(i.e.,to real time).r每个每个RTCP发送端报告分组包发送端报告分组包括括,在相关在相关RTP流中最近产生流中最近产生的分组中的分组中,RTP分组的时间戳分组的时间戳和分组创建的真实时间和分组创建的真实时间.这样这样 RTCP发送端报告分组将采样发送端报告分组将采样时钟和真实时间联系在一起时钟和真实时间联系在一起.r接收端可以依据这种联系来接收端可以依据这种联系来同步音频和视频播出同步音频和视频播出.第7讲 多媒体网络7a-39RTCP带宽分配带宽分配(Bandwidth Scaling)rRTCP试图将其占用的带宽试图将其占用的带宽 限限制在制在 5%的会话带宽以下的会话带宽以下.r例如例如,假设一个发送端以假设一个发送端以2 Mb/s速率发送视频数据速率发送视频数据.那那么么RTCP的信息流量限制在的信息流量限制在 100 Kb/s.r协议规定把其中协议规定把其中 75%(75 kb/s)的速率留给接收端的速率留给接收端,其余的其余的 25%或或 25 kb/s,给发送端给发送端.r分配给接收端的分配给接收端的75 kb/s在接在接收端之间进行平均分配,假收端之间进行平均分配,假设有设有R 个接收端,每个接收个接收端,每个接收端分得端分得 75/R kb/s而发送端而发送端则以则以25kb/s 发送发送 RTCP信息信息.r一个会话参与者一个会话参与者(一个接收端一个接收端或一个发送端或一个发送端)在动态计算平在动态计算平均均RTCP分组大小分组大小(across the entire session)的基础的基础上确定上确定RTCP分组的传输周期分组的传输周期.第7讲 多媒体网络7a-40H.323r概述概述rH.323 终端终端rH.323 编码编码r网守网守(Gatekeeper)r网关网关(Gateway)rAudio 编码机制编码机制rVideo 编码机制编码机制第7讲 多媒体网络7a-41概述概述(1)r在在IP网络上进行音频和网络上进行音频和视频会议的基础视频会议的基础 .r定位于实时通信定位于实时通信(而不是而不是存储式流媒体存储式流媒体)r兼顾兼顾 ITU的通信标准的通信标准.r覆盖的范围覆盖的范围:m独立设备独立设备(如:如:Web 电话,电话,Web 电视电视)mPC应用程序应用程序m点对点和多点视讯会点对点和多点视讯会议议rH.323 定义包括定义包括:m终端如何启动终端如何启动/接受呼叫接受呼叫m终端间如何使用通用终端间如何使用通用 audio/video编码编码.mAudio和和video数据如何进数据如何进行封装和发送行封装和发送.mAudio和和video如何同步如何同步(lip-sync).m终端如何同各自的网守程终端如何同各自的网守程序(序(gatekeeper)通信通信m IP电话如何与电话如何与 PSTN/ISDN 电话通信电话通信.第7讲 多媒体网络7a-42概述概述(2)rTelephone callsrVideo callsrConferencesrWhiteboards所有支持所有支持 H.323的终端的终端7a-43概述概述(3)H.323SS7,Inband7a-44H.323端接点必须支持端接点必须支持:rG.711-ITU 语音语音压缩标准压缩标准rRTP 将媒体数据块将媒体数据块封装成分组的协议封装成分组的协议rH.245-“带外带外”控控制协议用于控制制协议用于控制H.323终端终端间的流媒间的流媒体传输体传输.rQ.931 用于建立用于建立/结束连接的信令协议结束连接的信令协议rRAS(Registration/Admission/Status)信道协议信道协议 与网守与网守程序进行通信的协议程序进行通信的协议(如果存在网守如果存在网守-gatekeeper)第7讲 多媒体网络7a-45H.323 终端终端第7讲 多媒体网络7a-46H.323 编码编码Audio:rH.323终端必须支持终端必须支持 G.711 标准进行语音压标准进行语音压缩缩.G.711 以以 5664 kb/s的速率传输语音的速率传输语音.rH.323 正在考虑使用正在考虑使用 G.723=G.723.1,该该标准以标准以 5.36.3 kb/s的速率操作(来支持低的速率操作(来支持低速链路)速链路).rOptional:G.722,G.728,G.729Videor对对 H.323终端来说,视终端来说,视频能力为可选项频能力为可选项.r任何可视化的任何可视化的 H.323终终端必须支持端必须支持 QCIF H.261(176x144 pixels).r也可以选择其他的也可以选择其他的H.261机制机制:CIF,4CIF and 16CIF.rH.261所使用的信道带所使用的信道带宽必须是宽必须是64 kb/s的整倍的整倍数数.第7讲 多媒体网络7a-47产生产生H.323中的音频数据流中的音频数据流AudioSourceEncoding:e.g.,G.711 RTP packetencapsulationUDP socketInternet orGatekeeper第7讲 多媒体网络7a-48H.245控制通道控制通道rH.323 媒体流可以媒体流可以包含若干信道来传输包含若干信道来传输不同类型的媒体数据不同类型的媒体数据r每个每个H.323会话有一会话有一个个 H.245 控制信道控制信道rH.245 控制信道是控制信道是 一个可靠的一个可靠的(TCP)信道信道r主要任务主要任务:m开闭媒体信道开闭媒体信道m能力信息交换能力信息交换:在在发送流媒体之前发送流媒体之前,通信终端对它们之通信终端对它们之间的编码间的编码/算法协算法协商一致商一致第7讲 多媒体网络7a-49信息流信息流 7a-50网守网守(Gatekeeper)1/2 网守网守是任选的是任选的H.323模块模块/设备设备,可以给端点提供可以给端点提供:负责负责”别名别名”与与IP地址的转换地址的转换 带宽管理带宽管理:可以限制实时会议所消耗的带宽可以限制实时会议所消耗的带宽 作为可选功能作为可选功能,H.323呼叫可以被引导通过呼叫可以被引导通过网守网守,对计费有用对计费有用.RAS协议协议(over TCP)负责端点负责端点-网守网守间的通信间的通信H.323 terminalsGate