diff --git a/README.md b/README.md index f727f57..e89ae53 100644 --- a/README.md +++ b/README.md @@ -37,9 +37,17 @@ public class RtspDataService implements IOpenFLVService { ```yml easy.flv.host=http://localhost:8200 ``` -### 第四步:使用 +### 第四步:实现interface使用 - 流转换地址:GET http://ip:port/get/flv/hls/stream_{channel}.flv - 浏览器直接播放测试: GET http://ip:port/flv/hls/stream_{channel}.flv + +### 第五步:不想实现interface使用 + 原地址:rtsp://XXXXXXXX
+- protocol:rtsp +- url:XXXXX +- 流转换地址:GET http://ip:port/get/flv/hls/stream_rtsp?url=XXXXXX +- 浏览器直接播放测试: GET http://ip:port/flv/hls/stream_rtsp?url=XXXXXX + ![img_1.png](img_1.png) ![img.png](img.png) diff --git a/src/main/java/com/gc/easy/flv/controller/FLVController.java b/src/main/java/com/gc/easy/flv/controller/FLVController.java index 66d1c82..22dd991 100644 --- a/src/main/java/com/gc/easy/flv/controller/FLVController.java +++ b/src/main/java/com/gc/easy/flv/controller/FLVController.java @@ -32,5 +32,11 @@ public class FLVController { service.open(channel,url, response, request); } } - + @GetMapping(value = "/get/flv/hls/stream_{protocol}") + public void open1(@PathVariable(value = "protocol") String protocol,String url, HttpServletResponse response, + HttpServletRequest request) { + if(!StringUtils.isEmpty(url)&&!StringUtils.isEmpty(protocol)){ + service.open(protocol+"://"+url, response, request); + } + } } diff --git a/src/main/java/com/gc/easy/flv/controller/FLVPlayController.java b/src/main/java/com/gc/easy/flv/controller/FLVPlayController.java index 635d02a..c11c45a 100644 --- a/src/main/java/com/gc/easy/flv/controller/FLVPlayController.java +++ b/src/main/java/com/gc/easy/flv/controller/FLVPlayController.java @@ -16,6 +16,7 @@ import org.springframework.web.bind.annotation.PathVariable; public class FLVPlayController { @Autowired private FlvConfig flvConfig; + @GetMapping(value = "/flv/hls/stream_{channel}.flv") public String getAppHtml(@PathVariable(value = "channel") Integer channel, Model model) { String videoPath=flvConfig.getHost()+"/get/flv/hls/stream_"+channel+".flv"; @@ -24,4 +25,12 @@ public class FLVPlayController { model.addAttribute("height", flvConfig.getHeight()); return "video"; } + @GetMapping(value = "/flv/hls/stream_{protocol}") + public String getAppHtml1(@PathVariable(value = "protocol") String protocol,String url, Model model) { + String videoPath=flvConfig.getHost()+"/get/flv/hls/stream_"+protocol+"?url="+url; + model.addAttribute("videoPath", videoPath); + model.addAttribute("wight", flvConfig.getWight()); + model.addAttribute("height", flvConfig.getHeight()); + return "video"; + } } diff --git a/src/main/java/com/gc/easy/flv/service/IFLVService.java b/src/main/java/com/gc/easy/flv/service/IFLVService.java index 8453b9a..81b8bc5 100644 --- a/src/main/java/com/gc/easy/flv/service/IFLVService.java +++ b/src/main/java/com/gc/easy/flv/service/IFLVService.java @@ -12,5 +12,6 @@ public interface IFLVService { * @param response */ public void open(Integer channel,String url, HttpServletResponse response, HttpServletRequest request); + public void open(String url, HttpServletResponse response, HttpServletRequest request); } diff --git a/src/main/java/com/gc/easy/flv/service/IOutputStreamService.java b/src/main/java/com/gc/easy/flv/service/IOutputStreamService.java deleted file mode 100644 index 4758b9e..0000000 --- a/src/main/java/com/gc/easy/flv/service/IOutputStreamService.java +++ /dev/null @@ -1,17 +0,0 @@ -package com.gc.easy.flv.service; - -import com.gc.easy.flv.factories.state.OutputImage; - -public interface IOutputStreamService { - - //是否回写流 - public boolean write(); - - /** - * 通过通道号获取url - * @param image 需要处理的图片 - * @return 处理后的图片 - */ - public byte[] handler(OutputImage image); - -} \ No newline at end of file diff --git a/src/main/java/com/gc/easy/flv/service/impl/FLVService.java b/src/main/java/com/gc/easy/flv/service/impl/FLVService.java index 8d3ef5c..98ceddf 100644 --- a/src/main/java/com/gc/easy/flv/service/impl/FLVService.java +++ b/src/main/java/com/gc/easy/flv/service/impl/FLVService.java @@ -27,7 +27,10 @@ import java.util.concurrent.ConcurrentHashMap; public class FLVService implements IFLVService { private ConcurrentHashMap converters = new ConcurrentHashMap<>(); - + @Override + public void open(String url, HttpServletResponse response, HttpServletRequest request) { + open(null,url,response,request); + } @Override public void open(Integer channel,String url, HttpServletResponse response, HttpServletRequest request) { String key = md5(url);