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完整测试用例
---
/dev/null | 56 ------------------
src/main/resources/application.properties | 6 +
src/main/java/com/hbbh/adapter/config/Swagger2Conf.java | 6 +-
src/main/java/com/hbbh/adapter/manager/MonibucaManager.java | 5 +
src/main/java/com/hbbh/adapter/manager/impl/MonibucaManagerImpl.java | 30 +++++++++
src/main/java/com/hbbh/adapter/controller/api/MonibucaAPI.java | 2
src/main/resources/public/index.html | 9 ++
src/main/java/com/hbbh/adapter/controller/MonibucaController.java | 13 +++-
README.md | 2
9 files changed, 61 insertions(+), 68 deletions(-)
diff --git a/README.md b/README.md
index 7d42cb7..23289b9 100644
--- a/README.md
+++ b/README.md
@@ -6,7 +6,7 @@
## V1.0
#### 准备工作
- 运行Monica实例机器IP
-
+- application.properties 必须配置: monica.ip , monica.port
#### 已有功能
- 将rtsp流转换成 HLS,WebRTC,FLV.js,Jessibuca 并进行H5播放
diff --git a/src/main/java/com/hbbh/adapter/config/Swagger2Conf.java b/src/main/java/com/hbbh/adapter/config/Swagger2Conf.java
index 3886441..9fa609b 100644
--- a/src/main/java/com/hbbh/adapter/config/Swagger2Conf.java
+++ b/src/main/java/com/hbbh/adapter/config/Swagger2Conf.java
@@ -12,8 +12,8 @@
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;
-//@Configuration
-//@EnableSwagger2
+@Configuration
+@EnableSwagger2
public class Swagger2Conf extends WebMvcConfigurationSupport {
@Bean
@@ -41,7 +41,7 @@
registry.addResourceHandler("/**").addResourceLocations(
"classpath:/static/");
registry.addResourceHandler("swagger-ui.html").addResourceLocations(
- "classpath:/META-INF/resources/public/");
+ "classpath:/META-INF/resources/");
registry.addResourceHandler("/webjars/**").addResourceLocations(
"classpath:/META-INF/resources/webjars/");
super.addResourceHandlers(registry);
diff --git a/src/main/java/com/hbbh/adapter/controller/MonibucaController.java b/src/main/java/com/hbbh/adapter/controller/MonibucaController.java
index df7dc40..121c186 100644
--- a/src/main/java/com/hbbh/adapter/controller/MonibucaController.java
+++ b/src/main/java/com/hbbh/adapter/controller/MonibucaController.java
@@ -26,7 +26,7 @@
@Override
@RequestMapping(value = "/test/video", method = RequestMethod.GET)
- @ApiOperation("test")
+ @ApiOperation("parse")
public String parseVideoRTSP() {
try {
String result = monibucaManager.parseVideo();
@@ -39,7 +39,14 @@
}
@Override
- public void stopStream(String param) {
-
+ @RequestMapping(value = "/video/stop", method = RequestMethod.GET)
+ @ApiOperation("stop")
+ public void stopStream(@RequestParam("param")String param) {
+ try {
+ monibucaManager.stopStream(param);
+ } catch (Exception e) {
+ log.error("接口:com.hbbh.adapter.controller.api.MonibucaAPIController.parseVideoRTSP 调用失败");
+ e.printStackTrace();
+ }
}
}
diff --git a/src/main/java/com/hbbh/adapter/controller/api/MonibucaAPI.java b/src/main/java/com/hbbh/adapter/controller/api/MonibucaAPI.java
index 0dd7e33..51f3e2f 100644
--- a/src/main/java/com/hbbh/adapter/controller/api/MonibucaAPI.java
+++ b/src/main/java/com/hbbh/adapter/controller/api/MonibucaAPI.java
@@ -15,8 +15,8 @@
public String parseVideoRTSP();
/**
+ * 中止已经产生的视频流
* @param param streamPath地址
- * 示例: http://localhost:8081/api/stop?stream=live/test
*/
public void stopStream(String param);
}
diff --git a/src/main/java/com/hbbh/adapter/enums/TableEnum.java b/src/main/java/com/hbbh/adapter/enums/TableEnum.java
deleted file mode 100644
index d55f9f8..0000000
--- a/src/main/java/com/hbbh/adapter/enums/TableEnum.java
+++ /dev/null
@@ -1,56 +0,0 @@
-package com.hbbh.adapter.enums;
-
-
-import java.util.HashMap;
-import java.util.Map;
-
-/**
- * 表
- *
- * 注意:严格顺序要求
- *
- * @author
- */
-public enum TableEnum {
-
- SMS("SMS", 11),
- DLZ_PLC("DLZ_PLC", 10),
- DJW_PLC("DJW_PLC", 9),
- BDS_PLC("BDS_PLC", 8),
- KTNZ2C_PLC("KTNZ2C_PLC", 7),
- //TODO:
- ;
-
- private final String tableName;
- private final int id;
-
-
- TableEnum(String tableName, int id) {
- this.tableName = tableName;
- this.id = id;
- }
-
- public String getTableName() {
- return tableName;
- }
-
- public int getId() {
- return id;
- }
-
- private static Map<String, TableEnum> maps = new HashMap<>();
-
- static {
- for (TableEnum item : TableEnum.values()) {
- maps.put(item.getTableName(), item);
- }
- }
-
- public static TableEnum getByType(final String tableName) {
- if (tableName == null) {
- return null;
- }
- return maps.get(tableName);
- }
-
-}
diff --git a/src/main/java/com/hbbh/adapter/manager/MonibucaManager.java b/src/main/java/com/hbbh/adapter/manager/MonibucaManager.java
index 427f4f8..56abf72 100644
--- a/src/main/java/com/hbbh/adapter/manager/MonibucaManager.java
+++ b/src/main/java/com/hbbh/adapter/manager/MonibucaManager.java
@@ -21,4 +21,9 @@
*
*/
String parseVideo();
+
+ /**
+ * @param param StreamPath 是发布流的唯一标识
+ */
+ void stopStream(String param);
}
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 772e423..c02e030 100644
--- a/src/main/java/com/hbbh/adapter/manager/impl/MonibucaManagerImpl.java
+++ b/src/main/java/com/hbbh/adapter/manager/impl/MonibucaManagerImpl.java
@@ -7,6 +7,9 @@
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;
@@ -16,12 +19,23 @@
@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监控 ===========
@@ -37,7 +51,7 @@
String url="http://localhost:8081/rtsp/pull";
Map<String, String> params = Maps.newLinkedHashMap();
params.put("target",rtspDemo);
- params.put("streamPath","live/test");
+ params.put("streamPath",streamPath);
String result = HttpClientUtil.doGet(url, params);
@@ -50,4 +64,18 @@
}
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);
+ }
}
diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties
index 84d4896..40208bc 100644
--- a/src/main/resources/application.properties
+++ b/src/main/resources/application.properties
@@ -41,4 +41,8 @@
famehistory.ip=192.168.1.120
#springmvc访问静态页
-spring.mvc.static-path-pattern=/public/*
\ No newline at end of file
+spring.mvc.static-path-pattern=/public/*
+
+#Monibuca info
+monica.ip=localhost
+monica.port=8081
\ No newline at end of file
diff --git a/src/main/resources/public/index.html b/src/main/resources/public/index.html
index b002e56..c28004a 100755
--- a/src/main/resources/public/index.html
+++ b/src/main/resources/public/index.html
@@ -142,7 +142,12 @@
}
isPlaying = false;
- stop();
+ $.get("http://127.0.0.1:8088/monica/video/stop?param=live/test", function () {
+ alert("视频流已关闭");
+ h5lc.close()
+ }
+ );
+ //stop();
$playDom.style.display = 'block';
$stopDom.style.display = 'none';
@@ -153,7 +158,7 @@
//h5lc.play("ws://" + (firstResponseIp || source) + ":8080/live/" + stream)
//h5lc.play("ws://pull2.afb1188.com/live/" + stream + ".flv")
//h5lc.play("ws://localhost:8080/live/" + stream)
- h5lc.play("ws://localhost:8080/live/test.flv")
+ //h5lc.play("ws://localhost:8080/live/test.flv")
// h5lc.play("ws://119.9.118.39:8080/live/user1", canvas)
// h5lc.play("ws://test.qihaipi.com/gnddragon/test.flv", canvas)
// h5lc.play("ws://localhost:8080/live/test.flv", canvas)
--
Gitblit v1.9.1