




已阅读5页,还剩65页未读, 继续免费阅读
(电子科学与技术专业论文)基于arena平台的手机流媒体协议栈实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
浙江大学硕士学位论文 表格3s d p _ r t p m a p _ a t t r i b u t c _ t 结构体说明 3 0 表格4t i m e _ r a n g e _ t 结构体说明3 5 表格5 服务器实现的方法说明3 6 表格6m e d i a f o r m a t _ t 结构体描述3 6 表格7f m t p _ p a r a ml i s tt 结构体描述3 6 表格8r t s p _ s e s s i o n _ t 结构体说明3 8 表格9r t s p _ s e s s i o n _ i n i t 函数描述3 9 表格1 0r t s p _ o p e n 函数描述3 9 表格1 lr t s p 函数描述39_play 表格1 2r t s pp l a y 函数描述。40_from 表格1 3r t s p p a u s e 函数描述4 0 表格1 4r t s pc l o s e 函数描述4 0 表格1 5n ps e s s i o nt 结构体说明5 4 表格1 6n pp k e tt 结构体说明5 4 表格1 7r t c p 结构体说明55packet t 表格1 8r t c pc o m m o nh e a d e rt 结构体说明5 6 表格l9r t c ps rt 结构体说明5 6 表格2 0r t c p 结构体说明56_cb t 表格2 1 r t c p结构体说明56_sdes i t e mt 表格2 2s o u l e et 结构体说明5 7 表格2 3r t p _ i m t 函数说明。5 8 表格2 4r i p _ f r e e 函数说明5 8 表格2 5r t p r e c v 函数说明5 8 表格2 6r t ps e n dc t r l 函数说明5 9 表格2 7r t p _ u p d a t e 函数说明5 9 6 浙江大学硕士学位论文 摘要 互联网的快速发展,使各种基于网络的应用日益丰富。人们已经不再满足于 使用网络浏览网页,收发电子邮件,与同事朋友进行在线聊天等普通应用。通过 互联网进行多媒体信息传播越来越普遍。流媒体就是为了适应多媒体在互联网中 的应用应运而生的。 随着第三代移动通信技术的大规模应用,移动通信网络带宽的提高使得手机 流媒体应用成为可能。本系统基于大唐移动a r e n a 平台,为国产t d s c d m a 手机播放流媒体提供协议支持。 归纳起来,本系统有如下特点: 1 完整实现s d p ,r t s p ,r t p r t c p 等流媒体协议的客户端协议。s d p , r t s p ,r 1 1 p ,r t c p 协议是通用的流媒体传输协议族。本系统实现了协议 规定的客户端需要支持的特性。 2 为手机等嵌入式平台定制,所需系统资源少。本系统从设计之初就考虑 了嵌入式平台资源匮乏的特点,采用c 语言进行开发,程序执行效率高, 所需系统资源小。 3 支持h e l i xs e r v e r , d a r w i ns t r e a m i n gs e r v e r 等主流流媒体服务器。各大流 媒体服务器的开发者,出于竞争的考虑,对协议某些字段的实现,并不 与协议标准完全兼容。本系统考虑到用户应用环境的复杂性,完全兼容 上述主流的流媒体服务器。 关键字:流媒体,s d p 协议,r t s p 协议,r t p r t c p 协议,a r e n a 平台 浙江大学硕士学位论文 a b s t r a c t w i t ht h er a p i dd e v e l o p m e n to ft h ei n t e m e t ,v a r i o u sw e b - b a s e da p p l i c a t i o n si s b e c o m i n gi n c r e a s i n g l yr i c h p e o p l ea r en ol o n g e rs a t i s f i e dw i t hu s i n gt h ei n t e m e tt o b r o w s e s e n d i n ge - m a i la n de h a u i n gw i mf r i e n d sa n dc o l l e a g u e so n l i n e m u l t i m e d i a i n f o r m a t i o ni sw i l d s p r e a dt h r o u g hi n t e r n e t s t r e a m i n gm e d i ai st oa d a p tt ot h e m u l t i m e d i aa p p l i c a t i o n sb a s e do ni n t e m e t n o w a d a y s ,t h et h i r dg e n e r a t i o nm o b i l ec o m m u n i c a t i o nt e c h n o l o g yi sb e i n gd e p l o y e d w i d e l y b e c a u s eo ft h ei n c r e a s i n gb a n d w i d t ho fm o b i l ec o m m u n i c a t i o nn e t w o r k s ,t h e a p p l i c a t i o n so f s t r e a m i n gm e d i a b a s e do nm o b i l ep h o n eb e c o m ep o s s i b l e o u rs y s t e m , b a s e do nd a t a n gm o b i l e sa r e n a p l a t f o r m , p r o v i d e ss t r e a m i n gp r o t o c o l ss u p p o r t s f o rt d - s c d m am o b i l ep h o n e s h lg e n e r a l o u rs y s t e mh a sf o l l o w i n gf e a m r e s : 1 i m p l e m e n tt h ec l i e n tp a r to fs d p , r t s p r t p r t c pp r o t o c o l s s d er t s b r t p r t c pa g ew i d e l yu s e ds t r e a m i n gm e d i aw o t o c o l s o u rs y s t e mh a s i m p l e m e n t e da l lt h e f e a t u r e sac l i e n tn e e d sa c c o r d i n gt ot h es p e c i f i c a t i o no f r f c s 2 d e s i g nf o re m b e d d e ds y s t e mp l a t f o r mw i t l ll e s sr e s o u r c e s c o n s i d e r i n gt h el a c k o f r e s o u r c e so l le m b e d d e ds y s t e m ,w eu s ec l a n g u a g et od e v e l o pt h es y s t e m t h e s y s t e mh a sh i g he f f i c i e n c yi nm n t i m e 3 s u p p o r tt h ew i d e l yu s e ds t r e a m i n gs c r v c l n 5l i k eh e l i xs e r v e r , d a r w i ns t r e a m i n g s e r v e r , e r e e v e r ys t r e a m i n gs g r v g re x t e n d sp r o t o c o l sf o rt h e i rc o n s i d e r a t i o no f c o m p e t i t i o n o u rs y s t e ms u p p o r t sa l m o s ta l lt h ee x t e n t i o n s k e yw o r d s :s t e a m i n gm e d i a , s d pp r o t o c o l ,r t s pp r o t o c o l ,r t p r t c pp r o t o c o l , a r e n ap l a t f o r m 2 浙江大学硕士学位论文 第1 章绪论 随着互联网的迅猛发展,以及各种编码方式的出现及其应用,流媒体对于广 大网络用户来说已经不再是一个陌生的名词。流媒体技术的应用,带给人们生活 极大的乐趣,在互联网上点播视频,观看直播,与朋友分享精彩短片已经走到了 每一位网民的身边。 随着我国3 g ( 第三代移动通信) 技术的开始应用,移动通信的网络带宽得 到了极大的提高,这使得流媒体可以通过手机平台走到每一个人的身边。本系统 即是为国产t d - s c d m a 手机提供播放流媒体所需的协议栈支持。 1 1 流媒体的发展新趋势 1 1 1 流媒体系统及其发展趋势 所谓流媒体系统就是指用户通过网络或者其他数字通信方式边下载边播放 多媒体数据的一种方式。与传统的将多媒体数据全部下载至本地然后播放的方式 相比,流媒体能够节约用户大量的时问,它只需在用户本地缓冲几秒或几十秒时 间之后,就可以开始播放,后续的数据会不断输入缓冲区,从而得到连续的播放 画面和声音。流媒体系统比传统的下载播放系统要复杂的多,需要将编码解码技 术和传输技术很好的结合在一起,才能保证用户在复杂的网络环境下面也能够得 到较好的播放品质。 多媒体数据在传输前必须经过编码器压缩成一定的码流,以节约网络传输的 带宽。目前常见的视频编码方式有m p e g - 2 ,m p e g - 4 ,h 2 6 1 ,h 2 6 3 ,h 2 6 4 , w i n d o w sm e d i a 视频编码和r e a ls y s t e m 视频编码器等等。常见的音频编码方式 有m p 3 ,m p e g a a c ,w i n d o w sm e d i a 音频编码和a m r 等。多媒体编码器生成 的码流只包含解码所需的特定信息,而不包含媒体间的同步以及随机访问信息等 系统信息,因此经过编码的码流还需要生成包含特定系统格式的多媒体文件用于 流媒体传输或者生成文件存入磁盘。目前常用的文件格式有m p e g 2 系统,m p 4 , a s f ,r e a l 文件格式,q u i c k t i m e 文件格式和用于3 g 无线服务的3 g p p 和3 g p p 2 等。 在实际应用中,当传输实时流媒体数据时( 视频直播等) ,根据当前的网络 状况和用户终端的一些参数,多媒体数据一边被编码一边被流媒体服务器传输给 用户而在其他非实时应用中,多媒体数据先经过编码生成特定格式的多媒体文 件中存放于磁盘中。当用户请求这些数据时,流媒体服务器边读取这些文件边发 送给用户。目前,这两类应用都非常广泛,这也要求一定流媒体传输机制来适用 不断变化的网络环境和终端用户情况。 7 浙江大学硕士学位论文 目前码流自适应实现的主要方式是:将多媒体数据中视频数据编码成特定码 率和特定尺寸的码流;或者将同一段视频编码成多个具有不同码率和图像尺寸的 码流,然后自适应地选择合适的码流传输给用户。传输的码流还需要根据特定的 网络传输协议进一步打包成网络数据报,以保证网络数据能够正确,及时地被用 户接收到,并保证正确的序列。目前常见的传输协议有r t p r t c p ,h t t p 和 m m s 。本系统即实现了r t p r t c p 协议的功能。 用户在接收到多媒体网络数据报以后,通过一定的错误处理机制,将数据报 的内容恢复成多媒体码流,然后通过本地的解码系统,再现多媒体数据。 1 1 2 流媒体新服务 1 1 p i v 随着宽带网络的普及,宽带接入的数率普遍达到了1 m b i t s 。而且随着高性 能编码器的出现,8 0 0 k b i t s 的视频流就可以接近或达到d v d 画质。i p t v 就是 在这样的背景下产生的。i p t v 也叫交互式网络电视,使用流媒体技术通过宽带 网络将数字电视信号传输给用户,具有很好的发展前景。 2 无线流媒体 2 5 g ,3 g 以及超3 g 的发展也使得流媒体技术可以应用在无线终端设备上, 特别是3 g 技术的应用,用户网络带宽可以达到3 8 4 k b i t s ,另一方面,手机设备 的运算能力越来越强,目前许多手机可以完成m p e g - 4 ,3 g p p ,a a c ,a m r 等 解码工作。 无线网络的流媒体应用对当前的编码和传输技术提出了更大的挑战。首先, 相对于有线网络而言,无线网络状况更不稳定,除去网络流量所造成的传输速率 的波动外,手持设备的移动速度和所在位置也会严重地影响到传输速率,因此高 效的可自适应的编码技术至关重要。其次,无线信道的环境也要比有线信道恶劣 的多,数据的误码率也要高许多,而高压缩的码流对传输错误非常敏感,还会造 成错误向后面的图像扩散,因此无线流媒体在信源和信道编码上需要很好的容错 技术。 3 电子家庭 家庭中的许多设备,如p c ,数字相机或摄像机,手机,如果能够通过网络 相连,并共享其中的多媒体数据,则将为流媒体技术的发展提供一个更大的舞台, 使得流媒体数据能够像流动的水一样在不同的设备之间流动。在这样的应用环境 中,流媒体技术所面临的挑战就是如何使流媒体数据适应不同的设备以及不同的 网络环境,电子家庭中的流媒体应用目前也成为了研究的热点 1 1 3 流媒体新技术 1 高效的编码技术 s 浙江大学硕士学位论文 目前标准化和商业化的视频编码技术都是基于运动补偿和o c t 变换的,从早 期的m p e g 1 和h 2 6 1 ,到最新的m p e g - 4a v c a i 2 6 4 和w i n d o w sm e d i a 视频编 码器都采用了这个框架。在这个框架中,运动估计和补偿模块用来消除相邻图像 问的冗余信息,熵编码模块用来消除编码信号的冗余性,变换量化模块根据人的 视觉系统对视频信号的细微变化的不敏感性丢弃部分信息,从而提高压缩比。 在这个编码框架下,过去十多年的时间内编码技术取得了很大的发展。事实 上,最新m p e g - 4a v c h 2 6 4 标准的编码效率要比m p e g 1 提高了4 倍左右, 除去更精细的运动补偿和基于上下文的熵编码外,帧内预测,多参考帧的预测, 环路滤波和率失真优化技术也极大地提高了该标准的性能。 2 多媒体标准技术 多媒体编码标准在流媒体里是至关重要的。一方面标准的制定和执行确保不 同厂家和服务商之间可以互通互联,另一方面标准里的知识产权也是商家必争之 处。掌握了标准里的知识产权,在竞争的时候就有很大的主动权。所以很多商家 乃至政府部门都在全力推出自己的知识产权到各种国际标准里去,甚至打造自己 的产业或国家标准。 3 对等网技术( p 2 p ) p 2 p 是当前互联网上较热门的技术,己应用到网络文件共享和n a p s t e r 的 m p 3 下载。其基本思想是通过p 2 p 技术,除了和服务器外,每个用户可以共享 他的文件或信息给其他用户。 p 2 p 技术也可以应用到流媒体,每个流媒体用户也是一个p 2 p 中的一个节点。 在目前的流媒体系统中用户之间是没有任何联系的,但是采用p 2 p 技术后,用 户可以根据他们的网络状态和设备能力与一个或几个用户建立连接来分享数据, 这种连接能减少服务器的负担和提高每个用户的视频质量。p 2 p 技术在流媒体应 用中特别适用于一些热门事件,即使是大量的用户同时访问流媒体服务器,也不 会造成服务器因负载过重而瘫痪。此外,对于多人的多媒体实时通信,p 2 p 技术 也会对网络状况和音视频质量带来很大改进。 1 2 流媒体协议栈的功能 为了将多媒体码流通过网络进行正确传输,需要将多媒体码流按照一定的网 络传输协议将码流打包成网络数据报。客户端为了正确取得和播放所需的多媒体 数据,还需要通过一定的网络协议取得多媒体资料的信息,并控制流媒体数据的 获取停止等,即客户端的播放控制。 本系统所实现的流媒体协议栈包括r t s p 协议,s d p 协议和r 1 1 p 依t c p 协议。 其实现的主要功能有: 流媒体数据的描述 多媒体数据的描述是由s d p ( s e s s i o nd e s c r i p t i o i lp r o t o c 0 1 ) 协议完成的。在 9 浙江大学硕士学位论文 一个多播网络环境下,服务器与客户端,或客户端与客户端之间,会发起一个或 多个多媒体会话( s e s s i o n ) ,多媒体会话用来进行会话声明( s e s s i o n a n n o u n c e m e n t ) ,会话邀请( s e s s i o ni n v i t a t i o n ) 和其他形式的会话初始化。s d p 协议就是用来实现这个目的的。s d p 协议被设计用来描述实时多媒体数据流,包 括媒体的一般信息,如作者,e m a i l ,时问,长度等,以及编码解码相关的信息, 使客户端能够调用正确的解码器进行解码。 播放控制 对用户来说,播放流媒体和播放本地多媒体文件并无多大区别,对本地多媒 体文件的播放,暂停,快进,快退操作在流媒体播放中同样存在。而实际上不同 的是,对本地文件的操作对应着本地文件的读取操作,而对流媒体的操作则对应 着对网络数据报流的操作。因此,需要根据特定的网络协议,流媒体服务器进行 通信,控制流媒体数据报的发送,停止等状态。r t s p ( r e a lt i m es t r e a m i n g p r o t o c 0 1 ) 协议,就是用来实现此项功能。客户端通过向流媒体服务器发送不同 的消息,来实现用户对流媒体播放的不同操作。例如p l a y 请求对应于用户的播 放操作,p a u s e 请求对应用户的暂停操作。r t s p 协议还可以向服务器传送客户 端的一些信息,以保证流媒体数据网络传输的质量。 流媒体数据的传输和传输控制 流媒体数据的传输和传输控制由r 皿爪t c p 协议实现。r t p ( r e a l - t i m e t r a n s p o r tp r o t o c 0 1 ) 协议和r t c p ( r e a l - f i m et r a n s p o r tc o n t r o lp r o t o c 0 1 ) 协议是 密不可分,紧密联系的两个协议。r t p 协议提供了点对点的传输功能,适用于传 输实时的视频,音频流数据。r t c p 协议用来监控r t p 数据报的传输质量,以最 小的控制信息,来应用于大范围的多播网络。 1 3 大唐移动a r e n a 平台简介 a r e n a 平台是大唐移动为t d - s c d m a 手机开发提供的开发应用平台。 a r e n a 平台重点是针对d t i v y 终端设计,封装了d t i v y 领域内技术领先的 高层协议栈m e c o 接口、本地应用接口、设备管理接口和第三方应用的拓展接口, 充分体现了d t i v y 特有技术支持多种业务的能力。同时,a r e n a 平台对外提供丰 富的工具套件,方便用户进行开发和调试。a r e n a 平台的总体结构如图1 1 所示: 1 0 浙江大学硕士学位论文 图1 - 1a r e n a 平台总体结构框图 a r e n a 平台分为u e 侧和p c 侧两部分,u e 侧主要由手机软件模块组成;p c 侧主要由仿真环境和其它各种工具套件组成,主要提供开发测试阶段使用的工具 和最终u e 用户使用的工具软件。a r e n a 平台u e 侧软件通过a o s 、g u i 、m m l f r a m e w o r k 、p l a t f o r ma p i 构成了一个基本的、稳定的应用编程框架,向下可以 根据硬件参考设计定制b s p 和d r i v e r ,而在a r e n a 平台内部实现了各种能力集, 并且能在不影响a r e n a 平台编程框架的情况下,持续不断的扩展和升级这些能力 集。所有能力集向上提供一套编程接口a p i s ,连同操作系统的接口a p i s 、g u i 提供的接口a p i s ,共同构成完整的p l a t f o r m a p i 接口层。这使得外部开发者无需 知道各种能力集的实现细节,就可以通过p l a t f o r m a p l 完成各种应用程序的开发。 l i e 侧软件另外一个主要部分就是m m if r a m e w o r k ,它提供一种应用开发机 制,允许单个应用程序方便的添加到终端应用框架中,成为终端的功能特性之一。 操作系统模块( a o s ) 采用性能卓越的第三方产品作为内核,进行适当的封 装,提供完整、标准的操作系统调用接口a p i 。形成一个k e r n e l 、f s 、n e t 的 抽象层,保证上层软件的无缝移植。 g u i 模块采用成熟可靠、性能优良的图形库软件,实现完整的图形操作接口, 提供丰富的控件支持。提供w i n 3 2 风格的接口a p i ,w i n d o w s 程序员可以非常容 易地在这套g u l 接口上进行程序开发。m m if r a m e w o r k 模块负责m m l 框架的 实现,主要提供一种应用管理机制和应用执行环境。包括了任务管理、消息分发 机制、u i 框架、国际化支持、主题管理、输入法管理等功能。 移动业务能力集( m o b i l ee n a b l e s ) 实现对高层协议栈的接口封装,提供基 本的电信业务、补充业务和承载业务能力,包括语音呼叫和短消息等,为应用提 供统一的接口a p i 。 本地应用能力集( l o c a le n a b l e s ) 负责提供各种终端本地应用需要的能力, 浙江大学硕士学位论文 包括电话本、p i m 、输入法引擎、本地游戏等应用的支撑能力,并向这类应用提 供开放的接口a p i 。 设备管理能力集( d e v i c em a n a g e re n a b l e s ) 实现对终端上各种设备的管理, 并向应用层提供统一的接口a p i ,包括背光管理、电池电量管理、振动管理、本 地通信接口管理、多媒体设备管理等。 数据业务能力集( d a t as e r v i c ee n a b l e s ) a r e n a 平台提供灵活的扩展机制, 可以方便地增加新的能力集( 例如w a p 、m m s 、e m s 、j a v a 等) ,也可以通过 集成第三方组件实现平台能力的扩展。 1 4 本课题研究意义 本课题所做的工作,接触了通信产业的前沿,具有很强的实用价值。 在我国t d s c d m a 网络和终端正在加紧测试的大背景下,各个运营商也正 式提出了流媒体业务规范的测试标准。本课题开发的手机终端流媒体软件,将成 第一批我国拥有自主知识产权的t d - s c d m a 终端流媒体应用的代表,参加由信 息产业部组织的流媒体业务测试。在我国3 g 业务还没有正式开始之前,本课题 开发的流媒体终端软件,可以在3 g 网络应用之处就为用户提供内容丰富流媒体 视频点播服务,同时推进广大用户从2 5 g 向3 g 的转移,并从一定程度上推进 我国t d s c d m a 产业的发展。手机流媒体播放将成为3 g 时代的主流增值服务, 本课题所开发的软件,使得国内产商能够紧紧抓住这个潮流,紧跟国外产商的步 伐。 由于t d s c d m a 标准是我国自主研发的3 g 标准,国外通信产商并不看好, 也没有投入很多力量进行相关产品的研发。面对国外产商的封杀,大唐移动为 t d s c d m a 终端开发了a r e n a 平台。由于a r e n a 平台的特殊性,我们必须 针对该平台,专门为其开发相应的软件。围绕该平台开发丰富多样的软件,将极 大地促进a r e n a 平台的推广与普及,同时极大地提升t d - s c d m a 终端的用户 群。本课题所做的工作,正是在为推广我国1 r i ) - s c d m a 标准添砖加瓦。 1 5 主要工作及章节安排 本系统主要实现了基于a r e n a 平台的适合手机应用的流媒体协议栈,具体 来讲,包含r t s p 协议,s d p 协议,r t p 觚c p 协议。协议栈向上提供播放器接 口,方便用户集成,进行流媒体播放终端的开发。本文所论述的工作,包括系统 架构的设计,各协议的介绍与实现,开发调试环境的搭建以及软件功能的测试。 本文主要的章节安排如下: 第一章,介绍流媒体系统的基本概念,最新发展趋势,以及流媒体协议栈的 基本功能和大唐移动a r e n a 平台。 第二章,介绍了终端流媒体软件的系统结构,以及本系统实现的流媒体协议 1 2 浙江大学硕士学位论文 栈的总体框架结构。 第三章,介绍了流媒体会话的描述一s d p 协议及其实现。 第四章,描述了流媒体播放的控制一r t s p 协议及其实现。 第五章,介绍r t p r t c p 协议及其实现。 第六章,简单介绍了开发,测试环境的搭建以及软件测试的内容和结果。 1 3 浙江大学硕士学位论文 第2 章终端流媒体软件的系统架构 本文实现的流媒体协议栈,是t d s c d m a 终端流媒体软件不可分割的一部 分,为t d s c d m a 终端设备流媒体功能提供协议支持。 2 1 终端流媒体软件的开发背景 目前,国内3 g 网络即将大规模商用。t d s c d m a 作为我国拥有自主知识 产权的3 g 通信标准,得到了国家的大力支持。2 0 0 6 年,国家信息产业部正式将 3 g 的三大标注之一的t d s c d m a 标注作为我国通信行业标准。同时,经过一 系列验证,t d 可以独立组网。此后,t d 开始了有条不紊的外场测试,重要技 术问题一一攻克。2 0 0 6 年1 1 月,t d 网开始放号测试。t d 网络的商用只是时间 问题。 在这样的大背景下,各大运营商,服务提供商和手机制造商也想尽各种办法, 为即将到来的。3 g 网络提供各种丰富的服务。由于3 g 网络的提供了更大的带宽, 更快的上行下行数率。因此,在手机上实现流媒体音视频的点播成为现实。各大 运营商也纷纷出台流媒体业务的技术标准。因此,为手机终端开发终端流媒体软 件成为各大手机生产商的紧迫任务。 受某公司的委托,本课题组为国产t d s c d m a 标准的手机终端开发流媒体 软件的流媒体协议栈部分。国产t d s c d m a 手机大多基于大唐移动a r e n a 平 台进行开发。a r e n a 平台以t h r e a d x 作为底层的o s ,封装了大量的底层编程 接口,提供了应用编程框架,以方便手机应用开发。而正因为a r e n a 平台提供 的a p l 的独有性,使得大量已经实现的流媒体协议栈不能在a r e n a 平台上使用。 同时,由于手机平台资源缺乏,要求流媒体软件应当具有较高的执行效率,较少 的资源占用。大量现有的流媒体协议栈规模庞大,完整实现了各个流媒体协议, 也不适合直接进行移植。 本着“够用”的原则,本文论述了专为a r e n a 平台定制的流媒体协议栈的 设计。该协议栈实现了客户端点播流媒体所需的流媒体协议部分,适用于嵌入式 平台,具有执行效率高,资源消耗小的特点。 2 2 终端流媒体软件的总体架构 2 2 1 终端流媒体软件功能描述 移动流媒体业务允许移动通信网的合法用户通过移动终端以w a p 或w e b 方式 登陆到流媒体业务平台门户网站上,对流媒体内容进行浏览或搜索并对指定的内 浙江大学硕士学位论文 容进行下载播放或在线播放,同时生成与之对应的使用记录用作服务计费和数据 统计。支持流媒体业务的终端应和流媒体服务器配合让移动用户能够下载收听 多种流媒体。包括使用静态图像和语音实现的低比特速率的新闻流播放、不同比 特和不同质量的音乐欣赏、观看视频剪辑和体育比赛实况等。 流媒体基本业务可以分为以下三种典型业务模式: ( 1 ) 流媒体点播:内容提供商将预先录制好的多媒体内容编码压缩成相应 格式,存放在内容服务器上并把内容的描述信息以及链接放置在流媒体的门户 上。最终用户就可以通过访问门户,发现感兴趣的内容,有选择的进行播放。 ( 2 ) 流媒体直播:流媒体编码服务器将实时信号编码压缩成相应的格式, 并经由流媒体服务器分发到用户的终端播放器。根据实时内容信号源的不同,又 可以分为电视直播、远程监控等。 ( 3 ) 下载播放:用户将流媒体内容下载并存储到本地终端中,然后可以选 择在任意时间进行播放。 2 2 2 终端流媒体软件结构框图 终端流媒体软件总体框图如图2 1 所示,其中图示绿色部分为流媒体协议栈 实现的内容。流媒体协议实现部分由r t c p 协议、r t p 协议、r t s p 协议与s d p 协议组成。它们都是通过t c p u d p 来传输数据与信息,在本系统中通过a r e n a 系统提供的套节字( s o c k e t ) 接口来实现。流媒体协议部分主要为播放器( 此时 可理解为包括解码器) 与流媒体服务器之间提供了一个实现流媒体业务的通道, 建立流媒体连接,接收流媒体服务器传送过来的数据流,然后经过处理后交给解 码器进行解码,在接收与解码的过程中,协议要能够适应网络条件的变化,进行 实时的容错处理,并根据用户的操作行为( 如暂停、播放等) ,向流媒体服务器 进行报告,以便流媒体服务器进行相应的处理。 浙江大学硕士学位论文 圈2 - 1 终端流媒体软件结构框图 图中绿色部分为流媒体协议栈部分。整个流媒体协议栈包含了i p 、t c p 、 u d p ,r t s p ,r t p r t c p ,s d p 等协议。本文所实现的r t s p ,r t p r t c p ,s d p 协议以t c p u d p i p 协议栈为基础。由于大唐移动a r e n a 平台所用的t h r e a d x 操作系统自带了完整的t c p i p 协议栈,因此,本文所实现的流媒体协议栈采用 操作系统自带的协议栈。采用操作系统的自带t c m p 协议栈有如下优点: 操作系统自带的t c m p 协议栈稳定,通用 操作系统自带的1 p 仃p 协议栈与标准的b s d 套接口类似,编程简便 避免重复实现,效率低下 本文所实现的流媒体协议,向下利用操作系统协议栈提供套接口a p i ,向上 播放器提供流媒体协议的通用接口。流媒体播放器的设计者可以使用这些通用的 接口,实现流媒体的播放功能。 2 3 流媒体协议栈总体架构设计 2 3 1 流媒体协议栈功能模块的划分 协议栈按照不同的协议,可以分为几个不同的模块,分别为:s d p 模块, r t s p 模块,r t p 模块和r t c p 模块,并向上提供播放器接口( a p i ) 。 当用户操作播放器,开始播放一个流媒体链接时,r t s p 协议首先连接流媒 体服务器。r t s p 协议使用t c p 协议与流媒体服务器进行连接。连接成功后,r t s p 1 6 浙江大学硕士学位论文 客户端向r t s p 服务器发送一系列请求,其中在d e s c r i b e 请求的响应中,会 包含s d p 协议的文本。随后,r t p 连接建立,r t p 分组从流媒体服务器发送至 客户端。客户端接受r t p 分组,进行相关处理。同时按照r t p 协议的要求,发 送接收者报告。 s d p 模块负责解析按照s d p 协议格式化的文本;r t s p 模块负责接收播放器 模块的命令,并将其转换成适当的r t s p 协议动作;r t p 模块负责接收来自流媒 体服务器的流媒体数据;r t c p 模块负责收集r t p 模块数据接收情况,在此基础 上发送接收报告r r ( r e c e i v e rr e p o r t ) ,同时还负责接收发送报告s r ( s e n d e r r e p o r t ) o 2 3 2 流媒体协议栈总体结构框图 协议栈总体结构框图如图2 2 所示: 田2 - 2 协议栈总体结构框图 参考上图,当播放器模块向协议栈发送命令以后,r t s p 协议将相应的命令 解释成协议的请求,发送至流媒体服务器,并接收服务器返回的响应。s d p 模块 负责解析从r t s p 连接建立过程中得到的流媒体会话描述信息,即s d p 协议文 本,生成解析后的数据结构,供r t s p 模块使用。开始播放以后,流媒体数据就 以r t p 数据报的形式传输至客户端上,根据r t p 协议提取出流媒体数据供解码 器模块使用。同时,r t c p 协议监控r t p 数据流的接收过程,并向服务器发送接 收者报告。 浙江大学硕士学位论文 本文所实现的流媒体协议栈,依托a r e n a 平台操作系统提供的t c p i p 协 议栈。a r e n a 平台提供的t c p i p 协议栈具有类似于b s d 套接口函数。但是, a r e n a 平台的套接口函数还未完全兼容b s d 套接口标准。因此,现存的大多 数流媒体协议栈都不能在a r e n a 平台上直接运行。本文所实现的流媒体协议栈 向上向播放器提供通用的接口。这些接口包括操作接口和数据接口。操作接口是 以播放器的操作动作为单位,如播放,暂停,停止等分别提供一个函数对应流媒 体协议栈的相关动作。数据接口在本协议栈的实现中体现在对r t p 分组的处理 上。本协议栈使用回调函数的形式处理r t p 分组到达事件。每一个r t p 分组到 达协议栈,经过协议栈验证等一些列操作以后,会调用一个r t p 回调函数,回 调函数开放给播放器的开发者。这样,播放器的开发者便得到了整个r t p 数据 报,可以根据实际情况,对r t p 分组进行任何处理。 本协议栈提供的主要接口函数介绍如下: i n ts a - e a m i n g _ i n i t ( r t s p _ s e s s i o n _ t + r t s p _ s e s s i o n , c h 舻u r i o s _ t h r e a d _ i d r t p _ t h r e a d ) ; 此函数为流媒体协议栈的初始化函数,是调用任何其他函数之前需要第一个 调用的函数。r t s p是这个协议栈最主要的数据结构,调用次函数之前需_session 要分配一个r t s ps e s s i o nt 结构的实例,并将地址传入s t r e a m i n g :i n i t 函数。l l r i 为 协议栈得到的r t s p 链接。r i p 为 线程的线程号。如果整个流媒体播_ t h r e a d r t p 放系统在设计之处就规划了所有使用的线程,那么应该将r t p 协议使用的线程 的线程号传入s t r e a m i n gi n i t 函数。如果未指定线程好,则由协议栈动态分配一 个线程。 i n ts t r e a m i n g _ j a l a y ( r t s p _ s e s s i o n _ t r t s p _ s e s s i o n ) ; i n ts t r e a m i n g _ p l a y _ f r o m ( r t s p _ s e s s i o n _ t + a s p _ s e s s i o n ,t i m er a n g e _ t f r o m ) ; 这两个函数对应了播放器的播放( p l a y ) 动作。s t r e a m i n g 还可 以指定播放的初始时问,由 结构描述。_ _ p l a y f r o m t i m e r a n g et i n ts t r e a m i n g _ p a u s e ( r t s p _ s e s s i o nt r t s p _ s e s s i o n ) ; 函数对应了播放器的暂停( p :a u s e ) 操作。流媒体播放将被暂停,r t p 数据 报将暂停接收。 i n ts t r e a m i n gf a s t _ f o r w a r d ( r t s p _ s e s s i o nt + a s p _ s e s s i o n ) ; 此函数对应了播放器的快进操作,播放器将以原速度的两倍速度播放流媒 体。 i n ts t r e a m i n gf a s t _ r e w i n d ( r t s ps e s s i o n _ t + r t s p _ s e s s i o n ) ; 此函数对应了播放器的慢放操作,播放器将以原速度的二分之一的速度播放 流媒体。 i n ts t r e a m i n g _ s t o p ( r t s p _ s e s s i o n _ t + r t s p _ s e s s i o n ) ; 此函数对应了播放器的停止操作。停止以后,所有程序执行过程中动态分配 的资源都将被释放。 浙江大学硕士学位论文 本章小结 本章首先介绍了终端流媒体软件设计架构。介绍了本文所实现的终端流媒体 在整个系统中所处的地位,并详细介绍了流媒体协议栈的功能模块划分,整体架 构框图,以及整个协议处理流程。 浙江大学硕士学位论文 第3 章s d p 协议及其实现 3 1s d p 协议介绍 3 1 1s d p 协议简介 在大型的多播网络中,流媒体客户端和服务器之间,客户端与客户端之间, 都存在数据的交换。每个节点( 服务器或客户端) ,可能同时与多个节点通信。 节点与节点之间的一次固定的通信,都可以有一个流媒体会话。因此,需要有一 个工具维护节点之问的关系,管理节点的加入、退出。s d p 协议就是为了适应这 样的需求而产生的。 为了加入接收某个网络会话( s e s s i o n ) 或会议( c o n f e r e n c e ) ,用户必须了解该会 话的一些特性,如会话所用的多播组地址和u d p 端口。s d p 协议( s e s s i o n d e s c r i p t i o np r o t o c o l ,会话描述协议) 即用于描述会话的该类信息。严格而言,s d p 协议只是一个会议描述的格式规范,并不涉及网络传输协议。 3 1 2s d p 协议的使用 s d p 协议的使用可以通过两种方式。 1 多播公告( m u l t i c a s ta n n o u n c e m e n t s ) 一种使用s d p 协议的普通方式是通过多播公告将协议的文本发送给处于多 播地址中的每台主机。多播公告以周期性的方式以会话公告协议( s e s s i o n a n n o u n c e m e mp r o t o c 0 1 ) 的形式发送至多播地址中的相应端口。 s a p 数据报是一种u d p 数据报,具有如下的格式,如图3 1 。 图3 - 1s a p 数据报格式 浙江大学硕士学位论文 数据报的头部即s a p 协议的头部,文本载荷即s d p 协议文本,值得注意的 是s d p 协议文本的长度不能超过1 k b y t 。 2 通过e m a i l 和w w w 通过e m a i l 和w w w 是s d p 协议使用的另外一种常用的方式。在通过e m a i l 或w w w 使用s d p 协议时,需要使用m i m e 类型“a p p l i c a t i o n s d p ”,以方便第 三方程序能够自动运行。 3 1 3s d p 协议的内容 s d p 协议的目的是传递一个流媒体会话中关于媒体流的信息,以便接收者能 够正确的加入这个会话。一个流媒体会话可以理解为存在一定时间的多个媒体 流。在多播为基础的会话中,s d p 主要起到两个作用,l 、确认会话的存在性。2 、 传递足够的信息使得新的节点能够加入会话。对于单播网络来说,s d p 只起到第 一个作用。 那么s d p 需要传递什么信息才能保证新的节点能够加入一个会话呢? 一般 来说,s d p 需要包含如下信息: 会话名字和目的 会话活跃的时间 组成会话的媒体 接收媒体的信息,如地址、端口,媒体格式等等 关于带宽使用的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年护士执业水平考核国家统一考试试卷及答案解析
- 2025年国际贸易经纪人职业资格水平考核试题及答案解析
- 2025年广告文案创意专业考试试题及答案解析
- 课件不允许快进的原因
- 2025年生产安全员工培训考试题
- 2025年山西C类安全员安全知识题库
- 2025年呼叫中心客服面试题
- 冀教英语教学课件
- 2025年网络安全工程师初级面试与笔试宝典及答案集
- 2025年放射技术士模拟试卷
- 2025《煤矿安全规程》新旧对照专题培训
- 最新-骨髓炎-课件
- 初中全册英语常用3500词分类大全
- 电视摄像与画面编辑第1章课件
- 幕墙预埋件专项施工方案
- 山东青年政治学院校徽校标
- 2022版义务教育英语课程标准之学业质量标准与考试评价解读PPT
- (高清正版)JJF(浙)1102-2014生物人工气候箱校准规范
- 《文殊真实名经》
- 幼儿各年龄段发展评估指南
- 湖北松滋刘家场地区普通地质实习报告
评论
0/150
提交评论