live555源代码分析
时间: 2023-06-22 20:44:56 浏览: 75
Live555是一款开源的多媒体流服务器,支持实时流媒体的传输。下面是部分Live555源代码的分析:
1. MediaSession类
MediaSession类是Live555中最核心的类之一,它表示了一个媒体会话,包括了媒体流的传输协议、媒体编码格式、传输方式等信息。MediaSession类中的成员变量包括:
- fServerMediaSession:代表了一个媒体服务器会话,负责提供媒体流的传输。
- fSubsessions:代表了一个或多个媒体流的传输会话,可以是RTP/RTCP、HTTP/RTSP等协议。
- fSdpLines:代表了SDP协议中的信息,可以是媒体流的编码格式、传输方式等信息。
MediaSession类中的核心方法包括:
- createNew:用于创建一个新的媒体会话。
- addSubsession:用于添加一个媒体流的传输会话。
- generateSdpDescription:用于生成SDP协议描述信息。
- startStream:用于开始媒体流的传输。
- pauseStream:用于暂停媒体流的传输。
- seekStream:用于跳转媒体流的传输。
2. MediaSubsession类
MediaSubsession类表示了一个媒体流的传输会话,包括了媒体流的传输协议、媒体编码格式、传输方式等信息。MediaSubsession类中的成员变量包括:
- fParentSession:代表了父级MediaSession类的实例。
- fRTPSink:代表了RTP数据的发送器。
- fRTCPInstance:代表了RTCP数据的发送器。
- fTrackNumber:代表了媒体流的轨道编号。
- fCodecName:代表了媒体流的编码格式。
- fMediumName:代表了媒体流的传输方式。
MediaSubsession类中的核心方法包括:
- initiate:用于初始化媒体流的传输。
- startStream:用于开始媒体流的传输。
- pauseStream:用于暂停媒体流的传输。
- seekStream:用于跳转媒体流的传输。
3. RTSPServer类
RTSPServer类是Live555中实现RTSP协议的服务器类。RTSPServer类中的成员变量包括:
- fServerMediaSession:代表了一个媒体服务器会话,负责提供媒体流的传输。
- fHTTPServerPort:代表了HTTP服务器的端口号。
- fRTSPServerPort:代表了RTSP服务器的端口号。
RTSPServer类中的核心方法包括:
- createNew:用于创建一个新的RTSP服务器。
- start:用于启动RTSP服务器。
- stop:用于停止RTSP服务器。
- incomingConnectionHandler:用于处理RTSP客户端的连接请求。
- handleCmd_DESCRIBE:用于处理DESCRIBE命令。
- handleCmd_SETUP:用于处理SETUP命令。
- handleCmd_PLAY:用于处理PLAY命令。
- handleCmd_PAUSE:用于处理PAUSE命令。
- handleCmd_TEARDOWN:用于处理TEARDOWN命令。
以上是Live555源代码的部分分析,希望对你有所帮助。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)