开源流媒体服务器ZLMediaKit 的Java Api实现的Java版ZLMediaKit流媒体服务器-二开视频对话
安全性:使用了WSS(WebSocket Secure)协议确保通信安全 兼容性:支持现代浏览器的WebRTC功能 信令机制:通过WebSocket进行信令交换,确保连接建立 媒体传输:使用STUN服务器进行NAT穿透,实现P2P连接 您的流媒体服务器现在支持完整的WebRTC功能,包括: 基于WebSocket的信令交换 视频通话功能 现有的WebRTC拉流功能 安全域名配置
j-media-server2: 安全性:使用了WSS(WebSocket Secure)协议确保通信安全 兼容性:支持现代浏览器的WebRTC功能 信令机制:通过WebSocket进行信令交换,确保连接建立 媒体传输:使用STUN服务器进行NAT穿透,实现P2P连接 您的流媒体服务器现在支持完整的WebRTC功能,包括: 基于WebSocket的信令交换 视频通话功能 现有的WebRTC拉流功能 安全域名配置
项目功能
- 接口(可以使用knife4j):
- 拉流代理接口:/index/api/addStreamProxy
- 关闭拉流代理接口:/index/api/delStreamProxy
- 推流代理接口:/index/api/addStreamPusherProxy
- 关闭推流代理接口:/index/api/delStreamPusherProxy
- 关闭流接口:/index/api/close_stream&/index/api/close_streams
- 在线流列表接口:/index/api/getMediaList
- 流详情:/index/api/getMediaInfo
- 流是否在线:/index/api/isMediaOnline
- 开始录像接口:/index/api/startRecord
- 停止录像接口:/index/api/stopRecord
- 获取录像状态接口:/index/api/isRecording
- 获取内存资源信息:/index/api/getStatistic
- 获取服务器配置:/index/api/getServerConfig
- 设置服务器配置:/index/api/setServerConfig
- 开启rtp服务:/index/api/openRtpServer
- 关闭rtp服务:/index/api/closeRtpServer
- 获取rtp服务列表:/index/api/listRtpServer
- 截图:/index/api/getSnap
- 转码(beta) :/index/api/transcode
- 开始拼接屏任务(beta) :/index/api/stack/start
- 重设拼接屏任务(beta) :/index/api/stack/rest
- 停止拼接屏任务(beta) :/index/api/stack/stop
- 开发中:😁
- 回调实现:
- MKHttpAccessCallBack:http鉴权回调
- MKHttpBeforeAccessCallBack:http前置鉴权回调
- MKHttpFlowReportCallBack:码流数据统计回调
- MKHttpRequestCallBack:http请求回调
- MKLogCallBack:日志回调
- MKNoFoundCallBack:未找到流回调
- MKNoReaderCallBack:无人观看回调
- MKPlayCallBack:播放回调
- MKProxyPlayCloseCallBack:流代理关闭回调
- MKPublishCallBack:推流回调
- MKRecordMp4CallBack:录制回调
- MKSourceFindCallBack:找不到流回调
- MKStreamChangeCallBack:流上下回调
- 流相关(注意rtmp_port、rtsp_port、http_port(非Spring Mvc端口)等参见application.yml,流APP、流名称可自定义):
- RTMP推流:rtmp://ip:rtmp_port/流APP/流名称
- FLV拉流:http://ip:http_port/流APP/流名称.live.flv
- WS-FLV拉流:ws://ip:http_port/流APP/流名称.live.flv
- HLS拉流:http://ip:http_port/流APP/流名称/hls.m3u8
- RTMP拉流:rtmp://ip:rtmp_port/流APP/流名称
- RTSP拉流:rtsp://ip:rtsp_port/流APP/流名称
😁项目组成
- 本项目基于Spring Boot 2.7.12版本,使用undertow作为web容器,使用knife4j作为接口文档,
- 本项目基于最新ZLM4J开发完成