虽然剪映没有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
网友回复


