Pārlūkot izejas kodu

添加天地伟业接口逻辑

qiuzijian 3 gadi atpakaļ
vecāks
revīzija
3519c531f3

+ 61 - 53
.idea/workspace.xml

@@ -2,6 +2,10 @@
 <project version="4">
   <component name="ChangeListManager">
     <list default="true" id="b5beace6-e4f4-419b-8299-c67e17af5998" name="Default Changelist" comment="">
+      <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
+      <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/Services/CameraServices.php" beforeDir="false" afterPath="$PROJECT_DIR$/Modules/Camera/Services/CameraServices.php" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/app/Enum/ApiEnum.php" beforeDir="false" afterPath="$PROJECT_DIR$/app/Enum/ApiEnum.php" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/app/Http/Controllers/TestsController.php" beforeDir="false" afterPath="$PROJECT_DIR$/app/Http/Controllers/TestsController.php" afterDir="false" />
     </list>
     <option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
@@ -15,11 +19,11 @@
   </component>
   <component name="FileEditorManager">
     <leaf SIDE_TABS_SIZE_LIMIT_KEY="300">
-      <file pinned="false" current-in-tab="false">
+      <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="107">
-              <caret line="813" column="13" selection-start-line="813" selection-start-column="8" selection-end-line="813" selection-end-column="13" />
+            <state relative-caret-position="502">
+              <caret line="965" column="38" lean-forward="true" selection-start-line="965" selection-start-column="38" selection-end-line="965" selection-end-column="38" />
               <folding>
                 <element signature="e#129#150#0#PHP" expanded="true" />
               </folding>
@@ -39,11 +43,11 @@
           </provider>
         </entry>
       </file>
-      <file pinned="false" current-in-tab="true">
+      <file pinned="false" current-in-tab="false">
         <entry file="file://$PROJECT_DIR$/app/Http/Controllers/TestsController.php">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="515">
-              <caret line="49" column="62" selection-start-line="49" selection-start-column="62" selection-end-line="49" selection-end-column="62" />
+            <state relative-caret-position="294">
+              <caret line="37" column="37" lean-forward="true" selection-start-line="37" selection-start-column="37" selection-end-line="37" selection-end-column="37" />
               <folding>
                 <element signature="e#6#91#0#PHP" expanded="true" />
                 <element signature="e#126#164#0#PHP" expanded="true" />
@@ -55,8 +59,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="555">
-              <caret line="82" column="46" lean-forward="true" selection-start-line="82" selection-start-column="46" selection-end-line="82" selection-end-column="46" />
+            <state relative-caret-position="522">
+              <caret line="82" column="49" selection-start-line="82" selection-start-column="49" selection-end-line="82" selection-end-column="49" />
               <folding>
                 <element signature="e#141#162#0#PHP" expanded="true" />
               </folding>
@@ -79,8 +83,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="676">
-              <caret line="146" column="26" selection-start-line="146" selection-start-column="10" selection-end-line="146" selection-end-column="26" />
+            <state relative-caret-position="253">
+              <caret line="77" column="10" selection-start-line="77" selection-start-column="10" selection-end-line="77" selection-end-column="10" />
             </state>
           </provider>
         </entry>
@@ -139,7 +143,6 @@
         <option value="$PROJECT_DIR$/Modules/Mine/Entities/MineList.php" />
         <option value="$PROJECT_DIR$/Modules/Admin/Traits/ClassifyMethod.php" />
         <option value="$PROJECT_DIR$/Modules/Camera/Database/Migrations/2021_04_23_032650_update_camera_list_table_fields.php" />
-        <option value="$PROJECT_DIR$/app/Enum/ApiEnum.php" />
         <option value="$PROJECT_DIR$/Modules/Mine/Database/Migrations/2021_05_26_074955_create_working_surface_table.php" />
         <option value="$PROJECT_DIR$/Modules/Mine/Entities/WorkingSurface.php" />
         <option value="$PROJECT_DIR$/Modules/Mine/Http/Controllers/MineController.php" />
