+
94
-

回答

虽然剪映没有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

网友回复

我知道答案,我要回答