package com.ruoyi.media.controller; import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; import com.ruoyi.common.annotation.Anonymous; import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.media.domain.MediaInfo; import com.ruoyi.media.service.IMediaService; import com.ruoyi.media.service.impl.MediaService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; /** * @Description: * @ClassName: controller * @Author: 刘苏义 * @Date: 2023年07月13日9:26 * @Version: 1.0 **/ @RestController @Api(tags = "流媒体接口") @Anonymous public class MediaController { @Resource private IMediaService mediaService; @PostMapping("/add") @ApiOperation("增加转码") public AjaxResult addPath(@RequestBody MediaInfo mediaInfo) { String rtsp = mediaService.addPath(mediaInfo.getCameraId(), mediaInfo.getRtspPath()); return AjaxResult.success(rtsp); } @PostMapping("/remove") @ApiOperation("移除转码") @ApiOperationSupport(includeParameters={"mediaInfo.cameraId"}) public AjaxResult removePath(@RequestBody MediaInfo mediaInfo) { mediaService.removePath(mediaInfo.getCameraId()); return AjaxResult.success(); } @GetMapping("/getPaths") @ApiOperation("获取当前转码列表") public AjaxResult getPaths() { return AjaxResult.success(mediaService.paths()); } @GetMapping("/getRtspSessions") @ApiOperation("获取rtsp会话列表") public AjaxResult getRtspSessions() { return AjaxResult.success(mediaService.rtspsessions()); } @GetMapping("/getRtspConns") @ApiOperation("获取rtsp连接列表") public AjaxResult getRtspConns() { return AjaxResult.success(mediaService.rtspconns()); } @GetMapping("/getRtspSessionById") @ApiOperation("按ID查询会话") public AjaxResult getRtspSessionById(String sessionId) { return AjaxResult.success(mediaService.getRtspSessionById(sessionId)); } @GetMapping("/getPushStreams") @ApiOperation("获取推流信息") public AjaxResult getPushStreams() { return AjaxResult.success(mediaService.getPushStreams()); } @GetMapping("/getPullStreams") @ApiOperation("获取拉流信息") public AjaxResult getPullStreams() { return AjaxResult.success(mediaService.getPullStreams()); } }