一种流媒体传输系统的设计与实现

来源 :计算机光盘软件与应用 | 被引量 : 0次 | 上传用户:linxunchang
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘 要:流媒体的传输策略在流媒体传输系统中非常重要,不合理的流媒体传输方法会极大浪费网络资源。本论文首先介绍了流媒体传输系统的设计方案,然后阐述了如何实现RTP传输以及多点传输。新设计的流媒体传输系统可以减少网络资源的浪费。
  关键词:流媒体;传输系统;设计;实现
  中图分类号:TN919.8
  一种流媒体数据的发送方法,首先需要选取一个统一的标准时间点作为媒体数据包的基准时间点。然后根据接受到的数据内容和媒体豹纹内容确定各个数据包所相对对应的标准时间点。其次根据这个时间点,确定其各个所对应的媒体单元时间戳。将已经确定的时间戳放置于相对于的媒体单元内,并将其包装封闭在帧结构中发送。该流程的重点主要为媒体单元的时间戳的确定,即为所有的媒体数据选取了一个统一的标准时间点。因此,所有有关联的各个媒体数据可以实现时间同步。从而使有统一目的的不同路径的媒体单元到达的时间先后能很容易的识别。具体的操作系统工作如下:
  通过对一般传输的研究,在本文设计的流媒体传输系统中,使用底层为UDP协议的RTP协议传输数据信息,用RTCP传递控制报文信息,采用HTTP协议与Web服务器交互,采用HTTP、MMS协议进行播放器与数据源的交互。
  Web服务器采用XML技术实现,节点与其通信采用HTTP协议实现;媒体源与播放器之间采用HTTP、MMS协议通信,节点从本地缓存或媒体源获取流媒体数据,然后调用播放器播放。信息是通过TCP协议传输,其中控制信息包括节点的加入、退出、邻居节点的更新、Keep-alive等信息。真正的媒体数据采用RTP协议传输。RTCP控制信息包通过UDP/TCP和IP进行传输。
  1 RTP传输实现
  1.1 JRTPLib的编译
  JRTPLib是一个开源的RTP库,JThread是一个开源的线程类,JRTPLib和JThread联合使用,可以在后台自动获取数据。如果没有JThread的话,JRTPLib也能编译通过(要改一个参数RTP_SUPPORT_THREAD在rtpconfig_win.h文件中),但如果JRTPLib中不加入JThread就需要程序周期调用相关的函数来获取数据。
  1.2 流媒体数据发送
  流媒体数据发送的具体流程是,先获得接收端的IP地址和端口号,然后根据具体数据创建RTP会话,再指定RTP数据接收端,从而设置RTP会话默认参数,完成发送流媒体数据。
  首先生成RTP Session 类的实例,调用Create()方法来对其进行初始化操作。设置恰当的时间戳单元(调用RTP Session类的SetTimestampUnit方法),并且设置好数据发送的目标地址,RTP协议允许同一会话存在多个目标地址,我们可以通过调用RTP Session类的AddDestination()、DeleteDestination()和ClearDestinations()方法来完成地址的添加、删除和清除。目标地址全部指定之后,调用RTP Session类的SendPacket()方法,向所有的目标地址发送流媒体数据。
  1.3 流媒体数据接收
  流媒体数据接收的具体流程是获得用户指定的端口号,然后创建RTP会话,从而设置接收模式,其次接收RTP数据,再根据情况检索RTP数据源,获取RTP数据报,删除RTP数据报。
  RTP数据报有三种接收模式(RECEIVEMODE_ALL、RECEIVEMODE_IGNORESOME、RECEIVEMODE_ACCEPTSOME),每种接收模式具体规定了哪些到达的 RTP 数据报将会被接受。我们可以通过调用RTP Session类的SetReceiveMode()方法可以设置接收模式,本系统采用RECEIVEMODE_ALL 缺省的接收模式,所有到达的 RTP 数据报都将被接受。
  系统定义了类rtprevcv.h,负责RTP数据的接收。
  ch->rtprev->rtpRevInit(port);//RTP接收初始化
  ch->rtprev->rtpAddSour(port,SourceIp); //加入源节点IP
  packet = sess.GetNextPacket(); //获取 RTP 数据报
  2 多点传输实现
  MixCast系统中,各节点在应用层组播里是多对多的关系。即一个节点可同时从多个节点接收数据,同样地,一个节点也可发送数据至多个节点。这由每个节点的度控制。
  2.1 一对多实现
  UDP的多路复用让RTP协议支持多点投递,可以满足流媒体多点之间会话的要求。我们可以通过调用JRTPLib 的AddDestination()函数将组播地址添加到RTP会话的发送列表中,关键实现代码如下:
  dw=m_sess.AddDestination(ulIP,usPort);//设置组播地址加入列表
  m_sess.SendPacket();//函数发送数据
  2.2 多对一实现
  采用多线程传输。一对节点传输占用一个线程,节点连接到父节点,开启一个新线程;节点退出,此线程关闭。
  stream function
  {
  while(1) m_sess.SendPacket(); //发送数据
  }
  thread1.func =stream;
  sys->startThread(&thread1);//开启线程
  sys->endThread(&thread1);//结束线程
  3 结语
  本论文提出了一种流媒体传输系统的设计方案,并对其实现做了阐述,采用该流媒体传输策略的传输系统可减少流媒体传输过程中的网络资源的浪费,对网络资源的合理利用具有积极的意义。
  参考文献:
  [1]Xinyan Zhang,JC Liu, Bo Li, and Tak-Shing Peter Ynm. CoolStreaming/DOnet:A data- driven overlay network for efficient live media streaming[C].In Proceedings of IEEE INFOCOM,Match,2009.
  [2]Li Fan,Pei Cao,Jussara Almerida. Summary cache: A scalable wide-area web cache sharing protocol[J].IEEE/ACM Trans Networkin,2010,8(3):281-293.
  [3]R.Wooster and M.Abrams.Proxy Caching the Estimates Page Load Delays[C].In the 6th International World Wide Web Conference,April,7-11,2010,Santa Clara,CA,977-986.
  [4]Meng Zhang,Jian-Guang Luo,Li Zhao.A Peer-to-Peer Network for Live Media Streaming-Using a Push-Pull Approach[C].In ACM Multimedia,2010.
  [5]刘洁,刘建勋.基于用户兴趣模型的Web服务发现系统设计[J].湘潭大学自然科学学报,2008,30(1):131-134.
  [6]Bellwood T,Clement L,Ehnebuske.Detal.OASIS Specification,UDDI v3.0.http://uddi.org/pubs/uddi_v3.htm,2002.
