任敬轩 преди 3 години
родител
ревизия
ee959ec1dd
променени са 2 файла, в които са добавени 67 реда и са изтрити 1 реда
  1. 34 1
      Modules/Camera/Http/Controllers/Api/CameraApiController.php
  2. 33 0
      Modules/Camera/Http/Controllers/Api/HaiKangController.php

+ 34 - 1
Modules/Camera/Http/Controllers/Api/CameraApiController.php

@@ -228,7 +228,40 @@ class CameraApiController extends BaseController
 
     //回放URL
     public function getPlaybackUrl(){
-        return 222;
+        $camera_id = Input::get('camera_id', '');
+        $start_time = Input::get('start_time', '');
+        $end_time = Input::get('end_time', '');
+
+        $result['status'] = true;
+        $result['msg']    = ApiEnum::RETURN_SUCCESS;
+
+        if (!$camera_id || !$start_time || !$end_time) {
+            $result['status'] = false;
+            $result['msg'] = ApiEnum::STATUS_CODE_EMPTY;
+            return $result;
+        }
+
+        $query = CameraList::where('id', $camera_id)->first();
+
+        if (!$query) {
+            $result['status'] = false;
+            $result['msg'] = ApiEnum::NO_CAMERA_URL;
+            return $result;
+        }
+
+        if($query->playback == 0){
+            $result['status'] = false;
+            $result['msg'] = ApiEnum::NO_SUPORT_PLAYBACK;
+            return $result;
+        }
+
+        $start_time = date('c', strtotime($start_time));
+        $end_time = date('c', strtotime($end_time));
+
+        $haikang = new HaiKangController();
+        $result = $haikang->getPlaybackUrl($camera_id,$start_time,$end_time);
+
+        return self::successResponse($result);
     }
 
     /**

+ 33 - 0
Modules/Camera/Http/Controllers/Api/HaiKangController.php

@@ -332,6 +332,39 @@ class HaiKangController extends BaseController
         return $result;
     }
 
+    public function getPlaybackUrl($camera_id,$start_time,$end_time){
+        $query = CameraList::where('id', $camera_id)->first();
+
+//        $url        = $this->artemis.'/api/video/v2/cameras/playbackURLs';
+//        $params['cameraIndexCode'] = $query->index_code;
+//        $params['recordLocation']      = 0;
+//        $params['protocol']        = 'rtsp';//rtsp
+//        $params['beginTime']       = $start_time;
+//        $params['endTime']       = $end_time;
+//        $params['uuid'] = '';
+//        $params['expand'] = 'transcode=0';
+//        $params['streamform'] = 'ps';
+//        $params['lockType'] = 0;
+
+        $url        = $this->artemis.'/api/video/v1/cameras/playbackURLs';
+        $params['cameraIndexCode'] = $query->index_code;
+        $params['recordLocation']      = 0;
+        $params['protocol']        = 'rtsp';//rtsp
+        $params['transmode']        = 0;
+        $params['beginTime']       = $start_time;
+        $params['endTime']       = $end_time;
+        $params['uuid'] = '';
+        $params['expand'] = 'streamform=ps';
+
+        $this->sign = $this->get_sign($url);
+
+        $rtsp = $this->curlPost($this->pre_url . $url, json_encode($params));
+
+        $rtsp = json_decode($rtsp, true);
+
+        dd($rtsp);
+    }
+
     public function getHikRtsp(){
         $result['status'] = true;
         $result['msg']    = ApiEnum::RETURN_SUCCESS;