瀏覽代碼

获取rtsp切换码流

任敬轩 3 年之前
父節點
當前提交
bbddd7196c
共有 1 個文件被更改,包括 27 次插入5 次删除
  1. 27 5
      Modules/Camera/Http/Controllers/Api/HaiKangController.php

+ 27 - 5
Modules/Camera/Http/Controllers/Api/HaiKangController.php

@@ -379,12 +379,34 @@ class HaiKangController extends BaseController
         Log::info($curl_res);
 
         if (strpos($curl_res,' ')) {
-            //标记摄像头为异常状态
-            CameraList::where('id', Input::get('camera_id'))->update(['camera_status' => CameraEnum::CAMERA_STATUS_ERROR]);
+            //切换码流重新获取rtsp
+            $params['streamType']      = 0;  //0主码流 1子码流 2第三码流
 
-            $result['status'] = false;
-            $result['msg']    = ApiEnum::EASY_DAWIN_REQUEST_FAIL;
-            return $result;
+            $rtsp = $this->curlPost($this->pre_url . $url, json_encode($params));
+
+            $rtsp = json_decode($rtsp, true);
+
+            $data = [
+                'url'        => $rtsp['data']['url'],
+                'customPath' => $path,
+            ];
+            // dd($data);
+            Log::info('请求流媒体服务器参数------------');
+            Log::info($data);
+
+            $curl = env('EASY_DARWIN_JF_URL') . CameraEnum::API_STREAM_START . '?' . http_build_query($data);
+
+            //请求流媒体服务器拉流
+            $curl_res = curl_request($curl);
+
+            if(strpos($curl_res,' ')){
+                //标记摄像头为异常状态
+                CameraList::where('id', Input::get('camera_id'))->update(['camera_status' => CameraEnum::CAMERA_STATUS_ERROR]);
+
+                $result['status'] = false;
+                $result['msg']    = ApiEnum::EASY_DAWIN_REQUEST_FAIL;
+                return $result;
+            }
         }
 
         CameraList::where('id', Input::get('camera_id'))->update(['revert_id' => $curl_res]);