From fbf0f6350371029f081c63d8bc6dc64f6106b5ce Mon Sep 17 00:00:00 2001 From: xiongziliang <771730766@qq.com> Date: Fri, 13 Dec 2019 13:35:27 +0800 Subject: [PATCH] =?UTF-8?q?1=E3=80=81getMediaList=E6=8E=A5=E5=85=A5?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0tracks=E3=80=81readerCount=E5=AD=97=E6=AE=B5?= =?UTF-8?q?=202=E3=80=81=E6=B7=BB=E5=8A=A0getMediaInfo=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- server/WebApi.cpp | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/server/WebApi.cpp b/server/WebApi.cpp index 8b7487a5..7b48493d 100644 --- a/server/WebApi.cpp +++ b/server/WebApi.cpp @@ -411,6 +411,14 @@ void installWebApi() { item["vhost"] = media->getVhost(); item["app"] = media->getApp(); item["stream"] = media->getId(); + item["readerCount"] = media->readerCount(); + for(auto &track : media->getTracks()){ + Value obj; + obj["codec_id"] = track->getCodecId(); + obj["codec_type"] = track->getTrackType(); + obj["ready"] = track->ready(); + item["tracks"].append(obj); + } val["data"].append(item); }); }); @@ -422,6 +430,26 @@ void installWebApi() { val["online"] = (bool) (MediaSource::find(allArgs["schema"],allArgs["vhost"],allArgs["app"],allArgs["stream"],false)); }); + //测试url http://127.0.0.1/index/api/getMediaInfo?schema=rtsp&vhost=__defaultVhost__&app=live&stream=obs + API_REGIST(api,getMediaInfo,{ + CHECK_SECRET(); + CHECK_ARGS("schema","vhost","app","stream"); + auto src = MediaSource::find(allArgs["schema"],allArgs["vhost"],allArgs["app"],allArgs["stream"],false); + if(!src){ + val["online"] = false; + return; + } + val["online"] = true; + val["readerCount"] = src->readerCount(); + for(auto &track : src->getTracks()){ + Value obj; + obj["codec_id"] = track->getCodecId(); + obj["codec_type"] = track->getTrackType(); + obj["ready"] = track->ready(); + val["tracks"].append(obj); + } + }); + //主动关断流,包括关断拉流、推流 //测试url http://127.0.0.1/index/api/close_stream?schema=rtsp&vhost=__defaultVhost__&app=live&stream=obs&force=1 API_REGIST(api,close_stream,{