1 一个RTSPClientSession对应一个视频传输任务(实时or回放)。
2 一个视频源(实时是共用一个源,回放每个单独一个源)对应一个ServerMediaSession(SMS), ServerMediaSession下可能有多个ServerMediaSubSession(视频流+音频流)。
3 ServerMediaSubSession负责创建Source, sink资源。
4 多个RTSPClientSession看同一个视频源时(实时)会累加对SMS的计数,当RTSPClientSession发出tearDown 或者很长时间没有发心跳包时,RTSPClientSession资源会被释放,A 同时相应的SMS引用计数减一,当计数为0时 会释放SMS资源,同时释放其下的ServerMediaSubSession资源; B 处理streamState,当steamState的引用计数为0时释放该资源(同时处理steamState对应的Source, Sink资源)。
2 一个视频源(实时是共用一个源,回放每个单独一个源)对应一个ServerMediaSession(SMS), ServerMediaSession下可能有多个ServerMediaSubSession(视频流+音频流)。
3 ServerMediaSubSession负责创建Source, sink资源。
4 多个RTSPClientSession看同一个视频源时(实时)会累加对SMS的计数,当RTSPClientSession发出tearDown 或者很长时间没有发心跳包时,RTSPClientSession资源会被释放,A 同时相应的SMS引用计数减一,当计数为0时 会释放SMS资源,同时释放其下的ServerMediaSubSession资源; B 处理streamState,当steamState的引用计数为0时释放该资源(同时处理steamState对应的Source, Sink资源)。
本文详细介绍了RTSP客户端会话与服务器媒体会话之间的交互过程,包括一个RTSP客户端会话对应一个视频传输任务,一个视频源对应一个服务器媒体会话,以及如何处理多个RTSP客户端会话同时查看同一视频源的情况。

172

被折叠的 条评论
为什么被折叠?



