Selaa lähdekoodia

rtsp获取首帧图片逻辑修改

任敬轩 3 vuotta sitten
vanhempi
commit
746b257b45

+ 15 - 15
Modules/Camera/Http/Controllers/Api/HaiKangController.php

@@ -446,20 +446,18 @@ class HaiKangController extends BaseController
             $exec = 'nohup /usr/bin/ffmpeg -i "' . $rtsp['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 &';
 
             shell_exec($exec);
-        }
 
-        //sleep10秒生成文件
-        $i = 1;
-        while ($i <= 10) {
-            //判断m3u8文件是否存在
-            $file_exists = file_exists(public_path() . '/' . CameraEnum::M3U8_FILE_PATH . $path . '/' . CameraEnum::M3U8_FILE_NAME);
+            //sleep10秒生成文件
+            $i = 1;
+            while ($i <= 10) {
+                //判断m3u8文件是否存在
+                $file_exists = file_exists(public_path() . '/' . CameraEnum::M3U8_FILE_PATH . $path . '/' . CameraEnum::M3U8_FILE_NAME);
 
-            //判断ts文件是否存在
-            $ts_exists = glob(public_path() . '/' . CameraEnum::M3U8_FILE_PATH . $path  . '/' . CameraEnum::TS_FILE_SUFFIX);
+                //判断ts文件是否存在
+                $ts_exists = glob(public_path() . '/' . CameraEnum::M3U8_FILE_PATH . $path  . '/' . CameraEnum::TS_FILE_SUFFIX);
 
-            if ($file_exists && $ts_exists) {
+                if ($file_exists && $ts_exists) {
 
-                if (!$cover_picture) {
                     //获取第一帧作为封面图
                     $file_name = time() . CameraEnum::COVER_PICTURE_NAME;
 
@@ -477,14 +475,16 @@ class HaiKangController extends BaseController
 
                         CameraList::where('id', Input::get('camera_id'))->update(['cover_picture' => $picture_path]);
                     }
+
+                    return $result;
+                } else {
+                    sleep(1);
                 }
 
-                return $result;
-            } else {
-                sleep(1);
+                $i++;
             }
-
-            $i++;
+        }else{
+            return $result;
         }
 
         //标记摄像头为异常状态

+ 15 - 15
Modules/Camera/Services/CameraServices.php

@@ -598,20 +598,18 @@ class CameraServices
             $exec = 'nohup /usr/bin/ffmpeg -i "' . $result_td['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 &';
 
             shell_exec($exec);
-        }
 
-        //sleep10秒生成文件
-        $i = 1;
-        while ($i <= 10) {
-            //判断m3u8文件是否存在
-            $file_exists = file_exists(public_path() . '/' . CameraEnum::M3U8_FILE_PATH . $path . '/' . CameraEnum::M3U8_FILE_NAME);
+            //sleep10秒生成文件
+            $i = 1;
+            while ($i <= 10) {
+                //判断m3u8文件是否存在
+                $file_exists = file_exists(public_path() . '/' . CameraEnum::M3U8_FILE_PATH . $path . '/' . CameraEnum::M3U8_FILE_NAME);
 
-            //判断ts文件是否存在
-            $ts_exists = glob(public_path() . '/' . CameraEnum::M3U8_FILE_PATH . $path  . '/' . CameraEnum::TS_FILE_SUFFIX);
+                //判断ts文件是否存在
+                $ts_exists = glob(public_path() . '/' . CameraEnum::M3U8_FILE_PATH . $path  . '/' . CameraEnum::TS_FILE_SUFFIX);
 
-            if ($file_exists && $ts_exists) {
+                if ($file_exists && $ts_exists) {
 
-                if (!$cover_picture) {
                     //获取第一帧作为封面图
                     $file_name = time() . CameraEnum::COVER_PICTURE_NAME;
 
@@ -629,14 +627,16 @@ class CameraServices
 
                         CameraList::where('id', $camera_id)->update(['cover_picture' => $picture_path]);
                     }
+
+                    return $result;
+                } else {
+                    sleep(1);
                 }
 
-                return $result;
-            } else {
-                sleep(1);
+                $i++;
             }
-
-            $i++;
+        }else{
+            return $result;
         }
 
         //标记摄像头为异常状态