虽然剪映没有sdk来进行模板批量剪辑,但是通过剪映的草稿箱可以实现这个功能。
实现原理:剪映草稿文件采用 JSON 格式保存。只需手动创建draft_content.json和draft_mate_info.json文件,其余文件在打开剪映软件后将自动完成。这两个文件都包含素材信息,其中draft_mate_info.json中的素材将显示在剪映左侧的素材库中,而draft_content.json中的素材将显示在下方的时间线上。将媒体素材添加到剪映软件,相关数据将被记录进 “草稿元数据库” 和 “草稿内容库”,包括素材和轨道信息。
代码示例:
import os.path from BasicLibrary.projectHelper import ProjectHelper from JianYingDraft.core.draft import Draft from JianYingDraft.utils import tools from JianYingDraft.utils.dataStruct import TransitionData, AnimationData from draftContext import DraftContext def basic_using(): """ 最简使用方式 @return: """ # 0. 可以给草稿指定名字,比如Draft("古诗词欣赏");如果不指定名字的话,默认是根据时间戳自动生成草稿名字 draft = Draft() root_path = ProjectHelper.get_root_physical_path() middle_path = ".res" # 1. 添加两幅图片,分别设置不同的播放时间 image1_full_name = os.path.join(root_path, middle_path, "古诗1.jpg") image2_full_name = os.path.join(root_path, middle_path, "古诗2.jpg") draft.add_media(image1_full_name) # 图片如果不指定duration,默认播放5秒 draft.add_media(image2_full_name, duration=4_000_000) # 指定图片播放时长为4秒 # 2. 添加背景音乐,音频长度会根据视频的长度自动剪截 music_full_name = os.path.join(root_path, middle_path, "似是故人来.mp3") ## 2.1. 最简方式:直接添加音频文件的地址即可。 # draft.add_media(music_full_name) ## 2.2. 也可以给音频指定淡入淡出时长 draft.add_media(music_full_name, fade_in_duration=1_000_000, fade_out_duration=1_500_000) draft.save()
推荐这个项目:https://github.com/notinmood/JianyingDraft.PY
网友回复