下载此文档

Live555流媒体服务器.doc


文档分类:IT计算机 | 页数:约3页 举报非法文档有奖
1/3
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/3 下载此文档
文档列表 文档介绍
最近因项目开发需要,开始学习开源项目live555,特别将个人的一些学录,如有理解不正确之处,欢迎各位朋友指出。
首先是源码的下载,这可以从,同时上面亦提供了相关的文档,文档虽较为粗糙,但总比找不到任何文档说明强。当然,我在学习的过程中,也从网上查找了一段时间,收获还是有一点的,其中就有诸如:RTSP服务器实例live555源代码分析、live555源代码简介、live555代码解读系列、基于live555的rtp-rtcp研究等文章。
我的学习是在VS2008环境下进行的,要能够在VS环境下顺利进行,还得做相关工作。live开源虽说是用C++写的,代码风格也非常优秀,但是其是用makefile文件来做的,而对未接触过makefile文件的我是一个问题。幸运的是在网上偶然发现了一篇介绍在VC6环境下编译live的文章,然后照着上面所说的做,磕磕碰碰,编译成功了四个库并转移到了VS2008环境中。更幸运的是又是偶然在网上发现了一篇介绍用VS2008编译live的文章并提供了编译后的工程下载,download,然后就开始了相对漫长的学习过程。
从程序的结构来看,live项目包括了四个基本库、程序入口类(在mediaServer中)和一些测试代码(在testProgs中)。四个基本库是UsageEnvironment、BasicUsageEnvironment、groupsock和liveMedia。
UsageEnvironment包括抽象类UsageEnvironment和抽象类TaskScheduler,这两个类用于事件调度,其中包括实现了对事件的异步读取、对事件句柄的设置及对错误信息的输出等;该库中还有一个HashTable,这是一个通用的HashTable,在整个项目中都可以使用它,当然该HashTable也是一个抽象类。
BasicUsageEnvironment中的类主要是对UsageEnvironment中对应类的实现。
groupsock,顾名思义,用于数据包的接收和发送,其同时支持多播和单播。groupsock库中包括了GroupEId、Groupsock、Interface等类,其中Groupsock类有两个构造函数,一个是“for a source-independent multicast group”,另一个是“for a source-specific multicast group”;而GroupsockHelper类主要用于读写Socket。
liveMedia是很重要的一个库,其不仅包含了实现RTSP Server的类,还包含了针对不同流媒体类型(如TS流、PS流等)编码的类。在该库中,基类是Medium,层次关系非常清晰。在该库中,有几个很重要的类,如RTSPServer、ServerMediaSession、RTPSink、RTPInterface、FramedSource等。
在文档中提到穿透防火墙的问题,方法是开启一个HTTP的tunnel,然后我们可以在liveMedia库中找到一个RTSPOverHTTPServer的类,该类解决了这样的问题。
mediaServer下的live555MediaServer提供了main函数,DynamicRTSPServer继承了RTSPSe

Live555流媒体服务器 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数3
  • 收藏数0 收藏
  • 顶次数0
  • 上传人xxj16588
  • 文件大小0 KB
  • 时间2015-09-30
最近更新