Package io.github.lunasaw.zlm.api
Class ZlmRestService
java.lang.Object
io.github.lunasaw.zlm.api.ZlmRestService
- Version:
- 1.0
- Author:
- luna
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic ServerResponse<StreamKey>addFFmpegSource(String host, String secret, StreamFfmpegItem streamFfmpegItem) static ServerResponse<StreamKey>添加FFmpeg拉流代理static ServerResponse<String>添加探针(探测指定流的编码信息,probeMs 为探针时长,单位毫秒)static ServerResponse<StreamKey>addStreamProxy(String host, String secret, StreamProxyItem streamProxyItem) 添加代理拉流static ServerResponse<StreamKey>添加rtsp/rtmp/hls拉流代理static ServerResponse<StreamKey>addStreamPusherProxy(String host, String secret, StreamPusherItem streamPusherItem) static ServerResponse<StreamKey>添加rtsp/rtmp推流static ServerResponse<String>WebRTC 注册到信令服务器(server_host/server_port/room_id)。static ServerResponse<String>广播webrtc datachannel消息static CloseRtpServerResultcloseRtpServer(String host, String secret, String streamId) 关闭RTP服务器static ServerResponse<String>closeStream(String host, String secret, MediaReq mediaReq) static ServerResponse<String>关断单个流static ServerResponse批量关断流static OpenRtpServerResultconnectRtpServer(String host, String secret, ConnectRtpServerReq req) static OpenRtpServerResult连接RTP服务器static DeleteRecordDirectory删除录像文件夹static ServerResponse<String>deleteSnapDirectory(String host, String secret, MediaReq mediaReq) 删除截图文件夹static ServerResponse<String>删除截图文件夹static ServerResponse<String>deleteWebrtc(String host, String id, String token) 删除 WebRTC 连接(DELETE 方法,id/token 来自 whip/whep 返回的 Location 头)。delFFmpegSource(String host, String secret, String key) 关闭FFmpeg拉流代理delStreamProxy(String host, String secret, String key) 关闭拉流代理delStreamPusherProxy(String host, String secret, String key) 关闭推流static ServerResponse<String>delWebrtcRoomKeeper(String host, String secret, String roomKey) WebRTC 从信令服务器注销(room_key)。static Stringstatic Stringstatic StringPOST + JSON body 调用(用于 stack/start、stack/reset 等 body 提交接口)。 secret 作为 query 参数,jsonBody 作为请求体;不破坏现有doApi(java.lang.String, java.lang.String, java.lang.String, java.util.Map<java.lang.String, java.lang.String>)的 query 提交模型。static StringPOST + 文本 body 调用(用于 webrtc/whip/whep 的 SDP 文本提交,返回也是 SDP 文本)。 query 为查询参数(type/app/stream 等),textBody 为 SDP offer 文本。static StringdownloadBin(String host, String secret, File target) 下载二进制(如配置文件 downloadBin),落盘到本地 target。static String下载文件(按 file_path 下载到本地 target,复用字节流落盘逻辑)。static ServerResponse<List<TcpLink>>getAllSession(String host, String secret, String localPort, String peerIp) 获取所有TcpSession列表(获取所有tcp客户端相关信息)static ServerResponse<List<TcpLink>>获取Session列表static ServerResponse<List<String>>getApiList(String host, String secret) static ServerResponse<List<String>>获取流媒体服务器列表static ServerResponse<MediaInfo>getMediaInfo(String host, String secret, MediaReq mediaReq) static ServerResponse<List<MediaData>>getMediaList(String host, String secret, MediaReq mediaReq) static ServerResponse<List<MediaData>>获取流列表static ServerResponse<MediaPlayer>getMediaPlayerList(String host, String secret, MediaReq mediaReq) static ServerResponse<MediaPlayer>获取媒体流播放器列表static ServerResponse<Mp4RecordFile>getMp4RecordFile(String host, String secret, RecordReq recordReq) static ServerResponse<Mp4RecordFile>获取流信息static ServerResponse<String>查询文件概览static ServerResponse<String>getOnvifStreamUrl(String host, String secret, String onvifUrl) 获取 ONVIF 设备流地址(onvif_url)。static ServerResponse<PlayUrl>getPlaybackUrls(String host, String secret, MediaReq mediaReq) 获取播放地址static ServerResponse<String>获取拉流代理信息static ServerResponse<String>获取推流代理信息static RtpInfoResultgetRtpInfo(String host, String secret, String streamId) 获取rtp推流信息static ServerResponse<List<ServerNodeConfig>>getServerConfig(String host, String secret) 获取服务器配置static StringgetSnap(String host, String secret, SnapshotReq snapshotReq) static String获取截图static ServerResponse<ImportantObjectNum>getStatistic(String host, String secret) 获取主要对象个数static ServerResponse<String>获取存储信息static ServerResponse<List<ThreadLoad>>getThreadsLoad(String host, String secret) 获取网络线程负载static ServerResponse<Version>getVersion(String host, String secret) 获取版本信息static ServerResponse<String>getWebrtcProxyPlayerInfo(String host, String secret, String key) WebRTC 代理播放器信息(key)。static ServerResponse<List<ThreadLoad>>getWorkThreadsLoad(String host, String secret) 获取后台线程负载static MediaOnlineStatusisMediaOnline(String host, String secret, MediaReq mediaReq) static MediaOnlineStatus流是否在线static ServerResponse<String>isRecording(String host, String secret, RecordReq recordReq) static ServerResponse<String>是否正在录制static ServerResponse<String>kickSession(String host, String secret, String sessionId) 断开tcp连接static ServerResponse<String>批量断开tcp连接static ServerResponse<List<StreamFfmpegItem>>listFFmpegSource(String host, String secret) 获取FFmpeg拉流代理列表static ServerResponse<List<String>>listRtpSender(String host, String secret, MediaReq mediaReq) 获取rtp发送列表(指定流的所有 rtp 发送 ssrc)static ServerResponse<List<RtpServer>>listRtpServer(String host, String secret) 获取RTP服务器列表static ServerResponse<List<StreamProxyItem>>listStreamProxy(String host, String secret) 获取拉流代理列表static ServerResponse<List<StreamPusherItem>>listStreamPusherProxy(String host, String secret) 获取推流代理列表static ServerResponse<List<String>>listWebrtcRoomKeepers(String host, String secret) WebRTC 房间守护者列表。static ServerResponse<List<String>>listWebrtcRooms(String host, String secret) WebRTC 房间列表。static ServerResponse<String>点播mp4文件static ServerResponse<String>登录鉴权:digest = MD5("zlmediakit:" + secret + ":" + cookie)。static ServerResponse<String>注销鉴权。static OpenRtpServerResultopenRtpServer(String host, String secret, OpenRtpServerReq req) static OpenRtpServerResult创建RTP服务器static OpenRtpServerResultopenRtpServerMultiplex(String host, String secret, OpenRtpServerReq req) static OpenRtpServerResult创建多路复用RTP服务器static ServerResponse<String>pauseRtpCheck(String host, String secret, String streamId) 暂停RTP超时检查static ServerResponse<Object>重启服务器 重启服务器,只有Daemon方式才能重启,否则是直接关闭!static ServerResponse<String>resumeRtpCheck(String host, String secret, String streamId) 恢复RTP超时检查static ServerResponse<List<String>>searchOnvifDevice(String host, String secret, String subnetPrefix) 搜索 ONVIF 设备(subnet_prefix)。static ServerResponse<String>seekRecordStamp(String host, String secret, RecordReq recordReq) static ServerResponse<String>设置录像流播放位置static ServerResponse<String>setRecordSpeed(String host, String secret, RecordReq recordReq) static ServerResponse<String>设置录像速度static ServerResponse<String>设置服务器配置static ServerResponse<String>stackReset(String host, String secret, StackReq req) 多屏拼接 - 重置(POST JSON body)。static ServerResponse<String>stackStart(String host, String secret, StackReq req) 多屏拼接 - 开始(POST JSON body)。static ServerResponse<String>多屏拼接 - 停止(GET,单参 id)。static ServerResponse<String>多文件推流static ServerResponse<String>startRecord(String host, String secret, RecordReq recordReq) static ServerResponse<String>开始录制static ServerResponse<String>startRecordTask(String host, String secret, RecordTaskReq recordTaskReq) 添加录制任务(支持回溯录制 back_ms 与后续录制 forward_ms)static StartSendRtpResultstartSendRtp(String host, String secret, StartSendRtpReq req) static StartSendRtpResult开始发送rtpstatic StartSendRtpResultstartSendRtpPassive(String host, String secret, StartSendRtpReq req) static StartSendRtpResult开始tcp passive被动发送rtpstatic StartSendRtpResultstartSendRtpTalk(String host, String secret, StartSendRtpTalkReq req) RTP 双向对讲推流(startSendRtpTalk)。static ServerResponse<String>关闭多文件推流static ServerResponse<String>stopRecord(String host, String secret, RecordReq recordReq) static ServerResponse<String>停止录制static ServerResponse<String>stopSendRtp(String host, String secret, CloseSendRtpReq req) static ServerResponse<String>停止 发送rtpstatic ServerResponse<String>updateRtpServerSSRC(String host, String secret, String streamId, String ssrc) 更新RTP服务器过滤SSRCstatic StringWebRTC 交互(body 为 SDP offer,返回 SDP answer 文本)。query 含 type/app/stream。static StringWebRTC WHEP 标准播放(body 为 SDP offer,返回 SDP answer 文本)。static StringWebRTC WHIP 标准推流(body 为 SDP offer,返回 SDP answer 文本)。
-
Constructor Details
-
ZlmRestService
public ZlmRestService()
-
-
Method Details
-
getVersion
获取版本信息 -
getApiList
-
getApiList
public static ServerResponse<List<String>> getApiList(String host, String secret, Map<String, String> params) 获取流媒体服务器列表 -
getThreadsLoad
获取网络线程负载 -
getStatistic
获取主要对象个数 -
getWorkThreadsLoad
获取后台线程负载 -
getServerConfig
获取服务器配置 -
setServerConfig
public static ServerResponse<String> setServerConfig(String host, String secret, Map<String, String> params) 设置服务器配置 -
restartServer
public static ServerResponse<Object> restartServer(String host, String secret, Map<String, String> params) 重启服务器 重启服务器,只有Daemon方式才能重启,否则是直接关闭! -
getMediaList
-
getMediaList
public static ServerResponse<List<MediaData>> getMediaList(String host, String secret, Map<String, String> params) 获取流列表 -
closeStream
-
closeStream
public static ServerResponse<String> closeStream(String host, String secret, Map<String, String> params) 关断单个流 -
closeStreams
批量关断流 -
getAllSession
public static ServerResponse<List<TcpLink>> getAllSession(String host, String secret, String localPort, String peerIp) 获取所有TcpSession列表(获取所有tcp客户端相关信息)- Parameters:
host-secret-localPort- 筛选本机端口,例如筛选rtsp链接:554peerIp- 筛选客户端ip- Returns:
-
getAllSession
public static ServerResponse<List<TcpLink>> getAllSession(String host, String secret, Map<String, String> params) 获取Session列表 -
kickSession
断开tcp连接 -
kickSessions
public static ServerResponse<String> kickSessions(String host, String secret, Map<String, String> params) 批量断开tcp连接 -
addStreamProxy
public static ServerResponse<StreamKey> addStreamProxy(String host, String secret, StreamProxyItem streamProxyItem) 添加代理拉流- Parameters:
host-secret-streamProxyItem-- Returns:
-
addStreamProxy
public static ServerResponse<StreamKey> addStreamProxy(String host, String secret, Map<String, String> params) 添加rtsp/rtmp/hls拉流代理 -
delStreamProxy
public static ServerResponse<StreamKey.StringDelFlag> delStreamProxy(String host, String secret, String key) 关闭拉流代理 -
addStreamPusherProxy
public static ServerResponse<StreamKey> addStreamPusherProxy(String host, String secret, StreamPusherItem streamPusherItem) -
addStreamPusherProxy
public static ServerResponse<StreamKey> addStreamPusherProxy(String host, String secret, Map<String, String> params) 添加rtsp/rtmp推流 -
delStreamPusherProxy
public static ServerResponse<StreamKey.StringDelFlag> delStreamPusherProxy(String host, String secret, String key) 关闭推流 -
addFFmpegSource
public static ServerResponse<StreamKey> addFFmpegSource(String host, String secret, StreamFfmpegItem streamFfmpegItem) -
addFFmpegSource
public static ServerResponse<StreamKey> addFFmpegSource(String host, String secret, Map<String, String> params) 添加FFmpeg拉流代理 -
delFFmpegSource
public static ServerResponse<StreamKey.StringDelFlag> delFFmpegSource(String host, String secret, String key) 关闭FFmpeg拉流代理 -
isMediaOnline
-
isMediaOnline
public static MediaOnlineStatus isMediaOnline(String host, String secret, Map<String, String> params) 流是否在线 -
getMediaPlayerList
public static ServerResponse<MediaPlayer> getMediaPlayerList(String host, String secret, MediaReq mediaReq) -
getMediaPlayerList
public static ServerResponse<MediaPlayer> getMediaPlayerList(String host, String secret, Map<String, String> params) 获取媒体流播放器列表 -
broadcastMessage
public static ServerResponse<String> broadcastMessage(String host, String secret, Map<String, String> params) 广播webrtc datachannel消息 -
getMediaInfo
-
getPlaybackUrls
public static ServerResponse<PlayUrl> getPlaybackUrls(String host, String secret, MediaReq mediaReq) 获取播放地址 -
getMp4RecordFile
public static ServerResponse<Mp4RecordFile> getMp4RecordFile(String host, String secret, RecordReq recordReq) -
getMp4RecordFile
public static ServerResponse<Mp4RecordFile> getMp4RecordFile(String host, String secret, Map<String, String> params) 获取流信息 -
deleteRecordDirectory
public static DeleteRecordDirectory deleteRecordDirectory(String host, String secret, Map<String, String> params) 删除录像文件夹 -
startRecord
-
startRecord
public static ServerResponse<String> startRecord(String host, String secret, Map<String, String> params) 开始录制 -
setRecordSpeed
public static ServerResponse<String> setRecordSpeed(String host, String secret, RecordReq recordReq) -
setRecordSpeed
public static ServerResponse<String> setRecordSpeed(String host, String secret, Map<String, String> params) 设置录像速度 -
seekRecordStamp
public static ServerResponse<String> seekRecordStamp(String host, String secret, RecordReq recordReq) -
seekRecordStamp
public static ServerResponse<String> seekRecordStamp(String host, String secret, Map<String, String> params) 设置录像流播放位置 -
stopRecord
-
stopRecord
public static ServerResponse<String> stopRecord(String host, String secret, Map<String, String> params) 停止录制 -
isRecording
-
isRecording
public static ServerResponse<String> isRecording(String host, String secret, Map<String, String> params) 是否正在录制 -
getSnap
-
getSnap
获取截图 -
getMp4RecordSummary
public static ServerResponse<String> getMp4RecordSummary(String host, String secret, Map<String, String> params) 查询文件概览 -
getRtpInfo
获取rtp推流信息- Parameters:
streamId- RTP的ssrc,16进制字符串或者是流的id(openRtpServer接口指定)
-
openRtpServer
-
openRtpServer
public static OpenRtpServerResult openRtpServer(String host, String secret, Map<String, String> params) 创建RTP服务器 -
openRtpServerMultiplex
public static OpenRtpServerResult openRtpServerMultiplex(String host, String secret, OpenRtpServerReq req) -
openRtpServerMultiplex
public static OpenRtpServerResult openRtpServerMultiplex(String host, String secret, Map<String, String> params) 创建多路复用RTP服务器 -
connectRtpServer
public static OpenRtpServerResult connectRtpServer(String host, String secret, ConnectRtpServerReq req) -
connectRtpServer
public static OpenRtpServerResult connectRtpServer(String host, String secret, Map<String, String> params) 连接RTP服务器 -
closeRtpServer
关闭RTP服务器 -
updateRtpServerSSRC
public static ServerResponse<String> updateRtpServerSSRC(String host, String secret, String streamId, String ssrc) 更新RTP服务器过滤SSRC -
pauseRtpCheck
暂停RTP超时检查 -
resumeRtpCheck
恢复RTP超时检查 -
listRtpServer
获取RTP服务器列表 -
startSendRtp
-
startSendRtp
public static StartSendRtpResult startSendRtp(String host, String secret, Map<String, String> params) 开始发送rtp -
startSendRtpPassive
public static StartSendRtpResult startSendRtpPassive(String host, String secret, StartSendRtpReq req) -
startSendRtpPassive
public static StartSendRtpResult startSendRtpPassive(String host, String secret, Map<String, String> params) 开始tcp passive被动发送rtp -
stopSendRtp
-
stopSendRtp
public static ServerResponse<String> stopSendRtp(String host, String secret, Map<String, String> params) 停止 发送rtp -
getProxyInfo
public static ServerResponse<String> getProxyInfo(String host, String secret, Map<String, String> params) 获取拉流代理信息 -
getProxyPusherInfo
public static ServerResponse<String> getProxyPusherInfo(String host, String secret, Map<String, String> params) 获取推流代理信息 -
startMultiMp4Publish
public static ServerResponse<String> startMultiMp4Publish(String host, String secret, Map<String, String> params) 多文件推流 -
getStorageSpace
public static ServerResponse<String> getStorageSpace(String host, String secret, Map<String, String> params) 获取存储信息 -
stopMultiMp4Publish
public static ServerResponse<String> stopMultiMp4Publish(String host, String secret, Map<String, String> params) 关闭多文件推流 -
loadMP4File
public static ServerResponse<String> loadMP4File(String host, String secret, Map<String, String> params) 点播mp4文件 -
listStreamProxy
获取拉流代理列表 -
listStreamPusherProxy
public static ServerResponse<List<StreamPusherItem>> listStreamPusherProxy(String host, String secret) 获取推流代理列表 -
listFFmpegSource
获取FFmpeg拉流代理列表 -
listRtpSender
public static ServerResponse<List<String>> listRtpSender(String host, String secret, MediaReq mediaReq) 获取rtp发送列表(指定流的所有 rtp 发送 ssrc) -
startRecordTask
public static ServerResponse<String> startRecordTask(String host, String secret, RecordTaskReq recordTaskReq) 添加录制任务(支持回溯录制 back_ms 与后续录制 forward_ms) -
deleteSnapDirectory
public static ServerResponse<String> deleteSnapDirectory(String host, String secret, MediaReq mediaReq) 删除截图文件夹 -
deleteSnapDirectory
public static ServerResponse<String> deleteSnapDirectory(String host, String secret, Map<String, String> params) 删除截图文件夹 -
addProbe
public static ServerResponse<String> addProbe(String host, String secret, MediaReq mediaReq, int probeMs) 添加探针(探测指定流的编码信息,probeMs 为探针时长,单位毫秒) -
startSendRtpTalk
public static StartSendRtpResult startSendRtpTalk(String host, String secret, StartSendRtpTalkReq req) RTP 双向对讲推流(startSendRtpTalk)。 -
downloadFile
public static String downloadFile(String host, String secret, String filePath, String saveName, File target) 下载文件(按 file_path 下载到本地 target,复用字节流落盘逻辑)。- Parameters:
filePath- ZLM 服务器上的文件绝对路径saveName- 浏览器下载文件名(可选,可为 null)target- 本地落盘目标文件- Returns:
- 落盘后的绝对路径,失败返回 null
-
downloadBin
下载二进制(如配置文件 downloadBin),落盘到本地 target。 -
stackStart
多屏拼接 - 开始(POST JSON body)。 -
stackReset
多屏拼接 - 重置(POST JSON body)。 -
stackStop
多屏拼接 - 停止(GET,单参 id)。 -
addWebrtcRoomKeeper
public static ServerResponse<String> addWebrtcRoomKeeper(String host, String secret, Map<String, String> params) WebRTC 注册到信令服务器(server_host/server_port/room_id)。 -
delWebrtcRoomKeeper
public static ServerResponse<String> delWebrtcRoomKeeper(String host, String secret, String roomKey) WebRTC 从信令服务器注销(room_key)。 -
listWebrtcRoomKeepers
WebRTC 房间守护者列表。 -
listWebrtcRooms
WebRTC 房间列表。 -
getWebrtcProxyPlayerInfo
public static ServerResponse<String> getWebrtcProxyPlayerInfo(String host, String secret, String key) WebRTC 代理播放器信息(key)。 -
webrtc
WebRTC 交互(body 为 SDP offer,返回 SDP answer 文本)。query 含 type/app/stream。 -
whip
WebRTC WHIP 标准推流(body 为 SDP offer,返回 SDP answer 文本)。 -
whep
WebRTC WHEP 标准播放(body 为 SDP offer,返回 SDP answer 文本)。 -
deleteWebrtc
删除 WebRTC 连接(DELETE 方法,id/token 来自 whip/whep 返回的 Location 头)。 -
searchOnvifDevice
public static ServerResponse<List<String>> searchOnvifDevice(String host, String secret, String subnetPrefix) 搜索 ONVIF 设备(subnet_prefix)。 -
getOnvifStreamUrl
获取 ONVIF 设备流地址(onvif_url)。 -
login
登录鉴权:digest = MD5("zlmediakit:" + secret + ":" + cookie)。 -
logout
注销鉴权。 -
doApi
-
doApiImg
-
doApiJson
POST + JSON body 调用(用于 stack/start、stack/reset 等 body 提交接口)。 secret 作为 query 参数,jsonBody 作为请求体;不破坏现有doApi(java.lang.String, java.lang.String, java.lang.String, java.util.Map<java.lang.String, java.lang.String>)的 query 提交模型。 -
doApiText
public static String doApiText(String host, String secret, String path, Map<String, String> query, String textBody) POST + 文本 body 调用(用于 webrtc/whip/whep 的 SDP 文本提交,返回也是 SDP 文本)。 query 为查询参数(type/app/stream 等),textBody 为 SDP offer 文本。
-