aijinhui
2023-10-16 ca74ae7c719a0f5c11e2de2552099a0918a26be9
ard-work/src/main/java/com/ruoyi/utils/forest/MediaClient.java
@@ -1,10 +1,10 @@
package com.ruoyi.utils.forest;
import com.dtflys.forest.annotation.Get;
import com.dtflys.forest.annotation.JSONBody;
import com.dtflys.forest.annotation.Post;
import com.dtflys.forest.annotation.Var;
import com.dtflys.forest.annotation.*;
import com.dtflys.forest.callback.OnError;
import com.ruoyi.media.domain.Conf;
import com.ruoyi.media.domain.Config;
import com.ruoyi.media.domain.Items;
/**
 * @Description: mediamtx流媒体客户端
@@ -13,14 +13,89 @@
 * @Date: 2023年07月06日9:51
 * @Version: 1.0
 **/
@BaseRequest(baseURL = "http://#{mediamtx.host}:9997/v2")
public interface MediaClient {
    /**
     * 增加路径
     */
    @Post(url = "/config/paths/add/{name}")
    public String addPath(@Var("name") String name, @JSONBody Conf body);
    @Post("{apiUrl}/config/paths/add/{name}")
    String add(@Var("apiUrl") String apiUrl,@Var("name") String name, @JSONBody Conf body);
    /**
     * 修改路径
     */
    @Post(url = "/config/paths/edit/{name}", async = true)
    public String editPath(@Var("name") String name, @JSONBody Conf body);
    @Post("{apiUrl}/config/paths/remove/{name}")
    String remove(@Var("apiUrl") String apiUrl,@Var("name") String name);
    /**
     * 移除路径
     */
    @Post("/config/paths/remove/{name}")
    public String removePath(@Var("name") String name);
    @Get("{apiUrl}/paths/list")
    String list(@Var("apiUrl") String apiUrl);
    /**
     * 获取路径详情
     */
    @Get("/paths/get/{name}")
    public Items getPathInfo(@Var("name") String name);
    /**
     * 查询所有路径
     */
    @Get("/paths/list")
    public String paths();
    /**
     * 查询所有rtsp会话
     */
    @Get("/rtspsessions/list")
    public String rtspsessions();
    /**
     * 查询所有rtsp连接
     */
    @Get("/rtspconns/list")
    public String rtspconns();
    /**
     * 按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);
}