添加直接播放
This commit is contained in:
parent
967b3c43fb
commit
aac202432d
10
README.md
10
README.md
@ -37,9 +37,17 @@ public class RtspDataService implements IOpenFLVService {
|
|||||||
```yml
|
```yml
|
||||||
easy.flv.host=http://localhost:8200
|
easy.flv.host=http://localhost:8200
|
||||||
```
|
```
|
||||||
### 第四步:使用
|
### 第四步:实现interface使用
|
||||||
|
|
||||||
- 流转换地址:GET http://ip:port/get/flv/hls/stream_{channel}.flv
|
- 流转换地址:GET http://ip:port/get/flv/hls/stream_{channel}.flv
|
||||||
- 浏览器直接播放测试: GET http://ip:port/flv/hls/stream_{channel}.flv
|
- 浏览器直接播放测试: GET http://ip:port/flv/hls/stream_{channel}.flv
|
||||||
|
|
||||||
|
### 第五步:不想实现interface使用
|
||||||
|
原地址:rtsp://XXXXXXXX <br>
|
||||||
|
- 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
|
||||||
|
|
||||||

|

|
||||||

|

|
||||||
|
@ -32,5 +32,11 @@ public class FLVController {
|
|||||||
service.open(channel,url, response, request);
|
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);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -16,6 +16,7 @@ import org.springframework.web.bind.annotation.PathVariable;
|
|||||||
public class FLVPlayController {
|
public class FLVPlayController {
|
||||||
@Autowired
|
@Autowired
|
||||||
private FlvConfig flvConfig;
|
private FlvConfig flvConfig;
|
||||||
|
|
||||||
@GetMapping(value = "/flv/hls/stream_{channel}.flv")
|
@GetMapping(value = "/flv/hls/stream_{channel}.flv")
|
||||||
public String getAppHtml(@PathVariable(value = "channel") Integer channel, Model model) {
|
public String getAppHtml(@PathVariable(value = "channel") Integer channel, Model model) {
|
||||||
String videoPath=flvConfig.getHost()+"/get/flv/hls/stream_"+channel+".flv";
|
String videoPath=flvConfig.getHost()+"/get/flv/hls/stream_"+channel+".flv";
|
||||||
@ -24,4 +25,12 @@ public class FLVPlayController {
|
|||||||
model.addAttribute("height", flvConfig.getHeight());
|
model.addAttribute("height", flvConfig.getHeight());
|
||||||
return "video";
|
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";
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -12,5 +12,6 @@ public interface IFLVService {
|
|||||||
* @param response
|
* @param response
|
||||||
*/
|
*/
|
||||||
public void open(Integer channel,String url, HttpServletResponse response, HttpServletRequest request);
|
public void open(Integer channel,String url, HttpServletResponse response, HttpServletRequest request);
|
||||||
|
public void open(String url, HttpServletResponse response, HttpServletRequest request);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -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);
|
|
||||||
|
|
||||||
}
|
|
@ -27,7 +27,10 @@ import java.util.concurrent.ConcurrentHashMap;
|
|||||||
public class FLVService implements IFLVService {
|
public class FLVService implements IFLVService {
|
||||||
|
|
||||||
private ConcurrentHashMap<String, Converter> converters = new ConcurrentHashMap<>();
|
private ConcurrentHashMap<String, Converter> converters = new ConcurrentHashMap<>();
|
||||||
|
@Override
|
||||||
|
public void open(String url, HttpServletResponse response, HttpServletRequest request) {
|
||||||
|
open(null,url,response,request);
|
||||||
|
}
|
||||||
@Override
|
@Override
|
||||||
public void open(Integer channel,String url, HttpServletResponse response, HttpServletRequest request) {
|
public void open(Integer channel,String url, HttpServletResponse response, HttpServletRequest request) {
|
||||||
String key = md5(url);
|
String key = md5(url);
|
||||||
|
Loading…
Reference in New Issue
Block a user