@@ -172,12 +175,13 @@
         <option value="$PROJECT_DIR$/Modules/Camera/Http/Controllers/CameraController.php" />
         <option value="$PROJECT_DIR$/app/Console/Commands/UpdateCameraStatus.php" />
         <option value="$PROJECT_DIR$/Modules/Camera/Http/Controllers/Api/HaiKangController.php" />
-        <option value="$PROJECT_DIR$/Modules/Camera/Http/Controllers/Api/CameraApiController.php" />
-        <option value="$PROJECT_DIR$/Modules/Camera/Services/CameraServices.php" />
-        <option value="$PROJECT_DIR$/Modules/Camera/Enum/CameraEnum.php" />
         <option value="$PROJECT_DIR$/app/Console/Commands/UpdateHkList.php" />
         <option value="$PROJECT_DIR$/Modules/Camera/Http/Controllers/Api/TdwyController.php" />
         <option value="$PROJECT_DIR$/app/Http/Controllers/TestsController.php" />
+        <option value="$PROJECT_DIR$/Modules/Camera/Http/Controllers/Api/CameraApiController.php" />
+        <option value="$PROJECT_DIR$/Modules/Camera/Enum/CameraEnum.php" />
+        <option value="$PROJECT_DIR$/app/Enum/ApiEnum.php" />
+        <option value="$PROJECT_DIR$/Modules/Camera/Services/CameraServices.php" />
       </list>
     </option>
   </component>
@@ -432,7 +436,7 @@
     <servers />
   </component>
   <component name="TimeTrackingManager">
-    <option name="totallyTimeSpent" value="491753000" />
+    <option name="totallyTimeSpent" value="496362000" />
   </component>
   <component name="ToolWindowManager">
     <frame x="0" y="0" width="1440" height="900" extended-state="0" />
@@ -525,13 +529,6 @@
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/app/Enum/ApiEnum.php">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="504">
-          <caret line="29" column="13" lean-forward="true" selection-start-line="29" selection-start-column="13" selection-end-line="29" selection-end-column="13" />
-        </state>
-      </provider>
-    </entry>
     <entry file="file://$PROJECT_DIR$/Modules/Admin/Routes/api.php">
       <provider selected="true" editor-type-id="text-editor" />
     </entry>
@@ -568,9 +565,6 @@
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/Modules/Mine/Enum/MineEnum.php">
-      <provider selected="true" editor-type-id="text-editor" />
-    </entry>
     <entry file="file://$PROJECT_DIR$/config/database.php">
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="-393" />
@@ -752,13 +746,6 @@
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/Modules/Camera/Enum/CameraEnum.php">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="676">
-          <caret line="146" column="26" selection-start-line="146" selection-start-column="10" selection-end-line="146" selection-end-column="26" />
-        </state>
-      </provider>
-    </entry>
     <entry file="file://$PROJECT_DIR$/Modules/Admin/Services/MenusService.php">
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="257">
@@ -766,63 +753,84 @@
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/Modules/Camera/Http/Controllers/Api/HaiKangController.php">
+    <entry file="file://$PROJECT_DIR$/Modules/Camera/Http/Controllers/Api/TdwyController.php">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="253">
-          <caret line="313" column="13" selection-start-line="313" selection-start-column="4" selection-end-line="313" selection-end-column="13" />
+        <state relative-caret-position="386">
+          <caret line="97" column="31" selection-start-line="97" selection-start-column="20" selection-end-line="97" selection-end-column="31" />
           <folding>
-            <element signature="e#141#185#0#PHP" expanded="true" />
+            <element signature="e#140#184#0#PHP" expanded="true" />
           </folding>
         </state>
       </provider>
     </entry>
     <entry file="file://$PROJECT_DIR$/app/Console/Commands/UpdateHkList.php">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="582">
