(机械电子工程专业论文)基于rtprtcp协议的媒体流同步控制以及性能监测与改善的研究.pdf_第1页
(机械电子工程专业论文)基于rtprtcp协议的媒体流同步控制以及性能监测与改善的研究.pdf_第2页
(机械电子工程专业论文)基于rtprtcp协议的媒体流同步控制以及性能监测与改善的研究.pdf_第3页
(机械电子工程专业论文)基于rtprtcp协议的媒体流同步控制以及性能监测与改善的研究.pdf_第4页
(机械电子工程专业论文)基于rtprtcp协议的媒体流同步控制以及性能监测与改善的研究.pdf_第5页
已阅读5页,还剩55页未读 继续免费阅读

(机械电子工程专业论文)基于rtprtcp协议的媒体流同步控制以及性能监测与改善的研究.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

独裁淫 2 ) 誊频暴集 缓冲送( w a v e i n a d d b u f f e r ,w a v e i n p r e p a r e h e a d e r ) ,然后汗始采集 ( w a v e i n s t a r t ) ,暴集满一个缓冲区后通过发送m m w i m d a t a 消息通知上层威用 程序娥理,应用程穿处遴完联将空的缓冲区送回音频采集缓冲隧列袭循环使厢。 2 音频回放类 该类辩装了w i n d o w s 的鹰层音频播放函数,并道过消愚鞠簿罄盛糟獠净进行 逶信。该类使蠲瘫瑟音频丞数惫播絮下: w a v e o u t o p e n 努舞一个鼷予播数浆波形输惠设餐 w a v e o u t p r e p a r e h e a d e r准餐一个波形鸯频竣出数据块 w a v e o u t w r i t e囱波形竣擞设备发送数糕 w a v e o u t u n p r e p a r e h e a d e r 关闭个用予放音的波形输出设备 具体过程是首先要打开裔频敝音设备( w a v e o u t o p e n ) ,需要播被时将音频数 掇送入波形输漱设餐中( w a v e o u t p r e p a r e 糙喇e r ,w a v e o u t w r i t e ) ,播敞完成后 释放音频数据缓冲区( w a v e o u t u n p r e p a r e f e 8 d e r ) 。 = a ( i ) p ( 1 ) 一a ( 1 ) = d ( i ) 一d ( 1 ) 保证上式成立的条件为:p ( 1 ) 一a ( 1 ) = m a x d ( i ) 一d ( 1 ) 1i = 2 ,3 ,) = d m a x - d m i n ( 假设d ( 1 ) = d m i n ) = t = p ( 1 ) 一a ( 1 ) = d m a x d m i n 结论: 在延时抖动范围已知的条件下,当接收端在收到第一个l o u 后,必须推迟时 间 t - d m a x d m i n 再丌始播放,可保证整个播放时间不间断 2 缓存器的最大容量的确定 设第i 个l d u 在缓存器中缓存的时间为 p ( i ) 一a ( i ) ,b t 为媒体单元的最大 缓存时间 b t = m a x ( p ( i ) 一a ( i ) ii = 2 ,3 , = m a x p ( i ) 一a ( 1 ) 一( d ( i ) 一d ( 1 ) ) = ( d m a x - d m i n ) - m i n d ( i ) 一d ( 1 ) li = 2 ,3 ,) 当d ( 1 ) = d m a x , d ( i ) = d m i n 时, d ( i ) 一d ( 1 ) 具有最小值,所以缓存器的最大 容量b 为 b = b t * r = 2 ( d m a x d m i n ) 术r r 为播放速率,单位为每秒钟传送的l d u 的个数。 41 3 2 网络延迟的获得方法 根据理论推导,要保证播放时问不问断,则必须首先要获得数据包的传输延 迟,才能得到t = d m a x d m i n 。在本实验中,基于r t p 协议,提出了一种新的获 得传输延迟的方法,( 即在r t p 包头时间戳字段中写入此r t p 包的相对时间戳) 。 基于r t p r t c p 协议的媒体流同步控制以及性能监测与改善的研究 北京| | i i j 电大学硕士论文 获得r t p 包的传输延迟d e l a y 的代码实现: 库函数c l o c k ( ) 的应用: 其函数原形为c l o c k tc l o c k ( v o i d ) : 其作用是:计算出自主进程开始执行的时刻到此刻( 调用c l o c k 0 ) 所经过 的时间( 即主机开机的时间) 。返回一个c l o c k t ( 四字节) 数据类型,单位 为毫秒 理论的推导:将发送端的曙包的发送线程的起点和接收端的r t p 包的接 收线程的起点做为同步点。 发送端:i l j l - - - 同步点第i 个r t p 包发送时刻 ( 绝对时间轴) s y n c s e n d = c l o c k ( ) s e n d = c l o c k ( ) s e n d t i m e = t i m e s t a m p = s e n d s y n c s e n d : 将t i m e s t a m p 作为此r t p 包头的时间戳。 接收端:id e l a y l h 卜刊 同步雨磊了环掠邗1 獗痢l( 绝对时间轴) s y n c r e c e i v e = c l o c k ( ) r e c e i v e = c l o c k ( ) r e c e i v e t i m e = r e c e i v e s y n c r e c e i v e 所以:d e l a y = r e c e i v e t i m e - - s e n d t i m e = ( r e c e i v e s y n c r e c e i v e ) 一( s e n d s y n c s e n d ) = ( r e c e i v e s y n c r e c e i v e ) 一t i m e s t a m p 接收端从r t p 包的时间戳中得到t i m e s t a m p 注意:在实际情况当中,发送端和接收端同步点是存在误差的,这是因为: 当接收端收到h 2 4 5 请求消息e o p e n l o g i c a l c h a n n e l ,就创建了接收线程, 然后发送h 2 4 5 响应消息e o p e n l o g i c a l c h a n n e l a c k 给发送端,当发送端接 收到该消息以后,才创建发送线程,由于网络延迟的存在,所以,发送端的 同步点要比接收端的同步点要迟,这就存在同步误差。 基于r t p r t c p 协议的媒体流同步控制l 三l 殿性能监测与改瞢黼研究北京邮电大学硕士论文 发送添:ll 同步点第i 个r t p 包发送时刻( 绝对时间轴) 接收端 饔舞步误差沁蠢d e l a y 同步点第i 个r t p 包发送时刻( 绝对时间轴) 所以此时樽到的延迟为: d e l a y ( e r r o r ) = d e l a y + s y n c e r r o r 接收端计算延迟抖动,从而确定播放时刻: d e l a y m a x ( e r r o r ) = d e l a y m a x + s y n c e r r o r d e l a y m i n ( e r r o r ) = d e l a y m i n + s y n c e r r o r d e l a y j i t t e r = d e l a y m a x ( e r r o r ) 一d e l a y m i n ( e r r o r ) = d e l a y m a x d e l a y m i n 从以上的计算看出,虽然在计算延迟时存在同步误麓,但是在计算延迟 抖动时,消除了同步误差的影响,从而保诞了准确的播放时刻。 4 。3 3 接羧端音凝缓存嚣豹最大饔爨的确定 本炎验中采用g 7 2 3 1 语音编码器。在本炎验中,发送端采用了静裔检测机 刳,挺3 赣压绥居戆啻叛数据敷焱一个r t p 包懋,瑟鞋,r ( 攒敖速率;= ( 1 0 0 0 3 0 ) 3 = 1 0 0 9 。取r = 1 2 在初始他的时候设置d m a x d m i n = 3 0 0 ( m s ) 缓存嚣的最大 容量b 为:b = b t 术r = 2 ( d m a x - d m i n ) 术r ( 此时b 指的是为接收r t p 包缓冲单元 的个数) b 2 $ ( 3 0 0 1 0 0 0 ) * t 0 0 9 = 2 0 3 。敝b = 8 。 n u l l n u l l 受音频数掇缓冷嚣分配翁8 个缓砖攀元( 链表结掏) 3 5 日碉 幕子r t p t r t c p 协泼的搽体流辩步挣制鞋疑性能蕊铡改棼的研巍乾求揶电大学顿t 论文 4 。 。3 4 发送端写r t p 瓣闽戮渡程圈 羁4 一l 发送瑞写r 诤酚阀戮流程图 4 。1 + 3 ,5 接收端弱步控毅算法漉程黧 在本实猃中采雳鑫逶痤辊麓,郢:接毂璃在菜段霹阂t s n ) 内对牧到懿每 一个r t p 包计算出该包的传输延迟,得出该段时间的d m a x ( n ) 和d m i n ( n ) 的值, 由此得到f ( n ) 值在下一个时闯段t s ( n 1 ) 歼始酌时候撵迟时间t ( n ) 再开始播 放。遵过动态的调整d m a x 和d m i n 的俊,达到自适应网络状况的目的。当开贻摧 放音频帧的时候,为了保持l d u 播放的连续性,对于因为突发做的网络拥塞而来 透豹浯音竣应该丢弃,耋矮撵教下覆簇。爨子本实验中袋爱垂孽楚s 。7 2 3 。l 漤誊 基于r t p k t c p 协议的媒体流同步控制以及饿能j i :【测与改普的研究北京邮电大学醐士论文 编解码器,并置在发邀端采餍了静露裣谈l 耨l 潮,掰驻在本算法中将一个通话麓作 为t s ( n ) 实验中,将该自适应同步控制算法j 陂用于实验黧的基于h 3 2 3 协议 的视频会议系统申。溺收到h 2 4 5 控制消息e o p e n l o g i c a l c h a n 舱1 后,接收端 餐建薄令线程:l 。警鼷鼗攥缓漳线溪;2 。音频聪鹞器读缓潆驻线程。 ls y “c r e c e i v e = c t o c “l 1 从s o c k e t 信道读取r t p 瓴 | 从空缓 冲m 元 链袭巾 取爨一 个空缓 冲单元 接收新 豹r t p 敦 掇毽 一 f d m a x = d e l a yl | d m i n = d e l a y 将该r t p 燹薪擘d m a x d m i n 包萎嘉, i 清警该 查 苎 缓冲线程结束 图4 3 音频解码器读缓冲区流程图 在接收端创建了两个线程用于音频数据接收和回放由于这两个线程都 要对音频缓冲区中的数据进行访问,所以为了避免对共享资源进行访问时引 起冲突,在本算法中设置了线程的互斥体对象,在可能冲突的地方进行同步 控制互斥体对象在同一时刻只能被一个线程占用当互斥体对象被一个线 程占用时,若有另一线程想占用它,则必须等到前一线程释放后才能成功 基于r t p r t c p 挤议的媒体流同步控制l ;上及性能虢测与改普的姘究北京邮叱人举伸:论义 4 1 4 横襁实验 4 ,1 4 。1 裘验环境 本文所述方案的测试环蠛是l o o m 两域鼹。终端微机的基本配黉为 c p u :i n t e lp e n t i u m4 :内存:2 5 6 m :操作系统为w i n d o w s 2 0 0 0 。网卡: a s u s t e k b r o a d c o m 4 4 0 * l o l o o i n t e g r a t e d c o n t r o l l e r 本实验中,程进行通信的过程中,音频数据发送端实时地记录了锶个 r t p 包的相关数据,包括语音突发标志、发送时刻( s e n d t i m e ) 、发送状况。 揍羧壤魏考菝数爨缓洚线疆审窳露遗记录了每一令r t p 鞭熬据关数攒,惫括 语裔突发标志、时闯戳( t i m e s t a m p ) 、到达时刻( r e c e i v e t i m e ) , 。延迟时间、 延溅抖动、r t p 倪到达状况;街频解码器读r t p 包线程中。记录的相关数据 包搬:语音突发繇态、读取r t p 包豹丑于闻、读取状况。 4 1 4 2 实验数据 发送端: 图4 4 基于r t p f r t c p 协议静籀l 体流褥基控制戳凝性髓鼗涮与改替静研究托索辩电太学硕士论文 接收端 4 , ,4 。3 实验数据分耩 疆4 5 ( 1 ) 该实验数据辩一段遥话期鹅豹l o 个啻鬃r t p 毽送行了记录。麸粟集舅瓣数 据可以看出:在该段时间中,豢包率为o ,凭乱序的包,经过计算,r t p 包的平 均传输延迟为6 1 1 m s ,平均延避抖动为3 m s 音频数据总的平均延迟时闯( 包耩在 发送端熬压缩延时、传输延时、在接收媸的艇压延对) 为: 基于r t p i r t c p 协泌的媒体流步控制以及性能脓测与改善的研究北京i | | | j 电大学硕_ :论文 9 0 m s + 6 1 1 m s + 3 0 m s = 1 8 1 i m s 3 0 0 m s ( 2 ) 在发送端,发送线程以固有速率发送r t p 包,出于延迟抖动的存在,在接 收端接收的r t p 包并不是按固定的时间间隔到达 23456789 l o 9 3 m s8 7 m s8 0 m s 。9 0 m s9 1 m s 。9 3 m s 。8 7 m s 9 2 m s 8 9 m s ( 注意:在发送端第3 个r t p 包和第4 个r t p 包之间的发送时间间隔为8 0 m s ) 经过同步控制处理以后,解码器以固定的读取速率从音频缓冲区中读取r t p 包进 行解码回放,从而保证了音频数据播放的连续性 ( 3 ) 在模拟测试下,语音基本连续,无明显的停顿,主观效果比较理想 4 2 媒体流间同步控制的实现 媒体流间同步的目的是维护多个媒体流之间正确的时间关系,如视频流和音 频流间唇音同步。媒体流间同步的实现是在保证流内同步的基础上实现的。根据 一定的时间关系信息在媒体流间确定同步点,将同一个发送者同时发送的多个媒 一、| ,i : 体类型的媒体数据在接收方同时播放。以实现媒体间同步。以下介绍两种不同媒 体流间的同步方法。 4 2 1 基于r t c p 协议的媒体流问同步方法 在r t c p 的传输控制机制中,发送方周期性地发送报告s r ,如前所述,该s r 中携带有发送方的绝对时间信息n t p 时间戳和对应该媒体的r t p 时间戳,同一个 终端发送多个媒体时,其绝对时卣j 是起于同一个基准点的,及同一时刻,其不同 媒体的s r 报告中的n t p 时间应相同,而根据n t p 时间基准,可以计算出其r t p 时间相关性,下面以两个媒体之间同步为例,来确定这两个媒体之间的同步点。 设: s r a :媒体a ( 假设音频) 的发送报告。 n t p a s r :s r a 中的n t p 时间戳。 r t p a - s r :s p a 中的r t p 时间戳。 s r b :媒体b ( 假设视频) 的发送报告。 4 基于r t p r t c p 协议的媒体流同步控制阱敷性能监测与改善的 阱究北京邮电大学碗十论文 n p 嚣敞:s r b 中的n t p 时闯戳。 r t p b s r :s r b 中的r t p 时间戳。 c l o c k a :媒体a 的r t p 时间戳时钟频率。 c l o c k m :媒体b 懿r t p 器重闯戳嚣孝镑菝率。 则程n t p b - s r 时刻,媒体a 的r t p 时间戳廒为: r t p a b t i m e 2r t p a - s r + ( n t p b w s r - n t p a - s r ) + c l o c k a 设农当前耐刻a ,b 鲍援放r t p 对闻戮分烈为:r t p a c u r ,r t p b - c u r ,如粱媒体 闻要徐撩同步,剿必须满足良下荧系式: ( r t p a c u r r t p a b t i m e ) c l o c k a =( r t p b c u r r t p b s r ) c l o c k b 即注:此时的同步点为r t p 卜b t i m 和r r p b _ s r r t p a - c u r ( c l o c k a c l o c k b ) $ r t p b - c # r 十 r t p a b t i m e 一( c l o c k a c l o c k b ) $ r t p 8 一s r 令 a = c l o c k a c l o c k : b ;r t p a b t i m e 一( c l o c k a c l o c k b ) r t p b s r : 则礴关系式 r t p a c u r = a r t p b - c u r + b : 上述关系式3 确定7 攥蒋矗与媒钵b 之阗瓣籀互关系,剿甏壤嚣霉癸,蜓整 媒体a 或媒体b 的当前播放r t p 时间戳( 即调熬其播放延迟) ,使满足一t 避关系 式,从黼可保证媒体之间的同步。考虑到媒体流之间的时间约束关系,通常选择 一条浚为主渡,另一条表鼓凌,警捡 翼| | 到媒体浚之阉兹同步哭系遭到破琢黠,剐 保持主流的播放速率不变,调整从流的播放速率。由于礴络黻塞的原霞+ 可能导 致某些_ 陂该播放的媒体帧没有到达接受端,如果超过了预先设定的同步容限,则 丢弃该竣,继续播放下一帧。 分掰:采曩该方法透行霾步羧籁,霉要塞瓣逮褥蘩参数c l o c k a 、c l o c k b 、 r t p a s r 、n t p b s r 、n t p a 。s r ,计算量相对较大,但是同步的精确度高。 42 。2 蒸学r i p 按议时阈凝字段的媒钵滚阐阉步方法 在采用r t p 协议进行媒体传输和媒体控制传输中,媒体分组包中携带肖媒体 的r t p 时间戳,通常该r t p 时间戳的值不是绝对的系统时间德,所以起点w 以是 任意怒点,魏露薅闺觳可确定圈一个媒藩滚蠹务令媒俸分缀之麓懿褶瓣荚系,毽 无法确定不同媒体流之脚的时间必系。 4 2 基于r t p r t c p 协议的媒体流同步控制l ;上敷性能箍测与改普的研究北京i b | i 电大学确士论文 在本谦题进幸亍媒体流内同步撩翎戆方法审,在音频流藕褫频流r t p 辩闰戳 字段中写入的是相对时间值,其德由函数c l o c k ( ) 间接得到。由此可以得到结论: 同一个终端发送音频流和视频流时,二者的r t p 值是起于网个基准点朗,即: 麸理谂上游,在弱辩裁,荬音频滤彝褪频浚翡r t p 嚣阕戳壤瘟糖嚣,在羧浚臻 对数据进行缓冲后找到r t p 时阍戳值相同的音频包和视频倪,然后进行同步播 放。这样就可以傈诋音频流和视频流的同步播放了。 农实嚣馕况中,程阉一时亥,英音频流和携叛流豹r t p 霉寸闯戳僵不会宠全援 犀,存程一定的误熬,误差主要来源于: ( 1 ) 凿频信道和视频信道不是同步打开的,存在先后顺序,在本终端的擞现中, 跫先打开音频信道,然后褥打开视频信邋的,在同一个时刻产生的视频包 鹣r t p 篷毙畿猿惫熬r t p 壤要雍大一鏊。 ( 2 ) 视频流的r t p 时间戳时钟频率c l o c k a 和音频流的r t p 时间戳时钟频率 c l o c k b 是不样的,也就悬说,比如在时间1 0 0 毫秒中就只能产,主l 帧视 频数据,既辩该竣数据订残个r t p 包,嚣在这段黪闽孛,蒙产生了3 令 r t p 音频包,从这段时间的范围来浇,虽然二者的r t p 值不可能完黛一样, 但只要在这个时间段找到相互对应的r t p 包,也算悬做到媒体间的同步。 广一一一1 ll t 一# _ 一个同步时间范丽 农接收端,设鬣媒体流缓冲联,分别存放街频数据和视频数据,以膏频流为 主流。视频流为从流,保持主流的播放速率不燮,设置同步误差,根据裔频包的 r t p 谴蘩我与其露步瓣税蘩毽。溺予网络

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论