Darwin Streaming server的研究与应用.docVIP

Darwin Streaming server的研究与应用.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Darwin Streaming server的研究与应用   摘要:介绍了Darwin streaming server(DSS)源码的架构和核心流程;详细分析了Darwin streaming server的关键技术:媒体封包和流量控制;最后给出了Darwin streaming server的应用实例。   关键词:RTP;流媒体;Darwin Streaming Server(DSS)   中图分类号:TP311文献标识码:A文章编号:1009-3044(2008)35-2118-02   Research and Application of the Darwin Streaming Server   WANG Zhi-gang,ZHOU Nan,GAO Qing   (School of Computer Science Technology, Soochow University,Suzhou 215006,China)   Abstract:This paper introduces the architecture and the core flow of the Darwin streaming server(DSS) source code, then discusses the key technology in detail :Media Data Packetization and Flow Control, at last it shows an example Applications of DSS.   Key words: RTP; streaming media; darwin streaming Server (DSS)      1 引言      作为新一代互联网应用的标志, 流媒体技术在近几年得到了飞速的发展, 并且广泛应用于远程教育、网络监控、视频点播等系统之中。目前在流式媒体领域,有三种占有主导地位的产品,它们分别是Apple公司的Quick Time、Microsoft公司的Media Server以及Real公司的Real System。Darwin Streaming Server(简称DSS)是QuickTime Streaming Server开放式源代码的版本,同时支持FreeBSD、Linux、Solaris、Windows NT和Windows 2000等多个操作系统,是当前所有同类产品中支持平台最多的一个。      2 Darwin流化服务器介绍      Darwin Streaming Server(简称DSS)是QuickTime Streaming Server开放式源代码的版本,目前最新的版本是6.0.3。DSS源代码完全采用标准C++语言写成,编程风格非常优秀,每一个C++类都对应着一对和类同名的.h/.cpp文件。整个服务器包括多个子系统,分别存放在独立的工程内,其中,最为重要的是基础功能类库(Common Utilities Lib)和流化服务器(Streaming Server)两个工程。表1给出了这个两个模块的具体功能。   表1 DSS 程序模块架构分类及功能         3 Server程序详细分析      整个DSS的运行是以模块(Module)为基础,以角色(Role)来分类各项任务的(Task),每一个角色都是为完成某一特定的任务而设定的。当客户端提出请求时,DSS会根据该请求属于哪一个角色来启动适当的模块。如前所述,Server Core 主要分三大模?M:Server Core,RTSP subsystem 及RTP subsystem。Server从开始到结束整个流程也大概分为这三个部分。   3.1 Server Core(Startup Shutdown)   图2 为程序启动与结束时的流程图。服务器在启动的时候,会首先装载没有被编译到服务器里面的模块(即动态模块),然后再装载编译为服务器一部分的模块(即静态模块)。在模块装载完成之后,服务器会调用每个QTSS模块的Register(注册)角色,每个模块都必须支持这个角色。在Register角色中,模块会调用QTSS_AddRole函数来指定自己支持的其它角色。接下来服务器就以Initialize(初始化)角色调用每一个注册支持该角色的模块。Initialize角色执行模块所需要的任何初始化任务,比如分配内存和初始化全局的数据结构。然后进入聆听(Listen)的状态接收客户端的RTSP 请求。   3.2 RTSP 子系统   在服务器调用所有注册了Initialize角色的模块之后,就已经为接收来自客户端的

文档评论(0)

yingzhiguo + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:5243141323000000

1亿VIP精品文档

相关文档