From 56859d09df8d4226882d43934acf32d60a3b51d7 Mon Sep 17 00:00:00 2001
From: panlinlin <648540858@qq.com>
Date: 星期二, 30 三月 2021 18:46:34 +0800
Subject: [PATCH] 添加推流列表和拉流代理,下一步与国标关联

---
 src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMRESTfulUtils.java |   69 +++++++++++++++++++++++++++++++++-
 1 files changed, 67 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 3cb6506..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(){
@@ -87,4 +119,37 @@
     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