基于android无线视频监控的设计与实现开题报告内容摘要:

体服务器是负责和 视频 服务器 交互获取经过压缩的视频 流数据 ,通过 RTP/RTCP 发送经过压缩的数据包到 移动终端 , 移动终端 通过解压 这些数据包 后可以播放 实时 视频,流媒体服务器的实现是用户可以通过 终端 观看想要查看的视频信息。 本系统 的 流媒体服务器 主要包括基于 live555 的服务器 , Live555 是一个为流媒体提供解决方案的跨平台的 C++开源项目,它实现了对标准流媒体传输协议如RTP/RTCP、 RTSP、 SIP 等的支持。 Live555 实现了对多种音视频编码格式的音视频数据的流化、接收和处理等支持,包括 MPEG、 +、 DV、 JPEG 视频和多种音频编码。 同时由于良好的设计, Live555 非常容易扩展对其他格式的支持。 Live555 Streaming Media 整体框架如图所示: UsageEnvironment 模块是对系统环境的抽象,包括抽象类 UsageEnvironment和 TaskScheduler。 UsageEnvironment 主要用于消息的输入输出和用户交互功能;TaskScheduler 实现事件的异步处理、事件处理函数的注册等,它通过维护一个异步读取源实现对诸如通信消息到达等事件的处理,通过使用 DelayQueue 实现对其他注册函数的延时调度。 该模块还包含一个 HashTable 类,在整个项目中都可以用到它。 程序设计者通过自定义该抽象了类 UsageEnvironment 和 TaskScheduler类的子类,就可以在特定环境(如 GUI 环境)中运行,不需要进行过多的修 改。 BasicUsageEnvironment 模块是 UsageEnvironment 的一个控制台应用的实现。 它针对控制台的输入输出和信号响应进行具体实现。 GroupSock 模块用于实现数据包的发送和接收。 GroupSock 主要被设计用以支持多播,但它也完全支持单播通信。 LiveMedia 模块是 Live555 最重要的模块。 该模块声明了一个抽象类 Medium,其他所有类都派生自该类,下面简要介绍这些类: RTSPClient:该类实现 RTSP 请求的发送和响应的解析,同时根据解析的结果 创建对应的 RTP 会话。 MediaSession:用于表示一个 RTP 会话,一个 MediaSession 可能包含多个子会话 (MediaSubSession),子会话可以是音频子会话、视频子会话等。 RTCPInstance:该类实现 RTCP 协议的通信。 Source 和 Sink:这两个概念类似 DirectShow 中的 Filter。 Source 抽象了数据源,比如通过 RTP 读取数据。 Sink 是数据消费者的抽象,比如把接收 到数据存储到文件,该文件就是一个 Sink。 数据的流动可能经过多个 Source和 Sink。 MediaSink是各种类型的 Sink 的基类, MediaSource 是各种类型 Source 的基类,各种类型的流媒体格式和编码的支持即是通过对这两个类的派生实现的。 Source 和 Sink 通过RTP 子会话 (MediaSubSession)联系在一起。 视频 服务器 本系统 的 视频服务器采用了 TI 公司 的 DaVinci 解决方案 ,主要 用来处理摄像头 传输过来的原始视频数据 ,摄像头采集到信息后直接交给视频监控终端,视频监控 终端进行编码和封装数据,并发送数据流到流媒体服务器。 流媒体 协议 流媒体服务器中主要 的 协议: RTP 实时传输协议、 RTCP 实时传输控制协议 、RTSP 实时流 协议 以及 SIP 会话初始协议。 其中 RTP/RTSP、 RTSP 协议主要用来流媒体的传输, SIP 协议 主要是实现对云台的控制。 RTP/RTCP、 RTSP 协议关系如图所示, RTP/RTCP 工作在传输层, RTSP 工作在应用层。 RTP 主要承担数据传输任务,而 RTCP 为应用层提供视频质量控制的手段和方法。 RTSP 则是控制 RTP 的发送。 RTSP 的消息是由客 户端到服务器的请求和服务器到客户端的回应组成。 U D。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。