Przeglądaj źródła

在余学轩接口里添加苹果手机看监控视频属性

zhuoning 3 lat temu
rodzic
commit
786f8734f1

+ 6 - 7
huimv-farm-video/src/main/java/com/huimv/video/video/controller/CameraController.java

@@ -55,7 +55,6 @@ public class CameraController {
         return new Result(ResultCode.SUCCESS,"删除成功");
     }
 
-
     @PostMapping("/getCameraDetails")
     private Result getCameraDetails(@RequestBody CameraListsVo cameraListsVo){
 
@@ -64,12 +63,12 @@ public class CameraController {
     }
 
     //返回苹果手机看监控视频地址
-    @PostMapping("/getCameraDetails2")
-    private Result getCameraDetails2(@RequestBody CameraListsVo cameraListsVo){
-        //
-        List list =  cameraService.getCameraDetails2(cameraListsVo);
-        return new Result(ResultCode.SUCCESS,list);
-    }
+//    @PostMapping("/getCameraDetails2")
+//    private Result getCameraDetails2(@RequestBody CameraListsVo cameraListsVo){
+//        //
+//        List list =  cameraService.getCameraDetails2(cameraListsVo);
+//        return new Result(ResultCode.SUCCESS,list);
+//    }
 
     @GetMapping("/getCameraDetailsByRoomId")
     private Result getCameraDetailsByRoomId(@RequestParam(name = "roomId") Integer roomId){

+ 66 - 0
huimv-farm-video/src/main/java/com/huimv/video/video/service/impl/CameraServiceImpl.java

@@ -105,6 +105,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;