live555源码阅读二

    之前只关注了一个RTSP客户端连接到RTSP服务器上,如今看了多个客户端同时连接到RTSP服务器,并且同时请求播放同一个流文件时,发现对RTSP服务器端又有了新的理解,对其中的一些类如 ServerMediaSession, ServerMediaSubsession, StreamState, FileSource, RTPSink 等有了更深刻的认识。以下简单说说,以作记录。

    对于一个流文件,在第一个客户端请求播放时,服务器端为该文件创建 ServerMediaSession, ServerMediaSubsession, StreamState 对象,而之后的客户端请求播放同一流文件时,如果该流文件正在被某一客户端播放,则服务器端不再创建 ServerMediaSession, ServerMediaSubsession 对象,而是让多个客户端共享相同的 ServerMediaSession, ServerMediaSubsession 对象,而对于 StreamState 对象,则根据在子会话对象创建时传入的一个参数 reuseSource 来决定是否后面的客户端也共享第一个客户端使用的 StreamState 对象。如果 reuseSource == True,则多个客户端共享 StreamState 对象,也即意味着多个客户端播放同一流文件时,服务器端使用同一 FileSource 对象对该流文件进行数据读取操作,使用同一 RTPSink 对象对流数据进行封装发送操作,这时,多个客户端播放的内容就是同步的,这适合于实时数据播放;如果 reuseSource==False,则对每个客户端,服务器端单独维护一个 StreamState 对象进行播放操作,此时,多个客户端播放的内容就是独立的,这适合于数据回放;

    好,先这样子。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值