darwin拉模式设计详解
2017-05-02 15:46
211 查看
1.live555客户端source sink创建流程
rtp rtcp socket是在收到sdp信息(describe)后,根据sdp信息中的m信息来创建;source也是在收到sdp信息(describe)后,根据sdp中的媒体信息,来创建具体的source类型.
在收到setup信息后,创建sink,对应source的sink
2.darwin如何获取sdp信息
通过live555与源端作为rtsp客户端身份通信,发送完play,调度循环退出,解析完sdp信息后,将调度循环通过线程开启,至此rtp流将在线程中读取。
3.拉模块与反射模块处理思路
切记,在setup之前,一定要创建好ReflectorSession,因为RTPSessionOutput要绑定到ReflectorSession的ReflectorStream上。QTSSReflectorModule模块
推流
1.在DoAnnounce中读取rtsp客户端发送过来的sdp信息,将其保存到磁盘文件中,以sdp命名。
2.在setup中,创建ReflectorSession(DoSessionSetup),仅创建一次,之后的操作一直使用这个ReflectorSession。
客户端取流
1.在DoDescribe中,引用ReflectorSession(拉模式中setup时创建),通过读取本地存放的sdp信息,将其发送给客户端。
2.在setup中,将对应的客户端的请求流RTPSessionOutput绑定到对应的ReflectorStream中。多个客户端setup时会将某个ReflectorStream绑定多个RTPSessionOutput。
拉流模块
1.在DoDescribe中,通过调用live555来获取到sdp信息,创建ReflectorSession,将sdp信息发送给客户端。
相关文章推荐
- 设计模式原则详解
- 工作流模式详解之基本流程控制模式的应用与设计(1、2、3、4、5)
- 设计模式详解
- 设计模式原则详解
- 设计模式2 Singleton单件(创建型模式)包括静态函数和私有函数的详解
- 设计模式之单体详解 Singleton
- 设计模式23式详解
- 设计模式详解(转)
- 设计模式详解-设计模式简介
- PHP设计模式初探-详解单例模式
- 工作流模式详解之基本流程控制模式的应用与设计(6、7、8、9)
- Java 可复用的面向对象的设计模式之 工厂模式Factory详解 :简单工厂模式 工厂方法模式 抽象工厂模式
- 设计模式原则详解(转贴)
- 设计模式 详解
- 设计模式详解-序
- 设计模式原则详解
- 设计模式原则详解
- 李舒磊--设计模式详解
- Java 设计模式之单例模式详解
- 模式设计详解-传统的面向对象的缺点