添加直接播放

This commit is contained in:
xgc 2024-01-18 12:33:23 +08:00
parent 967b3c43fb
commit aac202432d
6 changed files with 30 additions and 20 deletions

View File

@ -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 <br>
- protocolrtsp
- urlXXXXX
- 流转换地址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)

View File

@ -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);
}
}
}

View File

@ -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";
}
}

View File

@ -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);
}

View File

@ -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);
}

View File

@ -27,7 +27,10 @@ import java.util.concurrent.ConcurrentHashMap;
public class FLVService implements IFLVService {
private ConcurrentHashMap<String, Converter> 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);