소스 검색

金凤easy_drawin清流

任敬轩 3 년 전
부모
커밋
1c6eb57312
1개의 변경된 파일58개의 추가작업 그리고 1개의 파일을 삭제
  1. 58 1
      Modules/Camera/Services/CameraServices.php

+ 58 - 1
Modules/Camera/Services/CameraServices.php

@@ -564,7 +564,9 @@ class CameraServices
         // dd($res);
         Log::info('请求流媒体服务器result------------');
         Log::info($curl_res);
-        CameraList::where('id', $camera_id)->update(['revert_id' => $curl_res]);
+        if(strlen($curl_res) < 20){
+            CameraList::where('id', $camera_id)->update(['revert_id' => $curl_res]);
+        }
         if (strpos($curl_res,' ')) {
             //标记摄像头为异常状态
             CameraList::where('id', $camera_id)->update(['camera_status' => CameraEnum::CAMERA_STATUS_ERROR]);
@@ -651,6 +653,61 @@ class CameraServices
             deldir($dir);
         }
 
+        //金凤easy清流
+        $data_jf = [
+//            'start' => 0,
+//            'limit' => 100,
+        ];
+        $curl_jf = env('EASY_DARWIN_JF_URL') . CameraEnum::API_PUSHERS . '?' . http_build_query($data_jf);
+
+        //请求流媒体服务器获取推流列表
+        $curl_res_jf = curl_request($curl_jf);
+
+        $curl_res_jf = json_decode($curl_res_jf, true);
+
+        $success_jf = 0;
+
+        if ($curl_res_jf['total'] > 0) {
+            //根据返回id调停止推流接口
+            foreach ($curl_res_jf['rows'] as $key => $val) {
+                $data = [
+                    'id' => $val['id']
+                ];
+
+                $curl = env('EASY_DARWIN_JF_URL') . CameraEnum::API_STREAM_STOP . '?' . http_build_query($data);
+
+                //请求流媒体服务器停止推流
+                $stop_res = curl_request($curl);
+
+                $stop_res = json_decode($stop_res, true);
+
+                if ($stop_res == 'OK') {
+                    //更新拉流id为默认id
+                    CameraList::where('revert_id', $val['id'])->update(
+                        [
+                            'revert_id'  => CameraEnum::CAMERA_DEFAULT_REVERT_ID,
+                            'updated_at' => date('Y-m-d H:i:s'),
+                        ]
+                    );
+                    $success_jf++;
+                } else {
+                    Log::info('流媒体服务器停止推流失败id:' . $val['id']);
+                    Log::info('流媒体服务器停止推流失败返回结果');
+                    Log::info($stop_res);
+                }
+            }
+        }
+
+        if ($success_jf == $curl_res_jf['total']) {
+            CameraList::where('revert_id', '!=', CameraEnum::CAMERA_DEFAULT_REVERT_ID)->update(
+                [
+                    'revert_id'  => CameraEnum::CAMERA_DEFAULT_REVERT_ID,
+                    'updated_at' => date('Y-m-d H:i:s'),
+                ]
+            );
+        }
+
+
         return $result;
     }