-          <caret line="135" column="10" lean-forward="true" selection-start-line="135" selection-start-column="10" selection-end-line="135" selection-end-column="10" />
+        <state relative-caret-position="705">
+          <caret line="170" column="55" selection-start-line="170" selection-start-column="55" selection-end-line="170" selection-end-column="55" />
           <folding>
             <element signature="e#40#71#0#PHP" expanded="true" />
           </folding>
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/Modules/Camera/Http/Controllers/Api/TdwyController.php">
+    <entry file="file://$PROJECT_DIR$/Modules/Camera/Http/Controllers/Api/HaiKangController.php">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="386">
-          <caret line="97" column="31" selection-start-line="97" selection-start-column="20" selection-end-line="97" selection-end-column="31" />
+        <state relative-caret-position="253">
+          <caret line="313" column="13" selection-start-line="313" selection-start-column="4" selection-end-line="313" selection-end-column="13" />
           <folding>
-            <element signature="e#140#184#0#PHP" expanded="true" />
+            <element signature="e#141#185#0#PHP" expanded="true" />
           </folding>
         </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="555">
-          <caret line="82" column="46" lean-forward="true" selection-start-line="82" selection-start-column="46" selection-end-line="82" selection-end-column="46" />
+        <state relative-caret-position="522">
+          <caret line="82" column="49" selection-start-line="82" selection-start-column="49" selection-end-line="82" selection-end-column="49" />
           <folding>
             <element signature="e#141#162#0#PHP" expanded="true" />
           </folding>
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/Modules/Camera/Services/CameraServices.php">
+    <entry file="file://$PROJECT_DIR$/app/Http/Controllers/TestsController.php">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="107">
-          <caret line="813" column="13" selection-start-line="813" selection-start-column="8" selection-end-line="813" selection-end-column="13" />
+        <state relative-caret-position="294">
+          <caret line="37" column="37" lean-forward="true" selection-start-line="37" selection-start-column="37" selection-end-line="37" selection-end-column="37" />
           <folding>
-            <element signature="e#129#150#0#PHP" expanded="true" />
+            <element signature="e#6#91#0#PHP" expanded="true" />
+            <element signature="e#126#164#0#PHP" expanded="true" />
           </folding>
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/app/Http/Controllers/TestsController.php">
+    <entry file="file://$PROJECT_DIR$/Modules/Mine/Enum/MineEnum.php">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="515">
-          <caret line="49" column="62" selection-start-line="49" selection-start-column="62" selection-end-line="49" selection-end-column="62" />
+        <state relative-caret-position="168">
+          <caret line="13" column="30" lean-forward="true" selection-start-line="13" selection-start-column="30" selection-end-line="13" selection-end-column="30" />
+        </state>
+      </provider>
+    </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="77" column="10" selection-start-line="77" selection-start-column="10" selection-end-line="77" selection-end-column="10" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/app/Enum/ApiEnum.php">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="630">
+          <caret line="35" column="36" selection-start-line="35" selection-start-column="10" selection-end-line="35" selection-end-column="36" />
+        </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="502">
+          <caret line="965" column="38" lean-forward="true" selection-start-line="965" selection-start-column="38" selection-end-line="965" selection-end-column="38" />
           <folding>
-            <element signature="e#6#91#0#PHP" expanded="true" />
-            <element signature="e#126#164#0#PHP" expanded="true" />
+            <element signature="e#129#150#0#PHP" expanded="true" />
           </folding>
         </state>
       </provider>

+ 1 - 0
Modules/Camera/Enum/CameraEnum.php

@@ -81,6 +81,7 @@ class CameraEnum
         self::VIDEO_RECORDER_HK => '海康',
         self::VIDEO_RECORDER_DH => '大华',
         self::VIDEO_RECORDER_YS => '宇视',
+        self::VIDEO_RECORDER_TD => '天地伟业',
     ];
 
     //乐橙接口url

+ 89 - 44
Modules/Camera/Services/CameraServices.php

@@ -18,6 +18,7 @@ use Modules\Camera\Entities\CameraFieldList;
 use Modules\Camera\Entities\CameraList;
 use Modules\Camera\Enum\CameraEnum;
 use Modules\Camera\Http\Controllers\Api\HaiKangController;
+use Modules\Camera\Http\Controllers\Api\TdwyController;
 use Modules\Mine\Entities\MineList;
 use Modules\Mine\Entities\MineListExt;
 use Modules\Mine\Entities\WorkingSurfaceCamera;
