srs HLS: hls拉流,用http-api 无法踢流

dxxyhpgq  于 2022-12-31  发布在  其他
关注(0)|答案(4)|浏览(289)

注意:提问前,请先看FAQ(Please read FAQ before file an issue) #2716

描述(Description)
hls拉流,用API DELETE http://***:1985/api/v1/clients/{id}踢流失败

  1. SRS版本(Version): xxxxxx
    4.0.249
  2. SRS的日志如下(Log):

[2022-03-18 18:15:19.951][Trace][18437][e639m802] HTTP #0 172.20.0.146:62045 DELETE http://172.24.0.75:1985/api/v1/clients/o7zw2527 , content-length=-1
[2022-03-18 18:15:19.951][Error][18437][e639m802][11] kickoff client id=o7zw2527 error(Resource temporarily unavailable)
[2022-03-18 18:15:19.951][Trace][18437][e639m802] TCP: before dispose resource(HttpConn)(0x27a87b0), conns=2, zombies=0, ign=0, inz=0, ind=0
[2022-03-18 18:15:19.951][Trace][18437][e639m802] client finished.
[2022-03-18 18:15:19.951][Trace][18437][scsv2r69] TCP: clear zombies=1 resources, conns=2, removing=0, unsubs=0
[2022-03-18 18:15:19.951][Trace][18437][e639m802] TCP: disposing #0 resource(HttpConn)(0x27a87b0), conns=2, disposing=1, zombies=0
[2022-03-18 18:15:19.982][Trace][18437][15790dv8] HTTP #0 172.20.0.146:62046 GET http://172.24.0.75:9080/live/livestream.m3u8?hls_ctx=o7zw2527 , content-length=-1
[2022-03-18 18:15:19.982][Trace][18437][15790dv8] http match file=./objs/nginx/html/live/livestream.m3u8, pattern=/, upath=/live/livestream.m3u8
[2022-03-18 18:15:19.982][Trace][18437][15790dv8] TCP: before dispose resource(HttpStream)(0x27a87b0), conns=2, zombies=0, ign=0, inz=0, ind=0
重现Bug的步骤(How to replay bug?)
obs 推流: rtmp://172.24.0.75:1935/live/livestream

vlc拉流: http://172.24.0.75:9080/live/livestream.m3u8
可以拉流成功,正常观看

获取拉流客户端信息,然后API踢流 DELETE http://172.24.0.75:1985/api/v1/clients/o7zw2527
返回 "code": 400

但是同样的推流,
vlc用rmtp://172.24.0.75:1935/live/livestream拉流,就可以用API踢流成功
vlc用 http://172.24.0.75:9080/live/livestream.flv拉流,也可以API踢流成功

请问是srs不支持hls API踢流吗,还是别的原因呢

期望行为(Expect)

期望api可以hls踢流

neekobn8

neekobn81#

是不是因为hls是无连接的,只是下载索引文件,就没有流那一说,所以无法剔除

eiee3dmh

eiee3dmh2#

咨询和讨论请来视频号直播间交流,每周六晚上20点。也可以加微信群,在群里交流。
该Issue会被删除,请先阅读FAQ: #2716

w9apscun

w9apscun3#

楼主解决了吗?我也遇到了相同问题,hls本质其实是文件下载,好像/api/v1/clients和/api/v1/streams这两个接口并没有把hls统计进去,想知道hls怎么按需踢掉视频流

q0qdq0h2

q0qdq0h24#

HLS如果走NGINX分发,是需要NGINX上支持踢流。

如果走SRS分发,SRS 5已经支持了流式HLS,是可能实现这个能力的。

可以在SRS 6考虑这个能力。

相关问题