Browse Source

增加拼接视频超时

zhangyong 10 months ago
parent
commit
9e795d26b8
1 changed files with 16 additions and 3 deletions
  1. 16 3
      video_agc/agc_video.py

+ 16 - 3
video_agc/agc_video.py

@@ -100,12 +100,17 @@ class AGC():
             v_oss_path
         ]
         try:
-            subprocess.run(ffmpeg_cmd)
+            timeout_seconds = 25 * 60
+            subprocess.run(ffmpeg_cmd,  timeout=timeout_seconds)
             if os.path.isfile(v_path):
-                subprocess.run(ffmpeg_cmd_oss)
+                subprocess.run(ffmpeg_cmd_oss,  timeout=timeout_seconds)
             print("视频处理完成!")
+        except subprocess.TimeoutExpired:
+            print("视频处理超时,处理失败!")
+            return ""
         except subprocess.CalledProcessError as e:
             print(f"视频处理失败:{e}")
+            return ""
         print(f"{mark}的{platform}:视频拼接成功啦~~~")
         Common.logger("video").info(f"{mark}的{platform}:视频拼接成功啦~~~")
         return video_files
@@ -457,7 +462,7 @@ class AGC():
                         os.remove(v_path)
                     if os.path.isfile(s_path):
                         os.remove(s_path)
-                        # 清空所有mp4数据
+                    # 清空所有mp4数据
                     cls.clear_mp4_files(video_path_url)
                     count += 1
                     if mark_name == "穆新艺":
@@ -488,6 +493,14 @@ class AGC():
                     Feishu.update_values("LAn9so7E0hxRYht2UMEcK5wpnMj", sheet, "A2:Z2", values)
             except Exception as e:
                 Common.logger("bk_video").warning(f"{mark}的视频拼接失败:{e}\n")
+                if os.path.isfile(v_oss_path):
+                    os.remove(v_oss_path)
+                if os.path.isfile(v_path):
+                    os.remove(v_path)
+                if os.path.isfile(s_path):
+                    os.remove(s_path)
+                # 清空所有mp4数据
+                cls.clear_mp4_files(video_path_url)
                 continue
         if "-" in mark:
             name = mark.split("-")[0]