博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
live555 学习笔记
阅读量:6970 次
发布时间:2019-06-27

本文共 1025 字,大约阅读时间需要 3 分钟。

hot3.png

从程序的结构来看,live项目包括了四个基本库、程序入口类(在mediaServer中)和一些测试代码(在testProgs中)。四个基本库是UsageEnvironmentBasicUsageEnvironmentgroupsockliveMedia

UsageEnvironment包括抽象类UsageEnvironment和抽象类TaskScheduler,这两个类用于事件调度,其中包括实现了对事件的异步读取、对事件句柄的设置及对错误信息的输出等;该库中还有一个HashTable,这是一个通用的HashTable,在整个项目中都可以使用它,当然该HashTable也是一个抽象类。

BasicUsageEnvironment中的类主要是对UsageEnvironment中对应类的实现。

groupsock,顾名思义,用于数据包的接收和发送,其同时支持多播和单播。groupsock库中包括了GroupEIdGroupsockGroupsockHelperNetAddressNetInterface等类,其中Groupsock类有两个构造函数,一个是“for a source-independent multicast group”,另一个是“for a source-specific multicast group”;而GroupsockHelper类主要用于读写Socket

liveMedia是很重要的一个库,其不仅包含了实现RTSP Server的类,还包含了针对不同流媒体类型(如TS流、PS流等)编码的类。在该库中,基类是Medium,层次关系非常清晰。在该库中,有几个很重要的类,如RTSPServerServerMediaSessionRTPSinkRTPInterfaceFramedSource等。

上的相关文档中提到穿透防火墙的问题,方法是开启一个HTTPtunnel,然后我们可以在liveMedia库中找到一个RTSPOverHTTPServer的类,该类解决了这样的问题。

mediaServer下的live555MediaServer提供了main函数,DynamicRTSPServer继承了RTSPServer并重写了虚函数lookupServerMediaSession

转载于:https://my.oschina.net/u/139223/blog/121771

你可能感兴趣的文章
PB 级数据处理挑战,Kubernetes如何助力基因分析?
查看>>
vue cle新建vue项目
查看>>
配置网络、远程登录
查看>>
阿里架构师干货分享——eureka分布式框架demo
查看>>
GitHub十周岁HanLP自然语言处理包用户量超越CoreNLP
查看>>
Pycharm上Django的使用 Day2
查看>>
5.22-zabbix监控Nginx
查看>>
JVM基础系列开篇:为什么要学虚拟机?
查看>>
unicode字符串转list的方法
查看>>
OSChina 周五乱弹 —— 草莓味的唇膏是什么味道?
查看>>
OSChina 周三乱弹 ——纪念Bob Taylor
查看>>
OSChina 周一乱弹 ——爱丽三个小时没吃鱼罐头了
查看>>
OSChina 周六乱弹 ——程序员还是大学生的时候 带啥去上学
查看>>
PHP Web服务出现</SOAP-ENV:Envelop -> Misses the la...
查看>>
大整数类
查看>>
nginx在linux环境下安装
查看>>
笨兔兔的故事——带你了解Ubuntu,了解Linux 第九章 邻居
查看>>
ubuntu中安装hadoop集群
查看>>
14_02_Linux系统启动流程详解之二 内核及init
查看>>
【MongoDB for Java】Java操作MongoDB
查看>>