您好, 访客   登录/注册

基于p2p的网络直播系统的设计与实现

来源:用户上传      作者:

  摘要:传统C/S模式的流媒体服务系统已不能满足要求,新兴的p2p技术可以和流媒体技术结合,解决网络的负载均衡问题。本文提出基于p2p的流媒体直播系统,利用p2p技术本身的优势,大大减轻服务器的负担,且在客户负载较重的情况下,能够获取流畅高质的视频。
  关键词:流媒体;p2p;网络直播
  中图分类号:TP393 文献标识码:A文章编号:1009-3044(2007)16-31152-01
  Based on peer-to-peer network broadcast System Design and Implementation
  WANG Jian
  (Jiangyin Polytechnic College,Library,Wuxi 214405,China)
  Abstract:The traditional C/S mode streaming media service system can no longer meet the requirements of the emerging peer-to-peer technology and streaming media technology combine to solve the load balance issues. This paper-based peer-to-peer streaming media broadcast system, using the advantages of peer-to-peer technology itself, significantly reducing the burden on the server and the client load heavier circumstances, access to high-quality smooth video.
  Key words:streaming media;peer-to-peer;network broadcast
  
  1 流媒体技术
  
  流媒体指在Internet中使用流式传输的连续时基媒体。所谓流式传输是指将多媒体文件经过特殊的压缩方式分成一个个小的压缩包,由视频服务器向用户计算机连续、实时地传送。用户不必等到整个文件全部下载完毕即可观看。
  
  2 P2P技术
  
  P2P 是 Pear-to-Pear的简写,译为“对等网络”。P2P系统中没有服务器和客户机之分,每个主机既是服务器也是客户机。其目的就是希望能充分利用每个节点的潜在计算资源。
  
  3 拟解决的关键问题
  
  (1)WMV格式的分析,目前P2P直播基本上使用WMV格式,通过模拟HTTP服务器的方式,把WMV数据流传送给Media Player。这是P2P直播的关键点。需要将Media Encoder发出的HTTP数据进行拆包,然后组成30秒~1分钟的P2P数据块,再通过P2P方式将数据块发送给软件客户端,最终由软件模拟HTTP服务器将传输完成的数据块发送给Media Player。
  (2)p2p稳定性问题,本系统采用开源的Chord技术,它是基于DHT的,节点的频繁加入、失效或离开可能造成路由错误。如果每有一个节点加入就要进行一次全面的更新,系统消耗大,影响查找速度。为此Chord采用定期更新的方法。
  
  4 系统的设计与实现
  
  (1)DirectShow是一个windows平台上的流媒体框架,支持多种媒体文件格式,能自动地侦测并使用可利用的音视频硬件加速,关于视音频处理的部分用DirectShow来实现。
  (2)在服务器端,通过DirectShow的Source Filter,从计算机的视、音频采集设备中读取数据,然后通过Transform Filter把数据压缩编码成WMV格式,然后再封装到RTP包,通过UDP发送给与自己直接相连接的客户端。主要功能有节目内容的添加编辑删除、特效设置、频道的设置、节目编排等几项。数据库中存放的是各种节目和可选频道,可以通过某一个终端对服务器进行配置,从而可以改变数据库中的内容,做到节目内容和频道的及时更新。
  (3)客户端接收到RTP数据包,从其中把流媒体数据提取出来,缓入本地缓存区同时转发该数据至自己的子节点。子节点接收到数据后同样缓存再转发,依此类推,直到所有的Client都接收到父节点发来的流媒体数据。Client端通过Source Filter从自己的缓存区中读取流媒体数据,再通过Render Filter把流媒体数据送往声卡和显卡播放。
  图1 客户端功能图
  
  5 结束语
  
  P2P和流媒体技术都是现在研究的热点,在本系统中,把两个热门的技术融合起来,各自发挥其所长,起到了较好的效果。在实验室中,采用30台机器进行测试,画面基本比较流畅,画质也比较好。可以用在需要进行直播的场合。
  
  参考文献:
  [1]杨杰.浅谈基于p2p的流媒体服务技术 宿州学院学报,2005.3.
  [2]韩俊伟.基于p2p的流媒体直播系统的研究与设计,计算机应用研究,2006.6.
  [3]李文峰.基于校园网的流媒体点播与直播系统的设计与实现,科学技术与工程,2005.2.
  
  注:“本文中所涉及到的图表、公式注解等形式请以PDF格式阅读原文。”
转载注明来源:https://www.xzbu.com/8/view-8752709.htm