Przeglądaj źródła

获取rtsp切换码流

任敬轩 3 lat temu
rodzic
commit
bbddd7196c

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

@@ -379,12 +379,34 @@ class HaiKangController extends BaseController
         Log::info($curl_res);
         Log::info($curl_res);
 
 
         if (strpos($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]);
         CameraList::where('id', Input::get('camera_id'))->update(['revert_id' => $curl_res]);