浏览代码

代码优化

zhangyong 1 年之前
父节点
当前提交
ec48fe180f
共有 1 个文件被更改,包括 10 次插入3 次删除
  1. 10 3
      video_stitching/video_stitching.py

+ 10 - 3
video_stitching/video_stitching.py

@@ -157,6 +157,9 @@ class VideoStitching():
         # 如果总时长小于等于目标时长,则不做视频拼接
         if total_duration <= duration_limit:
             Common.logger().info(f"时长小于等于目标时长,不做视频拼接")
+            # 关闭视频文件
+            for clip in clips:
+                clip.close()
             return ""
         else:
             Common.logger().info(f"总时长大于目标时长")
@@ -225,10 +228,10 @@ class VideoStitching():
         video_with_subtitles.write_videofile(output_path, fps=35)
         if os.path.isfile(output_path):
             Common.logger().info("视频生成成功!生成路径为:", output_path)
-            return included_videos, video_with_subtitles
+            return included_videos, video_with_subtitles, clips
         else:
             Common.logger().info("视频生成失败,请检查代码和文件路径。")
-            return "", video_with_subtitles
+            return "", video_with_subtitles, clips
 
 
     @classmethod
@@ -291,7 +294,7 @@ class VideoStitching():
         # videos = Oss.get_oss_url(videos)
         # 视频截取
         try:
-            audio_url, video_with_subtitles = cls.concatenate_videos(videos, str(audio), srt)
+            audio_url, video_with_subtitles, clips = cls.concatenate_videos(videos, str(audio), srt)
             if len(audio_url) == 0:
                 Common.logger().info(f"视频生成失败")
             # 随机生成视频id
@@ -316,8 +319,12 @@ class VideoStitching():
                 piaoquantv = cls.insert_piaoquantv(oss_object_key)
                 if piaoquantv:
                     Common.logger().info(f"视频添加到对应用户成功")
+                    # 关闭视频文件
+                    for clip in clips:
+                        clip.close()
                     # 释放视频对象
                     video_with_subtitles.close()
+
         except Exception as e:
             Common.logger().warning(f"新拼接视频发送oss失败:{e}\n")
             return