已阅读5页,还剩46页未读, 继续免费阅读
(通信与信息系统专业论文)网络音频服务系统的设计与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
独创性( 或创新性) 声明 本人声明所呈交的论文是本人在导师指导下进行的研究工作及取得的研究 成果。尽我所知,除了文中特别加以标注和致谢中所罗列的内容以外,论文中不 包含其他人已经发表或撰写过的研究成果,也不包含为获得北京邮电大学或其他 教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任 何贡献均已在论文中作了明确的说明并表示了谢意。 申请学位论文与资料若有不实之处,本人承担一切相关责任。 本人签名:同期 关于论文使用授权的说明 学位论文作者完全了解北京邮电大学有关保留和使用学位论文的规定,即: 研究生在校攻读学位期间论文工作的知识产权单位属北京邮电大学。学校有权保 留并向国家有关部门或机构送交论文的复印件和磁盘,允许学位论文被查阅和借 阅;学校可以公布学位论文的全部或部分内容,可以允许采用影印、缩印或其它 复制手段保存、汇编学位论文。( 保密的学位论文在解密后遵守此规定) 保密论文注释:本学位论文属于保密在一年解密后适用本授权书。非保密论 文注释:本学位论文不属于保密范围,适用本授权书。 本人签名 导师签名 同期: 日期: 网络音频服务系统的设计与实现 摘要: 本系统以符合m p e g 4 标准的音频压缩编码理论与传输理论为基 础,以现实网络当中对音频服务系统的一定需求为依托,分为七大板 块阐述音频服务系统的设计流程和实现细节。系统在总体结构上的划 分如下: h t t p :8 0 8 0 s o u r c e1 s e n r e r 本篇论文将在第一部分主要引出一些背景知识以及相关的一些 协议简介。第一:部分介绍系统的整体结构和设计思路及方案选择分 析。第三三部分将详述流源,对于可能的两种源:1 、实时采集并压缩; 2 :文件,进行具体问题具体分析。第四部分论述s e r v e r 作为流的接 收和发布服务器的实现,采用的协议以及需要注意的问题。第五部分 叙述c l i e n t 的实现以及进一步的扩展。第六部分简述在实际应用中一 止钉:具的制作,如文件制作工具,内容管理工具以及程序主要部分的 配置文件等。第七部分是根据现有的一些流媒体发布模型对未来提出 的些想法和研究的方向。 其中上面所述的每一部分的内容都包括具体的设计、实现,一些 测试数据和显示结果,还有实验中发现的一些问题的及其解决的方法 以及方案与协议的选用和分析等。 本篇论文以m p e g 4 标准以及r t p 等传输协议为依托,侧重的不 是某一个具体应用系统的设计,而是某一类应用系统可以抽象出来的 底层框架的具体实现以及需要注意的一些问题,可以提供给上层应用 根据实际需要做二次开发。本课题在代码的实现1 2 偏重于音频,而在 原理上并不局限于单一的音频源,完全有向视频、脚本等的进一步扩 展的能力。 关键词 m p e 9 4 流媒体服务编码方式r t p r t c p 广播 n e t w o r ka u d i os e r v i c es y s t e m s d e s i g na n dl m p l e m e n t a b s t r a c t t h i st h e s i si sb a s e do nt h et h e o r yo fm p e g 4a u d i oc o m p a c ta n dt r a n s p o r t i to r i g i n a l l yc a m ef r o m m e e t i n g t h en e e d so fa u d i os e r v i c e ss y s t e m ( a s s ) i nt h ec u r r e n tn e t w o r k s t h ea s sc a nb ef r a m e da sb e l o w , 4 h t t p :8 0 8 0 s o u r c e l 一 s e r v e r r t p r t c p c l i e n t l ,2 ,3 t h et h e s i si n c l u d e ss e v e np a r t st od e s i g np r o c e s sa n dt h ei m p l e m e n t so f t h ea b s t h ef i r s t p a r t i n t r o d u c et h eb a c k g r o u n do fa b sa n ds o m e p r o t o c o l s i n v o l v e d t h es e c o n di sc o n c e r n e dw i t ht h e s y s t e m f r a m e d e s i g na n da n a l y s i s t h et h i r dd e t a i l st w o k i n d so fm o s ti m p o r t a n ts v i n g s o u r c e s o n ei st h ed a t as t r i n gn e e d e dc o l l e c t i o na n dc o m p a c t i o ni nr e a l t i m e t h eo t h e ri st h ef i l e s t h ef o u r t hp a r ta i m s ,a tt h er e a l i z a t i o no ft h e s e r v e ra sau n i t e de n t i t yo f r e c e i v i n g a n d t r a n s m i t t i n gs t r i n g s i tc o n s i d e r s t h ep r o t o c o l si n v o l v e da n ds o m e p r a c t i c ep r o b l e m sa tt h es a m e t i m e t h e f i f t hi si n t e r e s t e di nt h er e a l i z a t i o no f t h ec l i e n ta n dt h eu l t e r i o re x t e n d i n g t h es i x t hs h o w ss o m eu s e f u lt o o l d e v e l o p m e n tm e t h o d si np r a c t i c e s u c ha s c o n f i g u r a t i o nt o o l sa n df i l em a k i n gt o o l sf i n a l l y , i nc h a p t e r7 , s o m en o v e lp r o p o s e sa n dr e s e a r c hf o c u s e sa r ep u tf o r w a r da c c o r d i n gt o t h ec u r r e n t l ym e d i a d i s t r i b u t i n gm o d e l s e v e r yc h a p t e re x c e p tc h a p t e r o n ei n c l u d e st h e p r o j e c td e s i g n s , i m p l e m e n t a t i o n ,t e s td a t a ,a n dt h er e s u l td i s p l a y i n gi ng e n e r a l m e a n w h i l e p r o t o c o ls e l e c t i o n ,p r o t o c o la n a l y s i s ,m a n yp r o b l e m sa n dt h es o l u t i o n s a r i s i n gf r o m t h ee x p e r i m e n t a t i o n sa r ei n t r o d u c e d 5 t h i st h e s i si so nt h eb a s i so fm p e g 4s t a n d a r da n dr t p r a m e rt h a no n a n y c e r t a i n s p e c i a la p p l i c a t i o ns y s t e m ,i t i sf o c u so nt h e l o w e r l a y e r f r a m e i m p l e m e n t a t i o n a b s t r a c t e df r o mak i n do fa u d i o a p p l i c a t i o n s y s t e m ,o nw h i c h t h ef u r t h e rd e v e l o p m e n tc a nb ed o n ee a s i l ya c c o r d i n g t ot h eu p p e r - l a y e ra p p l i c a t i o n t h o u g ht h ec u r r e n ti m p l e m e n t a t i o n ( i e s o u r c ec o d i n ga n dt h ee x p e r i m e n t a t i o n s ) i sm a i n l yo nt h ea u d i os y s t e m ,i t i sn o tl o c a t e do nt h es i n g l ea u d i os o u r c e sm e r e l y i tc a nb eo r i e n t e dv i d e o a n dp o s t s c r i p t sa sw e l l o f c o u r s e ,i ti sa n o t h e ri s s u eb e y o n dt h i st h e s i s , a n db a s e do nt h i so n e k e yw o r d s m p e 9 4 m e d i as e r v i c ef i l ef o r m a tr t p r t c pb r o a d c a s t 6 第一章:背景知识以及课题的提出 1 1 什么是多媒体通信,多媒体通信中的媒体指的是什么? 什么是流媒体 根据国际电联( i t u t ) 的定义,多媒体通信中的媒体特指表示媒体 ( r e p r e s e n t a t i o nm e d i u m ) ,也就是多媒体通信系统中要有存储、传输、处理、 恩现多种表示媒体信息( 即多种编码的信息) 的功能。而表示媒体( r e p r e s e n t a t i o n m e d i u m ) :指的是用于数据交换的编码。这类媒体有:图像编码( j p e g 、j b i g 、 h 2 6 1 、m p e g 等) 、文本编码( a s c i i 码、g b 2 3 1 2 、t 1 0 1 ) 和声音编码等。 流媒体技术( 或称为流式媒体技术) 就是把连续的影像和声音信息经过压缩 处理后放到网络服务器上,让浏览者边下载一边观看、收听,而不需要等剑整 个多媒体文件下载完成就可以即时观看的技术。流媒体技术并不是单一的技术, 它是融合很多网络技术之后所产生的技术。它涉及到流媒体数据的采集、压缩、 存储、传输以及网络通信等多项技术。 流媒体是指在网络中使用流式传输技术的连续时基媒体,例如:音频、视频、 动画或其他多媒体文件。流媒体给互联网带来的变化是巨大的,对于用户来讲, 观看流媒体文件与观看传统的音视频文件在操作上几乎没有任何差别。惟一有区 别的就是在影音品质上,由于流媒体为了解决带宽问题以及缩短下载时间,而采 用很高的压缩比,因此用户感受不到很高的图像和声音质量。 网络多媒体: 计算机硬件水平按照摩尔定律飞速发展,多媒体数据的存储、压缩、检索和 渲染技术也逐渐成熟,多媒体技术己进入其发展的高潮阶段。i n t e r a c t 为广大用 户提供了规模非常大的信息服务,极大的提高了人们获得信息的能力,h 益成为 人们通信、交流、娱乐、工作的重要信息工具,在这样的背景下,多媒体和| ) 【:9 络 的交叉课题一一流媒体的发展成为一个必然结果。 典型流媒体应用: 典型的流媒体应用系统包括v o d ( v i d e o o i l d e m a n 系统、视频会i j y ( v i d e o c o n f c r e n c e ) 系统、远程教育( d i s t a n c el e a m i n 曲系统、数字图书馆( d 蜮t a ll i b r a r y ) 等。 目前,i n t e m e t 中最通用的流媒体系统包括m i c r o s o f tw i n d o w sm e d i a ,a p p l e q u i c k t i m e ,r e a lr e a l n e t w o r k s 等。 现实的状况: 然而,不得不面对的现实是,我国目前的网络状况十分复杂,不同地区带宽 的差距较大,尤其是在农村或者一些贫困地区的网络状况远远不足以保证视频业 务能够在一定质量上以流媒体的方式正常运转,也就使得各种音视频流媒体的业 务无法大面积的铺,1 :,即使硬要实现,也难免会成本巨大。由此,引发了本课题 的提出:设计与实现音频服务系统。本课题可以逐渐发展应用到诸如网络广播电 台,电视伴音,或者协同于其他多种形式的流比方说视频,数据等的分布式组合, 使得流从多个点汇聚到客户端最终形成一个完整的可被欣赏的流。 组播、广播、单播利点播的概念: 嗨播( s i n g l e c a s t ) 在客户端与媒体服务器之间需要建立个单独的资料信道,从一台服务器送山 的每个资料包只能传送给一个客户机,这种传送方式称为单播。每个用户必须分 别对媒体服务器发送单独的查询,而媒体服务器必须向每个用户发送所申请的资 料包拷贝。这种巨大冗余首先造成服务器沉重的负担,响应需要很长时间,甚至 停止播放;管王里人员也被迫购买硬件和带宽来保证定的服务质量。 纠播( m u l t i c a s t ) i p 组播技术构建一种具有组播能力的网络,允许路由器一次将资料包复制到多 个信道i :。采用组播方式,单台服务器能够对几十万台客户机同时发送连续数据 流而无延时。媒体服务器只需要发送一个信息包,而不是多个;所有发出请求的 客户端共享同信息包。信息可以发送到任意地址的客户机,减少网络上传输的 信息包的总量。网络利用效率大大提高,成本大为下降。 在m i c r o s o f tm e d i as e r v i c e 中组播是这样的:当不同的用户同时点播同一个节目 时,由j 二点播总有先后顺序,后点播的用户并不是从t h es t a r t o f p r o g r a m 开始播 放,而足依照网络中同时点播此节目的其它用户的播放进度,这就造成当前用户 极有可能从节目的中间开始看起。 广播( b r o a d c a s t ) j “播指的是用户被动接收流。在广播过程中,客户端接收流,但不能控制流。例 如,用户不能暂停、快进或后退该流。广播方式中资料包的单独一个拷贝将发送 给网络上的所有剧户。使用单播发送时,需要将资料包复制多个拷贝,以多个 点对点的方式分别发送到需要它的那些用户,而使用广播方式发送,资料包的单 独一个拷贝将发送给网络上的所有用户,而不管用户是否需要,上述两种传输方 式会非常浪费网络带宽。组播吸收了上述两种发送方式的长处,克服了上述两种 发送方式的弱点,将资料包的单独一个拷贝发送给需要的那些客户。组播不会复 制资料包的多个拷贝传输到网络上,也不会将资料包发送给不需要它的那些客 户,保证了网络上多媒体应用占用网络的最小带宽。 点播( u n i c a s t ) 点播连接是客户端与服务器之间的主动的连接。在点播连接中,用户通过选择内 容项目来初始化客户端连接。用户可以开始、停止、后退、快进或暂停流。点播 连接提供了对流的最大控制,但这种方式由于每个客户端各自连接服务器,却会 迅速用完网络带宽。 1 2 协议与标准的选择分析: 1 2 1m p e g 4 简介 m p e g 4 是m o v i n gp i c t u r e se x p e r t sg r o u p ( 动态图像专家组) 的缩写。这个 专家组始建于1 9 8 8 年,专门为c d 建立视频和音频标准,其成员为视频、音频 及系统领域的技术专家。 m p e g 4 于1 9 9 8 年1 0 月定案,在1 9 9 9 年1 月成为一个国际性标准,随后为 扩展用途又进行了第二版的丌发,于1 9 9 9 年底结束。m p e g 4 主要应用于视像电 话( v i d e o p h o n e ) ,视像邮件( v i d e oe m a i l ) 和电子新i 司( e l e c t r o n i cn e w s ) 等,对传输 速率要求较低,在4 8 0 0 6 4 0 0 0 b i t s s e c 之间。利用很窄的带宽,通过帧重建技术, 压缩和传输数据,咀求以最小的数据获得最佳的图像质量。m p e g 一4 的特点是其 更适于交互a v 服务以及远程监控。这是一个有交互性的动态图像标准。从日前 的情况看,m p e g 4 很可能会被用于三个领域:数字电视、交互式的图形应用( 包 括内容上的合成技术) 、交互式多媒体领域等。m p e g 4 提供了标准的技术使其 能被整合到产品、分类、内容访问等过程中去。继m p e g 4 之后,人们又对解 决日渐庞大的图像、声音信息的管理和迅速搜索产生了兴趣。总体来说,m p e g 4 有三方面的优势。首先,它是作为一个国际化的标准来研究制造的,所以,具有 很好的兼容性。m p e g 4 在提供高压缩比的同时,对数据的损失很小。m p e g l 使v c d 取代了传统的录像带,m p e g 2 将使数字电视最终完全取代现有的模拟 电视;随着m p e g 一4 新标准的不断推出,数据压缩和传输技术必将趋向更加规 范化。 m p e g 一4 不只是具体压缩算法,它是针对数字电视、交互式绘图应用( 影音 合成内容) 、交互式多媒体( w w w 、资料撷取与分散) 等整合及 i 缩技术的需 求而制定的国际标准。它能满足三种族群的需求一多媒体内容创作者、网络_ | i 童务 供货商和终端消费者。 对多媒体内容创作者而言,m p e g 一4 使多媒体内容更多元化、更具有弹性, u 多媒体组件更容易被再利用。它能将现今各自发展的技术及应用,如互联刚、 动画、视频、音频、交互电视等,整合至单一架构之下,进而提供更佳的资源管 理方法和保护著作权的机能。 m p e g 4 音频规范简述: m p e g 4 对自然音频的编码制定了标准,其比特率为2 6 4 k b p s ( 图1 ) 。 存2 6 4 k b p s 比特率范围内,m p e g 4 标准以一组工具的方式,规范了数据流的语 法和各种解码过程。为了存整个比特率范围内获得最高的音频质量,并同时提供 各种额外的功能,定义了三种类型的编码器。最低的比特率范围,即用2 4 k b p s 传输8k h z 驭样频率的语音,用4 1 6 k b p s 传输8k h z 或1 6 k h z 取样频率的音 频1 _ i :句采用各种参量编码技术。而4 1 6 k b p s 之间的中等比特率的语音 i 】埋蜂窝 芷仝谴价i 也活 掰特辫i s d n 纯特攀k 蝻一 图1 1m p e g 一4 自然音频编码( 范围2 6 4 k b p s ) 编码,采用各种码字激励线性预测( c e l p ) 的编码技术。在这个领域内,采用8 kh z 和1 6kh z 两种取样频率来分别支持窄带和宽带的语音。从低于1 6 k b p s 开始,应 用两种时问域至字问域( t f ) 的编码技术也即双v q 和自适应音频编码( a a c ) 编 解码器。在这个领域内的音频信号一般采用8kh z 以上的取样频率。在m p e g 一4 工具集内m p e g 2 a a c 标准的出现,提供高比特率中音频的一般压缩方法。 解码器还可以产生基于有结构的各种输入的声音。文本的输入可以在文本至语音 ( t t s ) 解码器中转换为语音,并规范地合成为一般的声音( 包括音乐) 。合成的声音 n j 以以极低的比特率发送,并且仍然能够描述一个准确的声音信号。 1 2 2 r t p o d p 、r t s p t c p 以及h t t p 简介 1 2 2 1r t p 协议简介: r t p 是一种提供端对端传输服务的实时传输协议,用来支持在单目标广播和多目 标广播网络服务中传输实时数据,而实时数据的传输则由r t c p 协议来监视和控 制。 r t p 定义在r f c1 8 8 9 中。信息包的结构包含广泛用于多媒体的若 二个域,包括 声音点播( a u d i o o n - d e m a n d ) 、影视点播( v i d e oo nd e m a n d ) 、凶特网电话( i n t e m e t t e l e p h o n y ) 和l 电视会议( v i d e oc o n f e r e n c i n g ) 。r t p 的规格没有对声音和电视的妪缩 格式制定标准,它可以被用来传输普通格式的文件。例如,w a v 或者g s m f g l o b a l s y s t e mf o rm o b i l ec o m m u n i c a t i o n s ) 格式的声音、m p e g 1 和m p e g 一2 的电视,也 可以用来传输专有格式存储的声音和电视文件。 使用r t p 协议的应用程序运行在r t p 之上,而执行r t p 的程序运行在u d p 的 上层,目的是为了使用u d p 的端口号和检查和。如图1 6 1 2 所示,r t p 可以看 成是传输层的子层。由多媒体应用程序生成的声音和电视数据块被封装在r t p 信息包中,每个r 1 甲信息包被封装在u d p 消息段中,然后再封装在t p 数据包 中。 t c p i p 模型 、 一 ! 应用层( a p p l i c a t i o n ) 传输r t p f l 层 ;u d p i p i 数据链路层( d a t al i n k ) 一1 il 物理层( p h y s i c a l ) 图1 - - 2 r t p 是传输层上的协议 从应用开发人员的角度来看,可把r t p 执行程序看成是应用程序的一部分,因 为开发人员必需把r t p 集成到应用程序中。在发送端,开发人员必需把执行r t p 2 协议的程序写入到创建r t p 信息包的应用程序中,然后应用程序把r t p 信息包 发送到u d p 的套接接i j ( s o c k e ti n t e r f a c e ) ,如图1 6 一1 3 所示;同样,在接收端, r t p 信息包通过u d p 套接接口输入到应用程序,因此开发人员必需把执行r t p 协议的程序写入到从r t p 信息包中抽出媒体数据的应用程序。 图t 一3 r t p 和u d p 之间的接口 现以用r t p 传输声音为例来说明它的工作过程。假设音源的声音是6 4k b s 的p c m 编码卢音,并假设应用程序取2 0 毫秒的编码数据为一个数据块( c h u n k ) , 即在一个数据块中有1 6 0 个字节的声音数据。应用程序需要为这块声音数据添加 r t p 标题生成r t p 信息包,这个标题包括声音数据的类型、顺序号和时间戳。 然后r t p 信息包被送到u d p 套接接口,在那里再被封装在u d p 信息包中。在 接收端,应用程序从套接接口处接收r t p 信息包,并从r t p 信息包中抽出声音 数据块,然后使用r t p 信息包的标题域中的信息正确地译码和播放声音。 如果应用程序不使用专有的方案来提供有效载荷类型( p a y l o a dt y p e ) 、顺序号或者 时问戳,而是使用标准的r t p 协议,应用程序就更容易与其他的网络应用程序 配合运行,这是大家都希望的事情。例如,如果有两个不同的公司都在丌发因特 i 冽r 乜_ 话软件,他们都把r t p 合并到他们的产品中,这样就有希望:使用不同公 r 7 = j 电话软件的用户之间能够进行通信。 这里需要强渊的是,r t p 本身不提供任何机制来确保把数据及时递送到接收 端或者确保其他的服务质量,它也不担保在递送过程中不丢失信息包或者防止信 息包的次序不被打乱。的确,r t p 的封装只是在系统端才能看到,中间的路由器 并刁i 区分那个i p 数据报是运载r t p 信息包的。 r t p 允许给每个媒体源分配一个单独的r t p 信息包流,例如,摄像机或者 麦克风。例如,有两个团体参与的电视会议,这就可能打开4 个信息包流:两台 摄像机传送电视流和两个麦克风传送声音流。然而,许多流行的编码技术,包括 m p e g 一1 和m p e g 一2 在编码过程中都把声音和电视图像捆绑在一起以形成中的 数据流,一个方向就生成一个r t p 信息包流。 r t p 信息包没有被限制只可应用于单目标广播,它们电可以在对多 ( o n e - t o m a n y ) 的目标广播树或者在多对多( m a n y t o m a n y ) 的目标广播树上传 送。例如,多对多的多目标。播,在这种应用场合| 、,所有发送端通常都把他们 的r t p 信息包流发送到具有相同多目标j “播地址的多目标广播树上。 实时传送协议( r e a lt i m ep r o t o c 0 1 ) 提供具有实时特征的、端到端的数据传送 服务,可以用来传送声音和运动图像数据。在这项数据传送服务中包含了装载数 据的标识符、序列计数、时间戳和传送监视。 在r t p 协议中,没有具体限定底层网络所能提供的传输服务的类型,通常 情况下,r t p 协议与i p 协议栈相结合,运行于u d p 之上( 如图3 - 1 0 所示) 。r t p 仅使用u d p 提供的复用和校验服务。 应用层 传输层 i p i 盯c p t c pu d p i p 层 接口层 图1 4r t p r t c p 协议在t c p i p 协议栈中的位置 由于u d p 对于报文丢失,次序颠倒等数据传输过程中的差错几乎不做任何 处理,而r t p 本身也不保障对于上述错误的更萨,因而接收端应用需要利用同 定头中所含的次序号来检测是否存在r t p 报文的丢失和次序的颠倒。当发现上 述两类错误时,应用程序可以进行差错恢复,如要求发方重新传输相应的报文; 也可以根据实时数据所采用的编码方式的特点忽略错误。r t p 报文的次序号也 l 可+ 以用来标识b i u 的序号,即用来表述实时数据的定时关系。 r t p 提供多址功能,使用时间戳方式提供在一个源和多个目的之间的同步。 如果支持它的网络能提供组播( m u l t i c a s t ) 功能,则r t p 也可用组播将数据送给多 个目的用户。r t p 不保证数据包按序号传送,包含在r t p 中的序号可供接收方 用丁重构数据包序列,也可用于包的定位。 r t p 主要包含了两部分内容,其一为数据报文格式的定义及其使用规则;其 = 为控制协议,即r t c p 。r t p 传输服务使用者之间的连接被称为r t p 会话,就 每一个会话参加者而言,会话由一对传输层地址( 即一个网络层地址加上两个端 口地址,一个端口为r t p 报文的发送接收所占用,另一个端口为r t c p 报文的 发送接收所占用) 标识。在进行多媒体数据通信时,不同媒体类型数据由不同 的r t p 会话传输。与r t p 一起使用的控制协议r t c p 在参加者之间传送控制信 息。 一个标准的r t p 报文是由固定头( f i x e dh e a d e r ) 和用户数据或称数据负载 ( p a y l o a d ) 两部分构成的,其报文结构如图3 1 1 所示: 3 1 ( p t ) 载 v pxc cm 序号( s n ) 荷类别 l 、问戳r1 i m e s l “a m p ) 同步源标识符( s s r c l 提供源标识清单( c s r c ) ( 1 - 1 5 项) 用户数据 图1 5 固定报头的r t p 报文 1 6 注:图中各字段的含义如下: 版本( v ) :这是一个长度为2 比特的字段,表示本r t p 的版本号。 填充( p ) :这是一个长度为1 比特的字段,该位置1 表示在用户数据字段的 最后加有填充位,用户数据字段中的最后一个字节( 8 位组) 是填充位计数,它表 示一共加了多少个填充位。 扩展f x l :这是个长度为l 比特的字段,该位置1 表示r t p 报头后紧随有 一个扩展报头。 c s r c 计数( c c ) :这是一个长度为4 比特的字段,它表示在定长的r t p 报头 后的c s r c 标识符的数量。 标记( m ) :这是一个长度为1 比特的字段,标记的具体解释由轮廓值来定义。 载荷类别( p t ) :这是一个长度为7 比特的字段,它指示在用户数掘字段中承 载数据的载荷类别。 序号( s n ) :这是一个长度为1 6 比特的字段,每发送一个r t p 数据包该序号 增加l 。该序号在接收方可用来发现丢失的数据包和对接收到的数据包进行排序。 时戳( t s ) :这是一个长度为3 2 比特的字段,它用来表示r t p 的数据字段中 第一个字节的采样时刻。时戳的时蒯表示应为线性单调递增的,以便完成同步实 现和抖动的计算。如果若干个r t p 数据包的数据是同时产生的( 如:一帧图像1 , 那这几个r t p 会有相同的时戳值。 同步源标识( s s r c ) :这是一个长度为3 2 比特的字段,它用来标识一个同步 源。 提供源标识清单( c s r c ) :它可以有0 1 5 项标识符,提供源标识项数山 c c 字段来确定。每一项标识符的长度为3 2 比特。 就一个具体廊用而言,有关r t p 协议的完整泷明还需要额外的一个或多个 相关文件,这些文件可以分为两类:轮廓文件和格式文件。 轮廓文件定义一个净荷类型代码集,以及这个代码集到净荷格式的映像。 一 般的说,一种应用总是在唯一的一种轮廓下运行。缺省的轮廓文件是针对音频和 视频会议应用类型定义的r f c l 8 9 0 。 格式文件中规定了r t p 如何携载一种特殊的净荷,如视频或音频编码。 个格式文件可为多个轮廓文件所引用,也 ;】 1 以独立于任一个轮廓文件而被具体应 用单独使用。轮廓文件所包含的一个主要内容就是定义r t p 报文的负载类型值 同格式文件之间的映射关系。 轮廓文件连同其引用的格式文件实际上是r t p 服务同具体应用之间的种 约定。一方面,多媒体应用能够通过这种约定设置r t p 协议的运行参数和运行 方式,如约定r t p 报文某些域的取值含义、范围等,以此来满足其特定的应用 需求( 如计时精度的要求等) ;另一方面。r t p 服务能够借助于这种约定了解具 体应用的特点,尤其是用户定义的数据分帧方法,从而有针对性的实施某些特定 的操作。总之,这种约定是r t p 协议提供面向于具体应用的数据传输服务的基 础和保障。 一般说来,轮廓文件对于r t p 的调整及扩充往往反映了那些独立于数据负 载编码类型的应用需求,而格式文件则根据连续数据的编码方式的将点对r t p 的使用方式做进一步的约定。 1 2 2 2h t t p 协议简介: h t t p 协议是w e b 自己的协议,用来从一个h t t p 服务器上检索信息。这可以 是用h t m l 写的文本文件,静态图像,声音文件,动画视频或仅是简单的文本 文件:h t t p 服务器知道怎样识别文件类型,并通过电线在传输之前告诉低的浏 览器将要传来什么样的文件,以便浏览器知道如何对待。 h t t p 服务器与h t t p 客户机之间的会话如下: 1 、客户机与服务器建立联系 j 服务器建立连接,就是与s o c k e t 建立连接,因此要指定机器名称、资源名 称和端口号,可以通过u r l 来提供这些信息。u r l 的格式为: h t t p : 端口号 路径 ? 资源的缺省值是i n d e x 或d e f a u l t , 端口号缺省为8 0 2 、 客户向服务器提出请求 请求信息包括希望返回的文件名和客户机信息客户机信息以请求头发送 给服务器,请求头包括h t t p 方法和头字段 h t t p 方法常用的有g e t 、h e a d 、p o s t ,而p u t 、d e l e t e 、l i n k 、u n l l n k 豇l k 许多h t t p 服务器都小使用。 头字段包括: d a t e :请求发送的同期和时间 p a r g m a :用于向服务器传输与实现无关的信息。这个字段还用于告诉代理 服务器,要从实际服务器而不是从高速缓存取资源 f o r w a r d e d :可以用来追踪机器之间,而不是客户机和服务器的消息。这 个字段可以用来追踪在代理服务器之问的传递路由。 m e s s a g ei d :用于唯一地标识消息 a c c e p t :通知服务器客户所能接受的数据类型和尺寸。( + 产表示可以接受 所有类型的数据。 a o t h o r i z a t i o n :向服务器提供旁路安全保护和加密机制,若服务器 小需要这个字段,则不提供这个字段 f r o m :当客户应用程序希望想服务器提供有关其电子邮件地址时使用 i f m o d e f i e d s i n c e 用于提供条件g e t 。如果所请求的文档自从所指定的 日期以来没有发生变化,则服务器应不发送该对象。如果所发送的日期格式 不合法,或晚 二服务器的日期,服务器会忽略该字段 b e f e r r e r :向服务器进行资源请求用到的对象 m i m e v e r t i o n :用于处理不同类型文件的m i m e 协议版本号 u s e r a g e n t :有关发出请求的客户信息 3 、服务器对请求做出应答 服务器收到+ 个请求,就会立刻解释请求一p 所用到的方法,并丌始处理应答。服 务器的应答消息也包含头字段形式的报文信息。 报文第一行是状态行,格式为 状态码是个三位数字码,分为四类: 以2 开头,表示请求被成功处理 以3 开头,表示请求被重定向 以4 开头,表示客户的请求有错 以5 开头,表示服务器不能满足请求 解释短语是对状态码的解释。 报文还向客户返回几个头字段,如: s t a t u sc o d e 瓜e a s o np h r a s e d a t e l a s t _ m o d i f i e d s e r v e r c o n t e n t t y p e r e t r ya f t e r :服务器太忙时返回这个字段 w w wa u t h e n t i c a t e :当服务器的安全机制要求客户发送某中授权信息 时使用该字段 报文最后是实体信息,即客户请求得到的h t t p 服务器l 的资源内容。 4 、关闭客户与服务器之间的连接 第二章:被开发软件的一般描述及系统总体架构 图2 1 系统总体框架 设计思路: 作为一个音频服务的发布系统,其结构必定是服务器一客户端结构。也就是 悦,首先会有个服务器处于监听状态,准备响应客户端的请求,一旦接收到客 户端的消息,就会做出适当的反映,比方说向客户端发送流或者拒绝客户端的请 求。划于服务器来讲,因为它必须能够完成将音频数据发送出去的任务,所以也 必定要么存在着一个能够提供给它稳定音频数据的流源,要么这个工作由它自己 来完成,这电我们采用了分级的结构,即流源服务器+ 流发布服务器结构。如同 图中所示的那样。 流源的作用为读取音频文件或者实时采集声音,按照特定的速率发送码流。 如果是实时采集,则不需要加入时间信息,如果从文件读取,则需要根据合适的 时问信息发送个稳定的流。 流媒体发布服务器的作用为接收流源的数据并接收客,o 端的请求之后将从 流源收到的流发到客户端。 客户端的作用显而易见就是向s e r v e r 端发起连接请求,而后便处在监听接收 状态,接收流媒体发和服务器发过来的音频数据并播放之。 在流源与流发布服务器的构造上,前面已经说过,这两个模块的功能也可以 由一个s e r v e r 来统一完成,所以在这里有必要解释。下采用源端与服务器端的二 级结构的原因: l 、质量保障: 在流源的输入与输出的中间,流可以进行重整、净噪、压缩和平滑。 人耳对噪声和抖动十分敏感,所以我们不希望在经过网络传输之前就山于这 样那样的原因引起质量下降,噪音和抖动的产牛可能有多种原因:比方浇实时采 集当中麦克不良,背景糟糕,或在文件读取当中访问存储介质的速度小均匀等。 2 、分工明确: 从这两个模块来讲,功能上具有较大的独立性,我们把他们分开,在流源与 流发布服务器之间通过h t t p 协议进行质量可靠的数据传输,而后通过服务器把已 经得到的优质的流进行向各个客户端的分发,s o u r c e 和s e r v e r 可以不局限在台 机器或者一个网段上。 3 、灵活性和扩展性强: 对于现在的d c 来讲足以满足对音频数据的处理能力,我们可以根据情况灵 活采用两种不同的方式来建立多个频道:1 ,1s o u r c e 一 1s e r v e r ,表示一 个流源发向一个流服务器,通过建立多对s o u r c e + s e r v e r 建立多个频道,客户端 向不同频道发起的请求通过端口进行区分;2 ,n s o u r c e 一 1 s e r v e r ,表示多 个流源的数据发向一个s e r v e r 而后进行再分发,不同的频道通过协议的握手来区 分。第一种实现简单,而第二种似乎更具有科学性。其实,在l i n l a x 平台下的实 现上这两种只有复杂度的差别,并没有本质区别。在我们的系统里将要采用的构 造就是第二种,多流源对一s e r v e r 的情况。目前程序只实现了一个流源,但代码 很容易就可以扩展。 当然,在得到上述好处的同时代价就是客户端与服务器端绝对延时的增加 不过,这在个单向音频服务业务当中显得也并不那么重要。 客户端的几点说明: 1 、具备网络接收接口,能够实时接收流并播放,还具有本地文件打开接ll ,u j 打开并播放存储在本地的m p 4 文件。 2 、分别提供w i n d o w s 和l i n u x 的版本。 3 、值得一提的是,客户端向流媒体服务器应用t c p 协议发起请求,而在接收流 时采用u d p 协议接收数据,如果这时能够采用组播协议,将能节省大量带宽, 然而遗憾的是,目前的网络不可能会在广域网上对组播加以支持,所以,我们必 须采用点播方式请求广播流,也就是服务器采用了每收到一个点播请求,就对客 户端发送一路流的广播方式。m i c r o s o f tw i n d o w sm e d i as e r v i c e 采用的是首先支持 组播,在组播不可达的情况下自动翻转成点播的方式。而本系统目前只是采用这 利r 点播式请求广播流的方式,并且在将来也不打算支持组播,具体对未来发展的 设想将在论文的第七部分有所分析和阐述。 第三章:流源 3 1 输入部分 图3 1 流源总体框图 1 、实时采集 采集: 声卡的工作原理其实是一个感应声波并进行声电或电声转换的过程。输入就 是程序获取到声卡采集到的p c m 数据并进行下一步的处理。 典型的声卡 = | = 以下的组件组成: 一个数字信号处理器( d s p ) ,负责大部分的运算 一个数模转换器( d a c ) ,负责把音频输出电脑 一个模数转换器- ( a d c ) ,负责把音频输入电脑 只读存储器( r o m ) 或者f l a s h 存储器,用于储存数据 音乐设备数字接口( m i d i ) ,用于连接外部的音频设备( 对于大部分声卡而占, 游戏端口也可以用于连接外部的m i d i 适配器) 用于连接扬声器和麦克风的插口,还有线性输n ( 1 i n ei n ) 和线性输出( 1 i n e o u t ) 声卡记录一个声音文件的过程如下: 我们假设t f 在使用麦克风,并且声音输出在扬声器上。声卡通过麦克风( 数 据输入) 以w a v 的格式创建声音文件,转换数据成为文件,并记录在硬盘上的 过程如下: 声卡从麦克风捅孔接收连续、模拟的波型信号输入,该模拟信号具有不同的 频率和振幅 电脑的软件选择那些有用输入的信号,这主要根据是否麦克风输入的声音是 否足需要的 混合过程,模拟波形的信号通过模数转换器( a d c ) 芯片进行实时的处理,以 l 和0 的形式把信号记录起来一产生二进制( 数字) 的输出 从a d c 产生的数字输出流进d s p ,d s p 通过存储在声卡其它芯片上的指令 对其进行再编程;d s p 的功能之一是对现有的数字数据进行压缩,以节省空间。 在该任务的进行过程中,d s p 可以允许电脑的主处理器执行其它的任务。 d s p 输出的数据通过声卡的连接被输送到电脑的数据总线( 或者从声音芯片 剑主板的数据总线之间流动:这主要是集成声卡) 。 数字数据被电脑的主处理器进行处理,然后发送到硬盘控制器,接着它以 w a
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 事业单位教育岗面试易错题题库试卷及参考答案202
- 2026事业单位综合岗面试易错题题库及参考答案
- 2027年备考会计基础 【零基础学员必练】题库与答案
- 2027年备考会计基础 【零基础学员必练】能力提升试题卷附答案
- 2026年湖南网络工程职业学院高职单招笔试数学历年参考题库含答案解析
- 2026年湖南工商职业学院高职单招笔试数学历年参考题库含答案解析
- 2026年湖南交通职业技术学院高职单招笔试语文历年参考题库含答案解析
- 2026年渭南职业技术学院高职单招笔试职业适应性测验历年参考题库含答案解析
- 2026年海南政法职业学院高职单招笔试职业适应性测验历年参考题库含答案解析
- 2026年河北轨道运输职业技术学院高职单招笔试化学历年参考题库含答案解析
- 北京市朝阳区2026-2027学年度第一学期期中质量检测高三英语试卷(含答案)
- 2026山东省防疫安全协管员招聘考试(畜牧兽医)历年参考题库含答案详解
- 2026健康管理师考试理论知识真题及答案
- 2025 含聚谷氨酸有机水溶肥料在马铃薯种植中的应用技术规程
- 2026-2027学年清华附中九年级上册化学期中真题卷
- 2026年四川省成都市技能人才评价考评员考试题库(附答案)
- 正大集团人才评估行测题目
- 离散数学 (第七版) 课件 第二部分 集合论
- FMEA风险评估分析表实战培训
- 2025年进出口银行人员招聘笔试考试试题及答案详解
- 光伏组件拆除方案
评论
0/150
提交评论