‘liusuyi’
2023-10-24 3ed3f6c299eabbda1c161408732d71ecb60b8959
ard-work/src/main/java/com/ruoyi/utils/forest/MediaClient.java
@@ -1,10 +1,9 @@
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.ruoyi.media.domain.Conf;
import com.ruoyi.media.domain.Config;
import com.ruoyi.media.domain.Items;
/**
 * @Description: mediamtx流媒体客户端
@@ -13,14 +12,83 @@
 * @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);
    @Post("{apiUrl}/config/paths/add/{name}")
    String add(@Var("apiUrl") String apiUrl,@Var("name") String name, @JSONBody Conf body);
    /**
     * 修改路径
     */
    @Patch("/config/paths/patch/{name}")
    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);
    /**
     * 移除路径
     */
    @Delete("/config/paths/delete/{name}")
    public String removePath(@Var("name") String name);
    @Get("{apiUrl}/paths/list")
    String list(@Var("apiUrl") String apiUrl);
    /**
     * 获取路径详情
     */
    @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);
}