虽然剪映没有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
网友回复
如何编写一个chrome插件实现多线程高速下载大文件?
cdn版本的vue在网页中出现typeerror错误无法找到错误代码位置怎么办?
pywebview能否使用webrtc远程控制共享桌面和摄像头?
pywebview6.0如何让窗体接受拖拽文件获取真实的文件路径?
如何在linux系统中同时能安装运行apk的安卓应用?
python有没有离线验证码识别ocr库?
各家的ai图生视频及文生视频的api价格谁最便宜?
openai、gemini、qwen3-vl、Doubao-Seed-1.6在ui截图视觉定位这款哪家更强更准?
如何在linux上创建一个沙箱隔离的目录让python使用?
pywebview如何使用浏览器自带语音识别与webspeech 的api?