From 7dc8fd4a1e8c5afb6fad53454935419c239838c0 Mon Sep 17 00:00:00 2001
From: panlinlin <648540858@qq.com>
Date: 星期四, 01 四月 2021 18:06:21 +0800
Subject: [PATCH] 添加拉流代理与国标关联, 支持代理rtsp/rtmp/...,转发到国标
---
src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMRESTfulUtils.java | 73 +++++++++++++++++++++++++++++++++++-
1 files changed, 71 insertions(+), 2 deletions(-)
diff --git a/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMRESTfulUtils.java b/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMRESTfulUtils.java
index 01aa341..21752a0 100644
--- a/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMRESTfulUtils.java
+++ b/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMRESTfulUtils.java
@@ -9,8 +9,8 @@
import org.springframework.stereotype.Component;
import java.io.IOException;
+import java.net.ConnectException;
import java.util.HashMap;
-import java.util.HashSet;
import java.util.Map;
@Component
@@ -55,7 +55,10 @@
responseJSON = JSON.parseObject(responseStr);
}
}
- } catch (IOException e) {
+ } catch (ConnectException e) {
+ logger.error(String.format("杩炴帴ZLM澶辫触: %s, %s", e.getCause().getMessage(), e.getMessage()));
+ logger.info("璇锋鏌edia閰嶇疆骞剁‘璁LM宸插惎鍔�...");
+ }catch (IOException e) {
e.printStackTrace();
}
@@ -70,10 +73,39 @@
return sendPost("getMediaList",param);
}
+ public JSONObject getMediaList(){
+ return sendPost("getMediaList",null);
+ }
+
+ public JSONObject getMediaInfo(String app, String schema, String stream){
+ Map<String, Object> param = new HashMap<>();
+ param.put("app",app);
+ param.put("schema",schema);
+ param.put("stream",stream);
+ param.put("vhost","__defaultVhost__");
+ return sendPost("getMediaInfo",param);
+ }
+
public JSONObject getRtpInfo(String stream_id){
Map<String, Object> param = new HashMap<>();
param.put("stream_id",stream_id);
return sendPost("getRtpInfo",param);
+ }
+
+ public JSONObject addFFmpegSource(String src_url, String dst_url, String timeout_ms){
+ System.out.println(src_url);
+ System.out.println(dst_url);
+ Map<String, Object> param = new HashMap<>();
+ param.put("src_url", src_url);
+ param.put("dst_url", dst_url);
+ param.put("timeout_ms", timeout_ms);
+ return sendPost("addFFmpegSource",param);
+ }
+
+ public JSONObject delFFmpegSource(String key){
+ Map<String, Object> param = new HashMap<>();
+ param.put("key", key);
+ return sendPost("delFFmpegSource",param);
}
public JSONObject getMediaServerConfig(){
@@ -83,4 +115,41 @@
public JSONObject setServerConfig(Map<String, Object> param){
return sendPost("setServerConfig",param);
}
+
+ public JSONObject openRtpServer(Map<String, Object> param){
+ return sendPost("openRtpServer",param);
+ }
+
+ public JSONObject closeRtpServer(Map<String, Object> param) {
+ return sendPost("closeRtpServer",param);
+ }
+
+ public JSONObject startSendRtp(Map<String, Object> param) {
+ return sendPost("startSendRtp",param);
+ }
+
+ public JSONObject stopSendRtp(Map<String, Object> param) {
+ return sendPost("stopSendRtp",param);
+ }
+
+ public JSONObject addStreamProxy(String app, String stream, String url, boolean enable_hls, boolean enable_mp4, String rtp_type) {
+ Map<String, Object> param = new HashMap<>();
+ param.put("vhost", "__defaultVhost__");
+ param.put("app", app);
+ param.put("stream", stream);
+ param.put("url", url);
+ param.put("enable_hls", enable_hls?1:0);
+ param.put("enable_mp4", enable_mp4?1:0);
+ param.put("rtp_type", rtp_type);
+ return sendPost("addStreamProxy",param);
+ }
+
+ public JSONObject closeStreams(String app, String stream) {
+ Map<String, Object> param = new HashMap<>();
+ param.put("vhost", "__defaultVhost__");
+ param.put("app", app);
+ param.put("stream", stream);
+ param.put("force", 1);
+ return sendPost("close_streams",param);
+ }
}
--
Gitblit v1.8.0