|
@@ -103,6 +103,72 @@ public class CameraServiceImpl extends ServiceImpl<CameraMapper, Camera> impleme
|
|
|
cameraListVo.setBrandId(cameraListsVo.getBrandId());
|
|
|
cameraListVo.setSort(cameraListsVo.getSort());
|
|
|
|
|
|
+ if (cameraIds == null || cameraIds.size() == 0){
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+ List cameraDetailsList = new ArrayList();
|
|
|
+ IPage<Camera> page = (IPage<Camera>)this.listPage(cameraListVo).getData();
|
|
|
+ List<Camera> list = page.getRecords();
|
|
|
+ int i = 0;
|
|
|
+ final String farmAppPort = "8081";
|
|
|
+ final String farmVideoApp = "/appleVideo/play?";
|
|
|
+ final String hlsMediaPort= "85";
|
|
|
+ for (Camera camera : list) {
|
|
|
+ for (Integer cameraId : cameraIds) {
|
|
|
+ if (cameraId.equals( camera.getId())){
|
|
|
+
|
|
|
+ String cameraAccount = camera.getAccount();
|
|
|
+ String cameraPassword = camera.getPassword();
|
|
|
+ String camerIp = camera.getCameraIp();
|
|
|
+ String cameraName = camera.getCameraName();
|
|
|
+ Integer areaId = camera.getAreaId();
|
|
|
+ String url = cameraAreaMapper.selectById(areaId).getPublicUrl();
|
|
|
+ String rtsp ;
|
|
|
+ CameraBrand cameraBrand = cameraBrandMapper.selectById(camera.getBrandId());
|
|
|
+ Integer type = cameraBrand.getStreamType();
|
|
|
+ if (type == 0){
|
|
|
+ rtsp = cameraBrand.getMainStream();
|
|
|
+ }else {
|
|
|
+ rtsp = cameraBrand.getAssistStream();
|
|
|
+ }
|
|
|
+ CameraVo cameraVo= new CameraVo();
|
|
|
+ cameraVo.setAreaId(areaId);
|
|
|
+ cameraVo.setWsUrl("ws://" + url + "/camera_relay?tcpaddr=" + cameraAccount + "%3A" + cameraPassword + "%40" + camerIp);
|
|
|
+ cameraVo.setRtspUrl("rtsp://" + cameraAccount + ":" + cameraPassword + "@" + camerIp + rtsp);
|
|
|
+ cameraVo.setCameraName(cameraName);
|
|
|
+ cameraVo.setHttpUrl(handleHlsHttpUrl(url,cameraAccount,cameraPassword,camerIp,farmAppPort,farmVideoApp,hlsMediaPort));
|
|
|
+ if (i > 0){
|
|
|
+ cameraVo.setLastId(list.get(i-1).getId());
|
|
|
+ }
|
|
|
+ if (i < list.size()-1 ){
|
|
|
+ cameraVo.setNextId(list.get(i+1).getId());
|
|
|
+ }
|
|
|
+ cameraDetailsList.add(cameraVo);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ i++;
|
|
|
+ }
|
|
|
+ return cameraDetailsList;
|
|
|
+ }
|
|
|
+
|
|
|
+ //构造HlsHttp地址
|
|
|
+ private String handleHlsHttpUrl(String url, String cameraAccount, String cameraPassword, String camerIp, String farmAppPort, String farmVideoApp, String hlsMediaPort) {
|
|
|
+ url = url.substring(0,url.indexOf(":"));
|
|
|
+ url="http://"+url;
|
|
|
+ return url+":"+farmAppPort+farmVideoApp+"url="+cameraAccount + ":" + cameraPassword + "@" + camerIp+"&name="+"&dt=3000&targetUrl="+url+":"+hlsMediaPort;
|
|
|
+ }
|
|
|
+
|
|
|
+ // @Override
|
|
|
+ public List getCameraDetails_yu(CameraListsVo cameraListsVo) {
|
|
|
+ List<Integer> cameraIds = cameraListsVo.getCameraIds();
|
|
|
+ CameraListVo cameraListVo = new CameraListsVo();
|
|
|
+ cameraListVo.setCurrent(1);
|
|
|
+ cameraListVo.setSize(10000);
|
|
|
+ cameraListVo.setStrchStr(cameraListsVo.getStrchStr());
|
|
|
+ cameraListVo.setAreaId(cameraListsVo.getAreaId());
|
|
|
+ cameraListVo.setBrandId(cameraListsVo.getBrandId());
|
|
|
+ cameraListVo.setSort(cameraListsVo.getSort());
|
|
|
+
|
|
|
|
|
|
if (cameraIds == null || cameraIds.size() == 0) {
|
|
|
return null;
|