package com.ard.vtdu.client;
|
|
import com.ard.vtdu.domain.*;
|
import com.dtflys.forest.annotation.*;
|
import org.springframework.scheduling.annotation.Async;
|
|
/**
|
* @Description: mediamtx流媒体客户端
|
* @ClassName: client
|
* @Author: 刘苏义
|
* @Date: 2023年07月06日9:51
|
* @Version: 1.0
|
**/
|
@BaseRequest(baseURL = "http://#{mediamtx.host}:9997")
|
public interface MediaClient {
|
/**
|
* 增加路径配置
|
*/
|
@Post("/v3/config/paths/add/{name}")
|
public String addPath(@Var("name") String name, @JSONBody Conf body);
|
|
/**
|
* 修改路径配置
|
*/
|
@Patch("/v3/config/paths/patch/{name}")
|
public String editPath(@Var("name") String name, @JSONBody Conf body);
|
|
/**
|
* 移除路径配置
|
*/
|
@Delete("/v3/config/paths/delete/{name}")
|
public String removePath(@Var("name") String name);
|
|
/**
|
* 获取路径配置详情
|
*/
|
@Get(url = "/v3/config/paths/get/{name}")
|
public Conf getPathConfig(@Var("name") String name);
|
|
/**
|
* 获取路径配置列表
|
*/
|
@Get(url = "/v3/config/paths/list?page={pageNum}&itemsPerPage={pageSize}")
|
public PathConfig getPathConfigs(@Var("pageNum") Integer pageNum, @Var("pageSize") Integer pageSize);
|
|
/**
|
* 查询所有路径
|
*/
|
@Get("/v3/paths/list?page={pageNum}&itemsPerPage={pageSize}")
|
public Paths paths(@Var("pageNum") Integer pageNum, @Var("pageSize") Integer pageSize);
|
|
/**
|
* 查询所有rtsp会话
|
*/
|
@Get("/v3/rtspsessions/list?page={pageNum}&itemsPerPage={pageSize}")
|
public RtspSessions rtspsessions(@Var("pageNum") Integer pageNum, @Var("pageSize") Integer pageSize);
|
|
/**
|
* 查询所有webrt会话
|
*/
|
@Get("/v3/webrtcsessions/list?page={pageNum}&itemsPerPage={pageSize}")
|
public WebrtcSessions webrtcsessions(@Var("pageNum") Integer pageNum, @Var("pageSize") Integer pageSize);
|
|
/**
|
* 查询所有rtmp会话
|
*/
|
@Get("/v3/rtmpconns/list?page={pageNum}&itemsPerPage={pageSize}")
|
public RtmpSessions rtmpsessions(@Var("pageNum") Integer pageNum, @Var("pageSize") Integer pageSize);
|
|
/**
|
* 按sessionId查询rtsp会话
|
*/
|
@Get("/v3/rtspsessions/get/{sessionId}")
|
public RtspSession getRtspsessionById(@Var("sessionId") String sessionId);
|
|
/**
|
* 按sessionId查询webrtc会话
|
*/
|
@Get("/v3/webrtcsessions/get/{sessionId}")
|
public WebrtcSession getWebrtcsessionById(@Var("sessionId") String sessionId);
|
|
/**
|
* 按sessionId查询rtmp会话
|
*/
|
@Get("/v3/rtmpconns/get/{sessionId}")
|
public RtmpSession getRtmpsessionById(@Var("sessionId") String sessionId);
|
|
/**
|
* 按sessionId删除rtsp会话
|
*/
|
@Post("/v3/rtspsessions/kick/{sessionId}")
|
public String kickRtspSessions(@Var("sessionId") String sessionId);
|
|
/**
|
* 按sessionId删除rtmp连接
|
*/
|
@Post("/v3/rtmpconns/kick/{sessionId}")
|
public String kickRtmpSessions(@Var("sessionId") String sessionId);
|
|
/**
|
* 按sessionId删除webrtc会话
|
*/
|
@Post("/v3/webrtcsessions/kick/{sessionId}")
|
public String kickWebrtcSessions(@Var("sessionId") String sessionId);
|
|
/**
|
* 录像分段列表
|
*/
|
@Get("/v3/recordings/list/")
|
public Paths recordingList(@Query("pageNum") Integer pageNum, @Query("pageSize") Integer pageSize);
|
|
/**
|
* 通过路径名获取录像分段列表
|
*/
|
@Get("/v3/recordings/get/{name}")
|
public Item recordingListByName(@Var("name") String name);
|
|
/**
|
* 通过路径名和分段录像开始时间删除录像分段
|
*/
|
@Delete("/v3/recordings/deletesegment")
|
public String deleteSegment(@Query("path") String name, @Query("start") String start);
|
|
}
|