其他文献
利用Excel VBA实现学生成绩管理的自动化处理,提高工作效率和数据处理能力,加强数据处理结果的准确性,实现中职学校学生成绩信息管理工作流程的系统化、规范化和自动化。一
摘要:随着网络技术的不断发展和进步,网络的安全问题也越来越受人们重视。当前的网络环境复杂多变,计算机病毒的形式五花八门,且传染速度快、破坏性较强,给网络造成很大威胁,也影响了人们的日常生活。因此,如何保障网络的安全就显得至关重要。  关键词:计算机;网络安全;病毒  中图分类号:TP393.08文献标识码:A文章编号:1007-9599 (2013) 06-0000-02  计算机的不断发展和广泛
目的探讨前列腺增生症的外科手术治疗方法。方法对76例前列腺增生症患者据不同情况选择经尿道前列腺电切术、前列腺高压水囊扩裂,前列腺记忆合金网架植入术、耻骨上经膀胱前
陈独秀二次革命论第一次规定中国革命必须分两个阶段依次进行.这种认定为毛泽东两步走思想的提出奠定了基础.在两个革命如何衔接,特别是现阶段民主革命的主要动力及领导阶级
集成系统是机场信息系统的核心和枢纽,中间件更是机场信息系统集成的重要组成部分,实现机场业务数据集成、发布及系统间的信息传递的重要功能。本文基于SOA架构的设计理念,结
为有助于中国广大中小企业和处于困境中的公司求得生存,征服危机,摆脱困境,而后谋求发展和完善、完美,建构了分阶段的基准管理,分析了导致企业陷入困境的原因和崛起的对策。
近年来,脊髓损伤的发病率逐年上升,受病人群越来越年轻化,且难以治愈,需要进行大量的临床试验对脊髓损伤的药物进行研究和测试,所以如何制备大量的,标准化的脊髓损伤模型就显得尤为重要。本文针对脊髓打击器中的脊髓打击平台,设计了一种移动平台及其定位方法,利用绝对编码器每一个位置都对应唯一的格雷码输出和断电记忆等功能,通过PLC编程技术,实现了移动平台位置的定位和测量并通过触摸屏实时显示。
本文运用乖讹幽默理论分析了英国作家罗尔德·达尔儿童作品中的语言方面的幽默,探究其不同的表现方式和对儿童读者的积极作用。
目的观察期待疗法对孕妇前置胎盘的治疗效果,评价其可行性。方法本研究病例为前置胎盘孕妇76例,进行期待疗法的33例为观察组,剖宫产终止妊娠的43例为对照组,对两组孕妇的各项
目的研究眼眶肿瘤致视野改变的类型及相关因素。方法利用Humphrey720i计算机自动视野计对眼眶肿瘤患者进行视野检查,对研究结果进行分析。结果眶中部或眶尖肿瘤对普遍敏感性