From 6f86e7cee012a5798f0e361ec984e1daf36b3c2e Mon Sep 17 00:00:00 2001
From: xc <xucheng@yyigou.com>
Date: Mon, 08 Feb 2021 16:12:30 +0800
Subject: [PATCH] Monica完整测试用例

---
 src/main/java/com/hbbh/adapter/manager/impl/MonibucaManagerImpl.java |   60 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 56 insertions(+), 4 deletions(-)

diff --git a/src/main/java/com/hbbh/adapter/manager/impl/MonibucaManagerImpl.java b/src/main/java/com/hbbh/adapter/manager/impl/MonibucaManagerImpl.java
index e2eea05..c02e030 100644
--- a/src/main/java/com/hbbh/adapter/manager/impl/MonibucaManagerImpl.java
+++ b/src/main/java/com/hbbh/adapter/manager/impl/MonibucaManagerImpl.java
@@ -1,29 +1,81 @@
 package com.hbbh.adapter.manager.impl;
 
+import com.alibaba.fastjson.JSON;
 import com.google.common.collect.Maps;
 import com.hbbh.adapter.manager.MonibucaManager;
+import com.hbbh.adapter.utils.HttpClientUtil;
+import com.hbbh.adapter.vo.CallResult;
+import com.hbbh.adapter.vo.MessageVO;
+import org.apache.commons.lang3.StringUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
 
+import java.util.LinkedHashMap;
 import java.util.Map;
 
 
 @Service
 public class MonibucaManagerImpl implements MonibucaManager {
 
+    private static final Logger log = LoggerFactory.getLogger(Class.class);
 
+
+    @Value("${monica.ip}")
+    private String monicaIP;
+    @Value("${monica.port}")
+    private String monicaPort;
+
+
+    //入参 rtsp视频流
     private String rtspDemo="rtsp://wowzaec2demo.streamlock.net/vod/mp4:BigBuckBunny_115k.mov";
+
+    //返回结果,通过配置文件即可反推得到 前提是调用 rtsp/pull 接口成功
+    private String jessibucaDemo="ws://localhost:8080/live/test.flv";
+
+    //StreamPath 是发布流的唯一标识
+    private String streamPath="live/test";
 
 
     // =========== monica监控 ===========
 
+    /**
+     * 调用Gateway API
+     * 成功返回 {"code":0}
+     * 失败返回 {"code":1,"msg":"publish badname"}
+     * @return jessibucaDemo
+     */
     @Override
     public String parseVideo() {
         String url="http://localhost:8081/rtsp/pull";
         Map<String, String> params = Maps.newLinkedHashMap();
-
         params.put("target",rtspDemo);
-        params.put("streamPath","live/test");
-        //TODO:解析rtsp视频
-        return null;
+        params.put("streamPath",streamPath);
+
+        String result = HttpClientUtil.doGet(url, params);
+
+
+        Map map = JSON.parseObject(result, Map.class);
+        String code = map.get("code")+"";
+        String msg = map.get("msg")+"";
+        if (!StringUtils.equals("0",code)){
+            return "-1";
+        }
+        return jessibucaDemo;
+    }
+
+    /**
+     *
+     * @param param StreamPath 是发布流的唯一标识
+     * 示例: http://localhost:8081/api/stop?stream=live/test
+     */
+    @Override
+    public void stopStream(String param) {
+        String url="http://"+monicaIP+":"+monicaPort+"/api/stop";
+        Map<String, String> params = Maps.newLinkedHashMap();
+        params.put("stream",param);
+        String result = HttpClientUtil.doGet(url, params);
+        log.info("调用 Monibuca 执行结果 : {}",result);
     }
 }

--
Gitblit v1.9.1