From cf790bc3db257d5271a9797c06ba5bdf2976bccf Mon Sep 17 00:00:00 2001 From: liubiren Date: Tue, 7 Apr 2026 19:00:13 +0800 Subject: [PATCH] =?UTF-8?q?2604007=20=E6=9B=B4=E6=96=B0=E7=9F=AD=E8=A7=86?= =?UTF-8?q?=E9=A2=91=E5=B9=BF=E5=91=8A=E5=90=88=E6=88=90=E6=96=B9=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 短视频合成自动化/caches.db | Bin 3211264 -> 3432448 bytes .../{jiangying_manager.py => drafts_manager.py} | 91 +++++++++++++----- 短视频合成自动化/main.py | 12 +-- 3 files changed, 71 insertions(+), 32 deletions(-) rename 短视频合成自动化/{jiangying_manager.py => drafts_manager.py} (89%) diff --git a/短视频合成自动化/caches.db b/短视频合成自动化/caches.db index ebc37cffbd8d0743dc206f5aeffcdb07766b0470..8819dc34d910f0636899cbb611d03d5dd679cc2d 100644 GIT binary patch delta 28797 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 bUilsflxeEnc9H8pES#URh0$@$$o~Ha#T6(9 delta 5704 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 None: """ 批量创建草稿 @@ -387,29 +412,38 @@ class JianYingManager: :param video_width: 视频宽度(单位为像素),默认为 1080 :param video_height: 视频高度(单位为像素),默认为 1920 :param video_fps: 视频帧率(单位为帧/秒),默认为 30 - :param duration_capture: 截取背景视频时长(单位为秒),默认为 None + :param capture_duration: 截取背景视频时长(单位为秒),默认为 None :return: 无 """ draft_index = 1 # 草稿索引 while True: - # 获取节点配置 - configurations = self._get_configurations(duration_capture=duration_capture) + # 获取工作配置 + configurations = self._get_configurations(capture_duration=capture_duration) # 若包含添加字幕视频则使用字幕视频时长作为视频时长,否则使用背景视频时长作为视频时长 if "add_subtitle_video" in configurations: - video_duration = VideoMaterial( - path=configurations["add_subtitle_video"][ - "material_path" - ].as_posix() - ).duration + video_duration = min( + VideoMaterial( + path=configurations["add_background_video"][ + "material_path" + ].as_posix() + ).duration, + VideoMaterial( + path=configurations["add_subtitle_video"][ + "material_path" + ].as_posix() + ).duration, + ) else: video_duration = video_duration = VideoMaterial( path=configurations["add_background_video"][ "material_path" ].as_posix() ).duration - if duration_capture: - video_duration = duration_capture * 1_000_000 # 转换为微秒单位 + + # 转换为微秒单位 + if capture_duration: + video_duration = capture_duration * 1_000_000 # 添加中贴视频持续时长 if "add_mid_roll_video" in configurations: @@ -479,7 +513,7 @@ class JianYingManager: print("-> 正在添加字幕视频...", end="") draft.add_video_segment(**configurations[node_name]) print("已完成") - # 添加标识 + # 添加标识图片 case "add_logo_image": print("-> 正在添加标识图片...", end="") draft.add_video_segment(**configurations[node_name]) @@ -494,6 +528,11 @@ class JianYingManager: print("-> 正在添加声明文本...", end="") draft.add_text_segment(**configurations[node_name]) print("已完成") + # 添加声明图片 + case "add_statement_image": + print("-> 正在添加声明图片...", end="") + draft.add_video_segment(**configurations[node_name]) + print("已完成") # 添加声明视频 case "add_statement_video": print("-> 正在添加声明视频...", end="") @@ -525,12 +564,12 @@ class JianYingManager: def _get_configurations( self, - duration_capture: Optional[int] = None, + capture_duration: Optional[int] = None, ) -> Dict[str, Any]: """ - 获取节点配置 - :param duration_capture: 截取背景视频时长(单位为秒),默认为 None - :return: 节点配置 + 获取工作配置 + :param capture_duration: 截取背景视频时长(单位为秒),默认为 None + :return: 工作配置 """ configurations = {} for node_name in self.configurations: @@ -559,11 +598,11 @@ class JianYingManager: background_video_duration = VideoMaterial( path=configurations["add_background_video"]["material_path"].as_posix() ).duration - if duration_capture: - background_video_duration = duration_capture * 1_000_000 + if capture_duration: + background_video_duration = capture_duration * 1_000_000 - # 若包含添加字幕音频则在添加背景视频时其播放音量设置为 0 - if "add_subtitle_audio" in configurations: + # 若包含添加字幕视频则在添加背景视频时其播放音量设置为 0 + if "add_subtitle_video" in configurations: configurations["add_background_video"]["volume"] = 0.0 # 中贴视频特殊处理:背景视频、背景音频和字幕视频在轨道上的范围为 (0, 背景视频时长),中贴视频在轨道上的范围为 (背景视频时长, 中贴视频时长) diff --git a/短视频合成自动化/main.py b/短视频合成自动化/main.py index 9e22211..4aae234 100644 --- a/短视频合成自动化/main.py +++ b/短视频合成自动化/main.py @@ -4,15 +4,15 @@ """ # 列举导入模块 -from jiangying_manager import JianYingManager +from drafts_manager import DraftsManager if __name__ == "__main__": - # 实例化 JianYingManager - jianying_manager = JianYingManager( - materials_folder_path=r"E:\jianying\materials\淘宝闪购_达人", + # 实例化 DraftsManager + drafts_manager = DraftsManager( + materials_folder_path=r"E:\jianying\materials\存量", ) # 导出视频 - jianying_manager.batch_create( - draft_counts=200, + drafts_manager.batch_create( + draft_counts=1, )