Explorar el Código

修改清空推流脚本

qiuzijian hace 4 años
padre
commit
e970b882dc

+ 24 - 24
.idea/workspace.xml

@@ -2,7 +2,7 @@
 <project version="4">
   <component name="ChangeListManager">
     <list default="true" id="b5beace6-e4f4-419b-8299-c67e17af5998" name="Default Changelist" comment="">
-      <change beforePath="$PROJECT_DIR$/Modules/Camera/Enum/CameraEnum.php" beforeDir="false" afterPath="$PROJECT_DIR$/Modules/Camera/Enum/CameraEnum.php" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/Modules/Camera/Http/Controllers/Api/CameraApiController.php" beforeDir="false" afterPath="$PROJECT_DIR$/Modules/Camera/Http/Controllers/Api/CameraApiController.php" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/Modules/Camera/Services/CameraServices.php" beforeDir="false" afterPath="$PROJECT_DIR$/Modules/Camera/Services/CameraServices.php" afterDir="false" />
     </list>
     <option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
@@ -19,8 +19,8 @@
       <file pinned="false" current-in-tab="false">
         <entry file="file://$PROJECT_DIR$/Modules/Camera/Enum/CameraEnum.php">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="253">
-              <caret line="21" column="44" selection-start-line="21" selection-start-column="37" selection-end-line="21" selection-end-column="44" />
+            <state relative-caret-position="231">
+              <caret line="16" column="20" selection-start-line="16" selection-start-column="20" selection-end-line="16" selection-end-column="20" />
             </state>
           </provider>
         </entry>
@@ -40,8 +40,8 @@
       <file pinned="false" current-in-tab="false">
         <entry file="file://$PROJECT_DIR$/Modules/Camera/Http/Controllers/Api/CameraApiController.php">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="419">
-              <caret line="82" column="39" selection-start-line="82" selection-start-column="39" selection-end-line="82" selection-end-column="39" />
+            <state relative-caret-position="454">
+              <caret line="82" column="41" lean-forward="true" selection-start-line="82" selection-start-column="41" selection-end-line="82" selection-end-column="41" />
               <folding>
                 <element signature="e#141#162#0#PHP" expanded="true" />
               </folding>
@@ -52,8 +52,8 @@
       <file pinned="false" current-in-tab="true">
         <entry file="file://$PROJECT_DIR$/Modules/Camera/Services/CameraServices.php">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="225">
-              <caret line="379" column="27" selection-start-line="379" selection-start-column="27" selection-end-line="379" selection-end-column="27" />
+            <state relative-caret-position="559">
+              <caret line="430" column="130" selection-start-line="430" selection-start-column="130" selection-end-line="430" selection-end-column="130" />
               <folding>
                 <element signature="e#129#150#0#PHP" expanded="true" />
               </folding>
@@ -168,10 +168,10 @@
         <option value="$PROJECT_DIR$/Modules/Mine/Services/MineServices.php" />
         <option value="$PROJECT_DIR$/app/Http/Controllers/TestsController.php" />
         <option value="$PROJECT_DIR$/app/Enum/ApiEnum.php" />
-        <option value="$PROJECT_DIR$/Modules/Camera/Http/Controllers/Api/CameraApiController.php" />
         <option value="$PROJECT_DIR$/Modules/Camera/Routes/api.php" />
-        <option value="$PROJECT_DIR$/Modules/Camera/Services/CameraServices.php" />
         <option value="$PROJECT_DIR$/Modules/Camera/Enum/CameraEnum.php" />
+        <option value="$PROJECT_DIR$/Modules/Camera/Http/Controllers/Api/CameraApiController.php" />
+        <option value="$PROJECT_DIR$/Modules/Camera/Services/CameraServices.php" />
       </list>
     </option>
   </component>
@@ -485,7 +485,7 @@
     <servers />
   </component>
   <component name="TimeTrackingManager">
-    <option name="totallyTimeSpent" value="254719000" />
+    <option name="totallyTimeSpent" value="255872000" />
   </component>
   <component name="ToolWindowManager">
     <frame x="0" y="0" width="1440" height="900" extended-state="0" />
@@ -825,16 +825,6 @@
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/Modules/Camera/Http/Controllers/Api/CameraApiController.php">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="419">
-          <caret line="82" column="39" selection-start-line="82" selection-start-column="39" selection-end-line="82" selection-end-column="39" />
-          <folding>
-            <element signature="e#141#162#0#PHP" expanded="true" />
-          </folding>
-        </state>
-      </provider>
-    </entry>
     <entry file="file://$PROJECT_DIR$/Modules/Camera/Routes/api.php">
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="168">
@@ -858,15 +848,25 @@
     </entry>
     <entry file="file://$PROJECT_DIR$/Modules/Camera/Enum/CameraEnum.php">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="253">
-          <caret line="21" column="44" selection-start-line="21" selection-start-column="37" selection-end-line="21" selection-end-column="44" />
+        <state relative-caret-position="231">
+          <caret line="16" column="20" selection-start-line="16" selection-start-column="20" selection-end-line="16" selection-end-column="20" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/Modules/Camera/Http/Controllers/Api/CameraApiController.php">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="454">
+          <caret line="82" column="41" lean-forward="true" selection-start-line="82" selection-start-column="41" selection-end-line="82" selection-end-column="41" />
+          <folding>
+            <element signature="e#141#162#0#PHP" expanded="true" />
+          </folding>
         </state>
       </provider>
     </entry>
     <entry file="file://$PROJECT_DIR$/Modules/Camera/Services/CameraServices.php">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="225">
