package com.ard.vtdu.client; import com.ard.vtdu.domain.*; import com.dtflys.forest.annotation.*; /** * @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); }