源流媒体服务器与SRS之间的流释放方法

1、源流媒体服务器

客户端向源流媒体服务器发送拉流请求,而源流媒体服务器向设备端发起拉流并转换为RTMP,推送给SRS。

2、SRS服务器

负责将RTMP流转换为WebRTC流输出。

问题:如何当SRS的webrtc无人消费时源流媒体服务器停止向SRS推送RTMP,等到下一次新请求在推送。

解决方案:通过SRS wiki分析,可以通过web api实现,使用接口http://127.0.0.1:1985/api/v1/streams

{
    "code": 0,
    "server": "vid-f04w449",
    "streams": [
        {
            "id": "vid-u63y79h",
            "name": "906E736C-2C43-4494-A872-E55EA289D90C",
            "vhost": "vid-vhh797n",
            "app": "live",
            "live_ms": 1654840917901,
            "clients": 1,
            "frames": 0,
            "send_bytes": 4293,
            "recv_bytes": 49825046,
            "kbps": {
                "recv_30s": 69,
                "send_30s": 0
            },
            "publish": {
                "active": true,
                "cid": "567311e8"
            },
            "video": null,
            "audio": {
                "codec": "AAC",
                "sample_rate": 44100,
                "channel": 2,
                "profile": "LC"
            }
        }
    ]
}

通过测试发现返回json中的clients字段可以使用,它代表推拉流的数量,当为1时表示只有一个publish往上推送媒体数据,这时候就源流媒体服务器可以停止往SRS推流,并释放资源。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值