@@ -825,24 +826,66 @@ class CameraServices
             return $result;
         }
 
-        Input::replace(
-            [
-                'url'             => trim($query->ip, '/') . ':' . $query->port,
-                'key'             => $query->key,
-                'secret'          => $query->secret,
-                'cameraIndexCode' => $camera->index_code,
-                'streamType'      => CameraEnum::CODE_STREAM_HAK[$camera->code_stream],
-                'protocol'        => 'rtmp'
-            ]
-        );
-        $haikang   = new HaiKangController();
-        $result_hk = $haikang->getCamerasUrl();
+        if ($camera->video_recorder == CameraEnum::VIDEO_RECORDER_HK) {  //海康视频逻辑
+            Input::replace(
+                [
+                    'url'             => trim($query->ip, '/') . ':' . $query->port,
+                    'key'             => $query->key,
+                    'secret'          => $query->secret,
+                    'cameraIndexCode' => $camera->index_code,
+                    'streamType'      => CameraEnum::CODE_STREAM_HAK[$camera->code_stream],
+                    'protocol'        => 'rtmp'
+                ]
+            );
+            $haikang   = new HaiKangController();
+            $result_hk = $haikang->getCamerasUrl();
 
-        if ($result_hk['data']['url']) {
-            //先取当前码流
-            $res = self::getVideoStream($result_hk, $path, $camera_id);
+            if ($result_hk['data']['url']) {
+                //先取当前码流
+                $res = self::getVideoStream($result_hk['data']['url'], $path, $camera_id);
 
-            if (!$res) {
+                if (!$res) {
+                    $code_stream = self::exchangCodeStream($camera->code_stream);
+                    Input::replace(
+                        [
+                            'url'             => trim($query->ip, '/') . ':' . $query->port,
+                            'key'             => $query->key,
+                            'secret'          => $query->secret,
+                            'cameraIndexCode' => $camera->index_code,
+                            'streamType'      => CameraEnum::CODE_STREAM_HAK[$code_stream],
+                            'protocol'        => 'rtmp',
+                        ]
+                    );
+                    $haikang   = new HaiKangController();
+                    $result_hk_2 = $haikang->getCamerasUrl();
+
+                    if (!$result_hk_2['data']['url']) {
+                        //标记摄像头为异常状态
+                        CameraList::where('id', $camera_id)->update(['camera_status' => CameraEnum::CAMERA_STATUS_ERROR]);
+
+                        $result['status'] = false;
+                        $result['msg'] = ApiEnum::HK_REQUEST_FAIL;
+                        return $result;
+                    }
+
+                    $res = self::getVideoStream($result_hk_2['data']['url'], $path, $camera_id);
+
+                    if (!$res) {
+                        //标记摄像头为异常状态
+                        CameraList::where('id', $camera_id)->update(['camera_status' => CameraEnum::CAMERA_STATUS_ERROR]);
+
+                        $result['status'] = false;
+                        $result['msg'] = ApiEnum::HK_REQUEST_FAIL;
+                        return $result;
+                    } else {
+                        //更新视频码流
+                        CameraList::where('id', $camera_id)->update(['code_stream' => $code_stream]);
+                        $result['data'] = $res['data'];
+                    }
+                } else {
+                    $result['data'] = $res['data'];
+                }
+            } else {  //直接获取rtmp失败时切换码流重新获取
                 $code_stream = self::exchangCodeStream($camera->code_stream);
                 Input::replace(
                     [
@@ -866,7 +909,7 @@ class CameraServices
                     return $result;
                 }
 
-                $res = self::getVideoStream($result_hk_2, $path, $camera_id);
+                $res = self::getVideoStream($result_hk_2['data']['url'], $path, $camera_id);
 
                 if (!$res) {
                     //标记摄像头为异常状态
@@ -880,54 +923,56 @@ class CameraServices
                     CameraList::where('id', $camera_id)->update(['code_stream' => $code_stream]);
                     $result['data'] = $res['data'];
                 }
-            } else {
-                $result['data'] = $res['data'];
             }
-        } else {  //直接获取rtmp失败时切换码流重新获取
-            $code_stream = self::exchangCodeStream($camera->code_stream);
+        } else if ($camera->video_recorder == CameraEnum::VIDEO_RECORDER_TD) {  //天地伟业视频逻辑
             Input::replace(
                 [
-                    'url'             => trim($query->ip, '/') . ':' . $query->port,
-                    'key'             => $query->key,
-                    'secret'          => $query->secret,
-                    'cameraIndexCode' => $camera->index_code,
-                    'streamType'      => CameraEnum::CODE_STREAM_HAK[$code_stream],
-                    'protocol'        => 'rtmp',
+                    'url'      => trim($query->ip, '/') . ':' . $query->port,
+                    'username' => $query->key,
+                    'password' => $query->secret,
+                    'sysId'    => 'PG',
+                    'sId'      => $camera->index_code,
+                    'ip'       => $camera->ip,
+                    'port'     => $camera->port,
                 ]
             );
-            $haikang   = new HaiKangController();
-            $result_hk_2 = $haikang->getCamerasUrl();
 
-            if (!$result_hk_2['data']['url']) {
-                //标记摄像头为异常状态
-                CameraList::where('id', $camera_id)->update(['camera_status' => CameraEnum::CAMERA_STATUS_ERROR]);
+            $tdwy = new TdwyController();
+            $result_td = $tdwy->getRtspById();
 
-                $result['status'] = false;
-                $result['msg'] = ApiEnum::HK_REQUEST_FAIL;
-                return $result;
-            }
+            if ($result_td['statusCode'] == CameraEnum::TDWY_API_STATUS_CODE_SUCCSS && $result_td['content']) {
+                //执行取流动作
+                $res = self::getVideoStream($result_td['content'][0]['url'], $path, $camera_id);
 
-            $res = self::getVideoStream($result_hk_2, $path, $camera_id);
+                if (!$res) {
+                    //标记摄像头为异常状态
+                    CameraList::where('id', $camera_id)->update(['camera_status' => CameraEnum::CAMERA_STATUS_ERROR]);
 
-            if (!$res) {
+                    $result['status'] = false;
+                    $result['msg'] = ApiEnum::HK_REQUEST_FAIL;
+                    return $result;
+                } else {
+                    $result['data'] = $res['data'];
+                }
+            } else {
                 //标记摄像头为异常状态
                 CameraList::where('id', $camera_id)->update(['camera_status' => CameraEnum::CAMERA_STATUS_ERROR]);
 
                 $result['status'] = false;
                 $result['msg'] = ApiEnum::HK_REQUEST_FAIL;
                 return $result;
-            } else {
-                //更新视频码流
-                CameraList::where('id', $camera_id)->update(['code_stream' => $code_stream]);
-                $result['data'] = $res['data'];
             }
+        } else {
+            $result['status'] = false;
+            $result['msg'] = ApiEnum::NONEXISTENT_VIDEO_RECORDER;
+            return $result;
         }
 
         return $result;
     }
 
     //获取视频流
-    public static function getVideoStream($result_hk, $path, $camera_id)
+    public static function getVideoStream($video_url, $path, $camera_id)
     {
         $result = [];
 
@@ -935,7 +980,7 @@ class CameraServices
             mkdir('/www/wwwroot/video.nxjiewei.com/public/' . CameraEnum::M3U8_FILE_PATH . '/' . $path, 0777, true);
         }
         //取流进程
-        $exec = 'nohup /usr/bin/ffmpeg -i ' . $result_hk['data']['url'] . ' -vcodec copy -acodec copy -vbsf h264_mp4toannexb -f hls -hls_flags delete_segments -segment_list_size 10 -hls_list_size 2 /www/wwwroot/video.nxjiewei.com/public/' . CameraEnum::M3U8_FILE_PATH . '/' . $path . '/' . CameraEnum::M3U8_FILE_NAME . ' >/dev/null &';
+        $exec = 'nohup /usr/bin/ffmpeg -i "' . $video_url . '" -vcodec copy -acodec copy -vbsf h264_mp4toannexb -f hls -hls_flags delete_segments -segment_list_size 10 -hls_list_size 2 /www/wwwroot/video.nxjiewei.com/public/' . CameraEnum::M3U8_FILE_PATH . '/' . $path . '/' . CameraEnum::M3U8_FILE_NAME . ' >/dev/null &';
         shell_exec($exec);
 
         //sleep10秒生成文件

+ 6 - 5
app/Enum/ApiEnum.php

@@ -28,9 +28,10 @@ class ApiEnum
     ];
 
     //api返回信息
-    const RETURN_SUCCESS          = '成功';
-    const NO_CAMERA_URL           = '视频播放链接不存在';
-    const EASY_DAWIN_REQUEST_FAIL = '请求流媒体服务器失败';
-    const HK_REQUEST_FAIL         = '请求海康视频服务器失败';
-    const LECHANGE_REQUEST_FAIL   = '请求视频服务器失败';
+    const RETURN_SUCCESS             = '成功';
+    const NO_CAMERA_URL              = '视频播放链接不存在';
+    const EASY_DAWIN_REQUEST_FAIL    = '请求流媒体服务器失败';
+    const HK_REQUEST_FAIL            = '请求海康视频服务器失败';
+    const LECHANGE_REQUEST_FAIL      = '请求视频服务器失败';
+    const NONEXISTENT_VIDEO_RECORDER = '不存在的视频服务器来源';
 }

+ 5 - 1
app/Http/Controllers/TestsController.php

@@ -47,9 +47,13 @@ class TestsController {
             mkdir('/www/wwwroot/video.nxjiewei.com/public/' . CameraEnum::M3U8_FILE_PATH . '/' . $path, 0777, true);
         }
         //取流进程
-        $exec = 'nohup /usr/bin/ffmpeg -i ' . $result['content']['url'] . ' -vcodec copy -acodec copy -vbsf h264_mp4toannexb -f hls -hls_flags delete_segments -segment_list_size 10 -hls_list_size 2 /www/wwwroot/video.nxjiewei.com/public/' . CameraEnum::M3U8_FILE_PATH . '/' . $path . '/' . CameraEnum::M3U8_FILE_NAME . ' >/dev/null &';
+        $exec = 'nohup /usr/bin/ffmpeg -i "' . $result['content'][0]['url'] . '" -fflags flush_packets -max_delay 1 -an -flags -global_header -hls_time 1 -hls_list_size 3 -hls_flags delete_segments+omit_endlist -vcodec copy -y /www/wwwroot/video.nxjiewei.com/public/' . CameraEnum::M3U8_FILE_PATH . '/' . $path . '/' . CameraEnum::M3U8_FILE_NAME . ' >/dev/null &';
         shell_exec($exec);
 
+        $exec = 'nohup /usr/bin/ffmpeg -i "' . $result['content'][0]['url'] . '" -vcodec copy -acodec copy -vbsf h264_mp4toannexb -f hls -hls_flags delete_segments -segment_list_size 10 -hls_list_size 2 /www/wwwroot/video.nxjiewei.com/public/' . CameraEnum::M3U8_FILE_PATH . '/' . $path . '/' . CameraEnum::M3U8_FILE_NAME . ' >/dev/null &';
+
         dd($result);
+
+        '/usr/bin/ffmpeg -i "rtsp://10.71.177.215:1554/s?dev=5203241b-27a0-4ca1-a11e-7a7c53b0f858&sup=d4021d3801e14ea4ba87bc9b072b2644&supip=192.168.4.216&support=8000&ch=1&type=0" -fflags flush_packets -max_delay 1 -an -flags -global_header -hls_time 1 -hls_list_size 3 -hls_flags delete_segments+omit_endlist -vcodec copy -y /www/wwwroot/video.nxjiewei.com/public/files/video/m3u8/金家渠煤矿/井下区域/摄像头/out.m3u8 >/dev/null &';
     }
 }