package com.ruoyi.utils.forest; import com.dtflys.forest.annotation.*; import com.ruoyi.media.domain.Conf; import com.ruoyi.media.domain.Config; import com.ruoyi.media.domain.Items; /** * @Description: mediamtx流媒体客户端 * @ClassName: client * @Author: 刘苏义 * @Date: 2023年07月06日9:51 * @Version: 1.0 **/ @BaseRequest(baseURL = "http://#{mediamtx.host}:9997/v3") public interface MediaClient { /** * 增加路径 */ @Post("/config/paths/add/{name}") public String addPath(@Var("name") String name, @JSONBody Conf body); /** * 修改路径 */ @Patch("/config/paths/patch/{name}") public String editPath(@Var("name") String name, @JSONBody Conf body); /** * 移除路径 */ @Delete("/config/paths/delete/{name}") public String removePath(@Var("name") String name); /** * 获取路径详情 */ @Get(url ="/config/paths/get/{name}") public Conf getPathInfo(@Var("name") String name); /** * 查询所有路径 */ @Get("/paths/list") public String paths(); /** * 查询所有rtsp会话 */ @Get("/rtspsessions/list") public String rtspsessions(); /** * 按sessionId查询rtsp会话 */ @Get("/rtspsessions/get/{sessionId}") public String getRtspsessionById(@Var("sessionId") String sessionId); /** * 按sessionId查询webrtc会话 */ @Get("/webrtcsessions/get/{sessionId}") public String getWebrtcsessionById(@Var("sessionId") String sessionId); /** * 按sessionId查询rtmp会话 */ @Get("/rtmpconns/get/{sessionId}") public String getRtmpsessionById(@Var("sessionId") String sessionId); /** * 按sessionId删除rtsp会话 */ @Post("/rtspsessions/kick/{sessionId}") public String kickRtspSessions(@Var("sessionId") String sessionId); /** * 按sessionId删除rtmp连接 */ @Post("/rtmpconns/kick/{sessionId}") public String kickRtmpSessions(@Var("sessionId") String sessionId); /** * 按sessionId删除webrtc会话 */ @Post("/webrtcsessions/kick/{sessionId}") public String kickWebrtcSessions(@Var("sessionId") String sessionId); /** * 配置流媒体参数 */ @Post("/config/set") public String setConfig(@JSONBody Config config); }