|
@@ -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
|