live555学习之一整体说明

live555 是一套采用rtsp协议作为其核心, 可以用来传输接收多媒体包括H264、H265、音频等多媒体数据的开源架构代码集。通过扩展一些类的方式 实现rtsp server 和client端的功能 并且提供源码。其源码 可以是从官网 http://www.live555.com下载.

如何学习live555 并且能够做到1熟悉内部架构,2修改live555实现自己的功能 3.参考live555的架构 采用自己最精简的代码模式来实现传输或者接收多媒体文件的功能。

阶段一: 了解live555的架构功能

根据我自己的理解,live555架构功能上通常都分为如下几个层次。

1.1: 标准协议的熟悉。

1.1.1 RTSP报文通信协议

live555 包含使用了 RTSP 的协议。 

可以参考的文档见附件1

1.1.2 RTP 数据打包协议

    RTSP协议规范 往往约定了, “交互协议”通信信令 和数据传输 采用两条支路。 

可以参考的文档见附件2

1.1.3 SDP 多媒体文件描述协议

多媒体文件种类较多, 有原始的H264、 H265、G711 G726 AAC OPUS音频 。 有封装过的TS PS RTP MP4 MOV avi等文件等。

可以参考的文档见附件3


1.2:C/S 网络通信模式的熟悉

1.2.1 live555 的代码中client 和 server 通信 

采用标准TCP/IP协议 进行通信。 双方通信的报文内容按照“交互协议”的约定进行。

1.2.2 live555 采用单线程的模式进行调度管理

 原先可以写入不同的client客户连接管理采用循环机制管理。 内部维护多个hash表。

       

1.3:功能的模块化 和 架构的扩展性

1.3.1. 多媒体文件的读取 封装为frame类 

 用于实现从不同的源头(内存、文件IO、硬件设备如声卡和摄像头等)读取不同的文件数据到内存。

        1.3.2  文件数据的解析    parse

       1.3.3   文件的RTP封装传输  sink

       1.3.4  和每个客户端的处理封装为 RTSPClientSession类,

用于处理单独的客户会话。


阶段二: 修改live555的代码实现自己的功能

熟悉阶段一的live555 的1.3 功能模块化 和架构的扩展性之后,修改代码实现自己的多媒体文件源头的读取处理。


阶段三: 自己重构rtsp的代码server 端代码

rtsp server 端往往很多都是在嵌入式设备上运行,资源有限。 追求精简。在完成阶段二之后,可以实现自己的 RTSPServer 维护client连接并处理, 生成自己的sdp 描述, 并且自己针对客户端的请求 读取设备文件、Sensor采集编码后的内存数据打包完成传输给客户端。



附件1:RTSP协议的描述

https://github.com/EasyDarwin/Course/blob/master/%E6%B5%81%E5%AA%92%E4%BD%93%E4%BC%A0%E8%BE%93%E6%8E%A7%E5%88%B6%E5%8D%8F%E8%AE%AE(RTSP%20RTP%20SDP)%E8%AF%A6%E8%A7%A3/rtsp.md

附件2:RTP协议的描述

http://www.cnblogs.com/moonvan/archive/2011/09/11/2173448.html

  附件3:SDP协议的描述

https://github.com/EasyDarwin/Course/blob/master/%E6%B5%81%E5%AA%92%E4%BD%93%E4%BC%A0%E8%BE%93%E6%8E%A7%E5%88%B6%E5%8D%8F%E8%AE%AE(RTSP%20RTP%20SDP)%E8%AF%A6%E8%A7%A3/sdp.md



  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值