Class ZlmApiController
java.lang.Object
io.github.lunasaw.zlm.api.controller.ZlmApiController
@RestController
@ConditionalOnProperty(value="zlm.enable",
havingValue="true")
@RequestMapping("/zlm/api")
public class ZlmApiController
extends Object
- Version:
- 1.0
- Author:
- luna
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionaddFFmpegSource
(StreamFfmpegItem streamFfmpegItem) 添加FFmpeg拉流代理addStreamProxy
(StreamProxyItem streamProxyItem) 添加代理拉流addStreamPusherProxy
(StreamPusherItem streamPusherItem) 添加推流代理broadcastMessage
(Map<String, String> params) 广播webrtc datachannel消息closeRtpServer
(String streamId) 关闭RTP服务器closeStream
(MediaReq mediaReq) 关断单个流closeStreams
(CloseStreamsReq closeStreamsReq) 批量关断流连接RTP服务器deleteRecordDirectory
(Map<String, String> params) 删除录像文件夹delFFmpegSource
(String key) 关闭FFmpeg拉流代理delStreamProxy
(String key) 关闭拉流代理关闭推流代理获取所有节点列表getAllSession
(String localPort, String peerIp) 获取所有TcpSession列表getApiList
(Map<String, String> params) 获取API列表getMediaInfo
(MediaReq mediaReq) 获取流信息getMediaList
(MediaReq mediaReq) 获取流列表getMediaListByNode
(String nodeId, MediaReq mediaReq) 指定节点获取流列表getMediaPlayerList
(MediaReq mediaReq) 获取媒体流播放器列表getMp4RecordFile
(RecordReq recordReq) 获取录制文件列表getMp4RecordSummary
(Map<String, String> params) 查询文件概览getPlaybackUrls
(MediaReq mediaReq) 获取播放地址getProxyInfo
(Map<String, String> params) 获取拉流代理信息getProxyPusherInfo
(Map<String, String> params) 获取推流代理信息getRtpInfo
(String streamId) 获取rtp推流信息获取服务器配置getSnap
(SnapshotReq snapshotReq) 获取截图获取主要对象个数getStorageSpace
(Map<String, String> params) 获取存储信息获取网络线程负载获取版本信息getVersionByNode
(String nodeId) 指定节点获取版本信息获取后台线程负载处理节点不存在异常isMediaOnline
(MediaReq mediaReq) 流是否在线isRecording
(RecordReq recordReq) 是否正在录制kickSession
(String sessionId) 断开tcp连接kickSessions
(Map<String, String> params) 批量断开tcp连接获取RTP服务器列表loadMP4File
(Map<String, String> params) 点播mp4文件创建RTP服务器创建多路复用RTP服务器pauseRtpCheck
(String streamId) 暂停RTP超时检查restartServer
(Map<String, String> params) 重启服务器resumeRtpCheck
(String streamId) 恢复RTP超时检查seekRecordStamp
(RecordReq recordReq) 设置录像流播放位置setRecordSpeed
(RecordReq recordReq) 设置录像速度setServerConfig
(Map<String, String> params) 设置服务器配置startMultiMp4Publish
(Map<String, String> params) 多文件推流startRecord
(RecordReq recordReq) 开始录制开始发送rtp开始tcp passive被动发送rtpstopMultiMp4Publish
(Map<String, String> params) 关闭多文件推流stopRecord
(RecordReq recordReq) 停止录制停止发送rtpupdateRtpServerSSRC
(String streamId, String ssrc) 更新RTP服务器过滤SSRC
-
Constructor Details
-
ZlmApiController
public ZlmApiController()
-
-
Method Details
-
getVersion
获取版本信息 -
getApiList
@GetMapping("/api/list") public ServerResponse<List<String>> getApiList(@RequestParam(required=false) Map<String, String> params) 获取API列表 -
getThreadsLoad
获取网络线程负载 -
getStatistic
获取主要对象个数 -
getWorkThreadsLoad
获取后台线程负载 -
getServerConfig
获取服务器配置 -
setServerConfig
@PostMapping("/server/config") public ServerResponse<String> setServerConfig(@RequestBody Map<String, String> params) 设置服务器配置 -
restartServer
@PostMapping("/server/restart") public ServerResponse<Object> restartServer(@RequestBody Map<String, String> params) 重启服务器 -
getMediaList
@PostMapping("/media/list") public ServerResponse<List<MediaData>> getMediaList(@RequestBody MediaReq mediaReq) 获取流列表 -
closeStream
@PostMapping("/media/close") public ServerResponse<String> closeStream(@RequestBody MediaReq mediaReq) 关断单个流 -
closeStreams
@PostMapping("/media/close-batch") public ServerResponse closeStreams(@RequestBody CloseStreamsReq closeStreamsReq) 批量关断流 -
isMediaOnline
@PostMapping("/media/online") public MediaOnlineStatus isMediaOnline(@RequestBody MediaReq mediaReq) 流是否在线 -
getMediaPlayerList
@PostMapping("/media/player/list") public ServerResponse<MediaPlayer> getMediaPlayerList(@RequestBody MediaReq mediaReq) 获取媒体流播放器列表 -
getMediaInfo
@PostMapping("/media/info") public ServerResponse<MediaInfo> getMediaInfo(@RequestBody MediaReq mediaReq) 获取流信息 -
getPlaybackUrls
@PostMapping("/media/play-urls") public ServerResponse<PlayUrl> getPlaybackUrls(@RequestBody MediaReq mediaReq) 获取播放地址 -
broadcastMessage
@PostMapping("/broadcast/message") public ServerResponse broadcastMessage(@RequestBody Map<String, String> params) 广播webrtc datachannel消息 -
getAllSession
@GetMapping("/session/list") public ServerResponse<List<TcpLink>> getAllSession(@RequestParam(required=false) String localPort, @RequestParam(required=false) String peerIp) 获取所有TcpSession列表 -
kickSession
@DeleteMapping("/session/{sessionId}") public ServerResponse<String> kickSession(@PathVariable("sessionId") String sessionId) 断开tcp连接 -
kickSessions
@PostMapping("/session/kick-batch") public ServerResponse<String> kickSessions(@RequestBody Map<String, String> params) 批量断开tcp连接 -
addStreamProxy
@PostMapping("/proxy/add") public ServerResponse<StreamKey> addStreamProxy(@RequestBody StreamProxyItem streamProxyItem) 添加代理拉流 -
delStreamProxy
@DeleteMapping("/proxy/{key}") public ServerResponse<StreamKey.StringDelFlag> delStreamProxy(@PathVariable("key") String key) 关闭拉流代理 -
getProxyInfo
@PostMapping("/proxy/info") public ServerResponse getProxyInfo(@RequestBody Map<String, String> params) 获取拉流代理信息 -
addStreamPusherProxy
@PostMapping("/pusher/add") public ServerResponse<StreamKey> addStreamPusherProxy(@RequestBody StreamPusherItem streamPusherItem) 添加推流代理 -
delStreamPusherProxy
@DeleteMapping("/pusher/{key}") public ServerResponse<StreamKey.StringDelFlag> delStreamPusherProxy(@PathVariable("key") String key) 关闭推流代理 -
getProxyPusherInfo
@PostMapping("/pusher/info") public ServerResponse getProxyPusherInfo(@RequestBody Map<String, String> params) 获取推流代理信息 -
addFFmpegSource
@PostMapping("/ffmpeg/add") public ServerResponse<StreamKey> addFFmpegSource(@RequestBody StreamFfmpegItem streamFfmpegItem) 添加FFmpeg拉流代理 -
delFFmpegSource
@DeleteMapping("/ffmpeg/{key}") public ServerResponse<StreamKey.StringDelFlag> delFFmpegSource(@PathVariable("key") String key) 关闭FFmpeg拉流代理 -
getMp4RecordFile
@PostMapping("/record/files") public ServerResponse<Mp4RecordFile> getMp4RecordFile(@RequestBody RecordReq recordReq) 获取录制文件列表 -
deleteRecordDirectory
@PostMapping("/record/delete-directory") public DeleteRecordDirectory deleteRecordDirectory(@RequestBody Map<String, String> params) 删除录像文件夹 -
startRecord
@PostMapping("/record/start") public ServerResponse<String> startRecord(@RequestBody RecordReq recordReq) 开始录制 -
setRecordSpeed
@PostMapping("/record/speed") public ServerResponse<String> setRecordSpeed(@RequestBody RecordReq recordReq) 设置录像速度 -
seekRecordStamp
@PostMapping("/record/seek") public ServerResponse<String> seekRecordStamp(@RequestBody RecordReq recordReq) 设置录像流播放位置 -
stopRecord
@PostMapping("/record/stop") public ServerResponse<String> stopRecord(@RequestBody RecordReq recordReq) 停止录制 -
isRecording
@PostMapping("/record/status") public ServerResponse<String> isRecording(@RequestBody RecordReq recordReq) 是否正在录制 -
getMp4RecordSummary
@PostMapping("/record/summary") public ServerResponse<String> getMp4RecordSummary(@RequestBody Map<String, String> params) 查询文件概览 -
getSnap
获取截图 -
getRtpInfo
@GetMapping("/rtp/info/{streamId}") public RtpInfoResult getRtpInfo(@PathVariable("streamId") String streamId) 获取rtp推流信息 -
openRtpServer
@PostMapping("/rtp/server/open") public OpenRtpServerResult openRtpServer(@RequestBody OpenRtpServerReq req) 创建RTP服务器 -
openRtpServerMultiplex
@PostMapping("/rtp/server/open-multiplex") public OpenRtpServerResult openRtpServerMultiplex(@RequestBody OpenRtpServerReq req) 创建多路复用RTP服务器 -
connectRtpServer
@PostMapping("/rtp/server/connect") public OpenRtpServerResult connectRtpServer(@RequestBody ConnectRtpServerReq req) 连接RTP服务器 -
closeRtpServer
@DeleteMapping("/rtp/server/{streamId}") public CloseRtpServerResult closeRtpServer(@PathVariable("streamId") String streamId) 关闭RTP服务器 -
updateRtpServerSSRC
@PutMapping("/rtp/server/{streamId}/ssrc/{ssrc}") public ServerResponse<String> updateRtpServerSSRC(@PathVariable("streamId") String streamId, @PathVariable("ssrc") String ssrc) 更新RTP服务器过滤SSRC -
pauseRtpCheck
@PostMapping("/rtp/server/{streamId}/pause-check") public ServerResponse<String> pauseRtpCheck(@PathVariable("streamId") String streamId) 暂停RTP超时检查 -
resumeRtpCheck
@PostMapping("/rtp/server/{streamId}/resume-check") public ServerResponse<String> resumeRtpCheck(@PathVariable("streamId") String streamId) 恢复RTP超时检查 -
listRtpServer
获取RTP服务器列表 -
startSendRtp
@PostMapping("/rtp/send/start") public StartSendRtpResult startSendRtp(@RequestBody StartSendRtpReq req) 开始发送rtp -
startSendRtpPassive
@PostMapping("/rtp/send/start-passive") public StartSendRtpResult startSendRtpPassive(@RequestBody StartSendRtpReq req) 开始tcp passive被动发送rtp -
stopSendRtp
@PostMapping("/rtp/send/stop") public ServerResponse<String> stopSendRtp(@RequestBody CloseSendRtpReq req) 停止发送rtp -
startMultiMp4Publish
@PostMapping("/mp4/publish/start") public ServerResponse startMultiMp4Publish(@RequestBody Map<String, String> params) 多文件推流 -
stopMultiMp4Publish
@PostMapping("/mp4/publish/stop") public ServerResponse stopMultiMp4Publish(@RequestBody Map<String, String> params) 关闭多文件推流 -
loadMP4File
点播mp4文件 -
getStorageSpace
@PostMapping("/storage/space") public ServerResponse<String> getStorageSpace(@RequestBody Map<String, String> params) 获取存储信息 -
getVersionByNode
@GetMapping("/node/{nodeId}/version") public ServerResponse<Version> getVersionByNode(@PathVariable("nodeId") String nodeId) 指定节点获取版本信息 -
getMediaListByNode
@PostMapping("/node/{nodeId}/media/list") public ServerResponse<List<MediaData>> getMediaListByNode(@PathVariable("nodeId") String nodeId, @RequestBody MediaReq mediaReq) 指定节点获取流列表 -
getAllNodes
获取所有节点列表 -
handleIllegalArgumentException
@ExceptionHandler(java.lang.IllegalArgumentException.class) public ServerResponse<String> handleIllegalArgumentException(IllegalArgumentException e) 处理节点不存在异常
-