-          <caret line="379" column="27" selection-start-line="379" selection-start-column="27" selection-end-line="379" selection-end-column="27" />
+        <state relative-caret-position="559">
+          <caret line="430" column="130" selection-start-line="430" selection-start-column="130" selection-end-line="430" selection-end-column="130" />
           <folding>
             <element signature="e#129#150#0#PHP" expanded="true" />
           </folding>

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

@@ -80,7 +80,7 @@ class CameraApiController extends BaseController
     {
         $camera_id = Input::get('camera_id', '');
 
-        $result = CameraServices::stopCameraStream($camera_id);
+        $result = CameraServices::stopCameraStream();
 
         return self::successResponse($result);
     }

+ 43 - 61
Modules/Camera/Services/CameraServices.php

@@ -369,91 +369,73 @@ class CameraServices
     }
 
     //停止流媒体推流
-    public static function stopCameraStream($camera_id = '')
+    public static function stopCameraStream()
     {
-        //先查询流媒体推流列表
-//        Log::info('请求流媒体服务器参数------------');
-//        Log::info($data);
+        $result['status'] = true;
+        $result['msg']    = ApiEnum::RETURN_SUCCESS;
 
+        //先查询流媒体推流列表
         $data = [
-            'start' => 0,
-            'limit' => 100,
+//            'start' => 0,
+//            'limit' => 100,
         ];
         $curl = env('EASY_DARWIN_URL') . CameraEnum::API_PUSHERS . '?' . http_build_query($data);
 
-        //请求流媒体服务器拉流
+        //请求流媒体服务器获取推流列表
         $curl_res = curl_request($curl);
 
-        dd($curl_res);
-
-        Log::info('请求流媒体服务器result------------');
-        Log::info($curl_res);
-
-        $result['status'] = true;
-        $result['msg']    = ApiEnum::RETURN_SUCCESS;
-
-        $query = CameraList::where('revert_id', '!=', CameraEnum::CAMERA_DEFAULT_REVERT_ID);
-
-        if ($camera_id) {
-            $query = $query->where('id', $camera_id);
-        }
-
-        $query = $query->get()->toArray();
-
-        if (!$query) {
-            $result['status'] = false;
-            $result['msg'] = ApiEnum::NO_CAMERA_URL;
-            return $result;
-        }
+        $curl_res = json_decode($curl_res, true);
 
-        $res_data = [];
+        if ($curl_res['total'] > 0) {
+            //根据返回id调停止推流接口
+            foreach ($curl_res['rows'] as $key => $val) {
+                $data = [
+                    'id' => $val['id']
+                ];
 
-        foreach ($query as $key => $val) {
-            $data = [
-                'id' => $val['revert_id']
-            ];
+                $curl = env('EASY_DARWIN_URL') . CameraEnum::API_STREAM_STOP . '?' . http_build_query($data);
 
-            Log::info('请求流媒体服务器参数------------');
-            Log::info($data);
+                //请求流媒体服务器停止推流
+                $curl_res = curl_request($curl);
 
-            $curl = env('EASY_DARWIN_URL') . CameraEnum::API_STREAM_STOP . '?' . http_build_query($data);
+                $curl_res = json_decode($curl_res, true);
 
-            //请求流媒体服务器拉流
-            $curl_res = curl_request($curl);
+                $query = CameraList::where('revert_id', $val['id'])->exists();
 
-            Log::info('请求流媒体服务器result------------');
-            Log::info($curl_res);
+                if (!$query) {
+                    CameraList::where('revert_id', $val['id'])->update(
+                        [
+                            'revert_id'  => CameraEnum::CAMERA_DEFAULT_REVERT_ID,
+                            'updated_at' => date('Y-m-d H:i:s'),
+                        ]
+                    );
+                }
 
-            if (trim($curl_res, '"') != 'OK') {
-                $res_data['error'][] = [
-                    'id'        => $val['id'],
-                    'revert_id' => $val['revert_id'],
-                    'result'    => $curl_res,
-                ];
-            } else {
-                $res_data['success'][] = [
-                    'id'        => $val['id'],
-                    'revert_id' => $val['revert_id'],
-                ];
+                if ($curl_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'),
+                        ]
+                    );
+                } else {
+                    Log::info('流媒体服务器停止推流失败id:' . $val['id']);
+                    Log::info('流媒体服务器停止推流失败返回结果');
+                    Log::info($curl_res);
+                }
             }
-
-            //更新拉流id为默认id
-            CameraList::where('id', $val['id'])->update(
-                [
-                    'revert_id'  => CameraEnum::CAMERA_DEFAULT_REVERT_ID,
-                    'updated_at' => date('Y-m-d H:i:s'),
-                ]
-            );
         }
 
+        //清空海康视频服务器已存在id
+        CameraList::where('revert_id', CameraEnum::CAMERA_FILE_EXIST)->update(['revert_id' => CameraEnum::CAMERA_DEFAULT_REVERT_ID]);
+
         //递归删除目录
         $dir = public_path() . '/files/video/m3u8/';
         if (is_dir($dir)) {
             deldir($dir);
         }
 
-        $result['data'] = $res_data;
-
         return $result;
     }