在本安装包中,您将找到 DaVinci Resolve Studio 脚本 API(应用程序编程接口)的简要介绍。除本 README.txt 文件外,该安装包还包含多个文件夹,其中包含用于脚本访问的基础导入模块(如 DaVinciResolve.py)以及部分代表性示例脚本。

从 v16.2.0 版本开始,SetLUT() 和 SetCDL() 函数接收的 nodeIndex(节点索引)参数由 “0 基索引” 改为 “1 基索引”,即参数取值范围为 1 ≤ nodeIndex ≤ 总节点数

一、概述

与 Blackmagic Fusion 脚本相同,DaVinci Resolve Studio 支持用户使用 Lua 和 Python 编程语言编写脚本。默认情况下,脚本可通过以下方式调用:

  • Fusion 页面中的 “控制台” 窗口;
  • 命令行。

您可在 Resolve 偏好设置中修改脚本调用权限:仅允许通过控制台调用,或允许通过本地网络调用。请注意:当允许从 Resolve 应用程序外部进行脚本访问时,需关注潜在的安全风险。

二、前置条件

要使用 DaVinci Resolve 脚本功能,需为所有用户安装以下任一环境:

  • Lua 5.1
  • 64 位 Python 3.6 及以上版本
  • 64 位 Python 2.7 版本

三、脚本使用方法

DaVinci Resolve 必须处于运行状态,脚本才能被调用。

1. 从外部文件夹执行脚本

若要从外部文件夹执行 Resolve 脚本,脚本需先知晓 API 的存放位置。您可能需要设置以下环境变量,确保 Python 安装环境能正确加载所需依赖,不同系统的配置方式如下:

(1)Mac OS X 系统

bash

RESOLVE_SCRIPT_API="/Library/Application Support/Blackmagic Design/DaVinci Resolve/Developer/Scripting"
RESOLVE_SCRIPT_LIB="/Applications/DaVinci Resolve/DaVinci Resolve.app/Contents/Libraries/Fusion/fusionscript.so"
PYTHONPATH="$PYTHONPATH:$RESOLVE_SCRIPT_API/Modules/"
(2)Windows 系统

cmd

RESOLVE_SCRIPT_API="%PROGRAMDATA%\Blackmagic Design\DaVinci Resolve\Support\Developer\Scripting"
RESOLVE_SCRIPT_LIB="C:\Program Files\Blackmagic Design\DaVinci Resolve\fusionscript.dll"
PYTHONPATH="%PYTHONPATH%;%RESOLVE_SCRIPT_API%\Modules\"
(3)Linux 系统

bash

RESOLVE_SCRIPT_API="/opt/resolve/Developer/Scripting"
RESOLVE_SCRIPT_LIB="/opt/resolve/libs/Fusion/fusionscript.so"
PYTHONPATH="$PYTHONPATH:$RESOLVE_SCRIPT_API/Modules/"

注:对于标准 ISO 格式的 Linux 安装,上述路径可能需修改为 /home/resolve(而非 /opt/resolve)。

2. 从菜单或控制台执行脚本

与 Fusion 脚本类似,Resolve 脚本也可通过软件菜单或控制台调用:

  • 菜单调用(推荐):DaVinci Resolve 启动时,会扫描以下目录的子文件夹,并将发现的脚本在 “工作区” 应用菜单的 “脚本” 选项下列出。您可根据需求将脚本放在对应子文件夹中,实现 “特定页面可见”:

    • 放在 “Utility” 文件夹:所有页面均可看到;
    • 放在 “Comp” 或 “Tool” 文件夹:仅 Fusion 页面可见;
    • 放在 “Edit”“Color”“Deliver” 等文件夹:仅对应页面可见(“Deliver” 文件夹下的脚本还会在渲染任务列表中显示)。

    不同系统的脚本存放路径如下:

    系统 所有用户路径 单个用户路径
    Mac OS X /Library/Application Support/Blackmagic Design/DaVinci Resolve/Fusion/Scripts /Users/<用户名>/Library/Application Support/Blackmagic Design/DaVinci Resolve/Fusion/Scripts
    Windows %PROGRAMDATA%\Blackmagic Design\DaVinci Resolve\Fusion\Scripts %APPDATA%\Roaming\Blackmagic Design\DaVinci Resolve\Support\Fusion\Scripts
    Linux /opt/resolve/Fusion/Scripts(或 /home/resolve/Fusion/Scripts,依安装路径而定) $HOME/.local/share/DaVinciResolve/Fusion/Scripts
  • 控制台调用:交互式 “控制台” 窗口可快速执行简单脚本命令(如查询 / 修改属性、测试脚本),支持 Python 2.7、Python 3.6 和 Lua 语言,输入命令后会立即执行。有关控制台的详细使用方法,请参考《DaVinci Resolve 用户手册》。

3. 示例脚本:创建简单项目

以下 Python 脚本示例演示了如何创建一个基础项目:

python

运行

#!/usr/bin/env python
# 导入 DaVinci Resolve 脚本模块
import DaVinciResolveScript as dvr_script
# 连接到 Resolve 应用
resolve = dvr_script.scriptapp("Resolve")
# 获取 Fusion 对象(用于访问 Fusion 脚本功能)
fusion = resolve.Fusion()
# 获取项目管理器对象
projectManager = resolve.GetProjectManager()
# 创建名为“Hello World”的项目
projectManager.CreateProject("Hello World")

说明:resolve 对象是 Resolve 脚本的基础入口(原生对象),可通过以下方式查看其可脚本化属性:

  • Lua 语言:使用表格迭代(table iteration)和 getmetatable 函数;
  • Python 语言:使用 dir()help() 等函数。其中 fusion 对象是重要的可脚本化对象,可通过它访问所有 Fusion 脚本功能。

四、以无头模式运行 DaVinci Resolve

DaVinci Resolve 可通过命令行参数 -nogui 以 “无头模式”(无用户界面)启动。在此模式下,软件界面会被禁用,但所有脚本 API 仍可正常工作。

五、DaVinci Resolve API 详解

以下介绍部分常用 API 函数(*)。与 resolve 对象类似,每个对象的属性和函数均可通过上述 “查看属性” 的方式查询。

1. Resolve 对象(软件全局入口)

函数名 返回值类型 功能说明
Fusion() Fusion 返回 Fusion 对象,是 Fusion 脚本的入口。
GetMediaStorage() MediaStorage 返回媒体存储对象,用于查询和操作媒体文件路径。
GetProjectManager() ProjectManager 返回当前已打开数据库的项目管理器对象。
OpenPage(pageName) Bool(布尔值) 切换到 DaVinci Resolve 的指定页面,pageName 可选值:"media"(媒体)、"cut"(剪辑)、"edit"(编辑)、"fusion"(Fusion)、"color"(调色)、"fairlight"(音频)、"deliver"(交付)。
GetCurrentPage() String(字符串) 返回主窗口当前显示的页面,可选值同上,无页面时返回 None。
GetProductName() String 返回产品名称。
GetVersion() [版本字段列表] 以 [主版本号,次版本号,补丁号,构建号,后缀] 格式返回产品版本。
GetVersionString() String 以 “主版本号。次版本号。补丁号 [后缀]. 构建号” 格式返回产品版本(如 "18.5.1.build7")。
LoadLayoutPreset(presetName) Bool 从已保存的预设 “presetName” 加载 UI 布局。
UpdateLayoutPreset(presetName) Bool 用当前 UI 布局覆盖预设 “presetName”。
ExportLayoutPreset(presetName, filePath) Bool 将预设 “presetName” 导出到路径 “filePath”。
DeleteLayoutPreset(presetName) Bool 删除预设 “presetName”。
SaveLayoutPreset(presetName) Bool 将当前 UI 布局保存为预设 “presetName”。
ImportLayoutPreset(filePath, presetName) Bool 从路径 “filePath” 导入预设;可选参数 “presetName” 指定预设名称,未指定则以文件名作为预设名。
Quit() None(无返回值) 关闭 Resolve 应用。
ImportRenderPreset(presetPath) Bool 从路径 “presetPath” 导入渲染预设,并设为当前渲染预设。
ExportRenderPreset(presetName, path) Bool 若预设 “presetName” 存在,将其导出到路径 “path”。
ImportBurnInPreset(presetPath) Bool 从路径 “presetPath” 导入数据叠加(burn-in)预设。
ExportBurnInPreset(presetName, path) Bool 若预设 “presetName” 存在,将其导出到路径 “path”。
GetKeyframeMode() keyframeMode(枚举) 返回当前关键帧模式(整数),详情见 “关键帧模式说明” 章节。
SetKeyframeMode(keyframeMode) Bool 成功设置关键帧模式(枚举值)时返回 True,详情见 “关键帧模式说明” 章节。

2. ProjectManager 对象(项目管理器)

函数名 返回值类型 功能说明
ArchiveProject(projectName, filePath, isArchiveSrcMedia=True, isArchiveRenderCache=True, isArchiveProxyMedia=False) Bool 将项目 “projectName” 归档到路径 “filePath”,可选参数控制是否归档源媒体(isArchiveSrcMedia)、渲染缓存(isArchiveRenderCache)、代理媒体(isArchiveProxyMedia)。
CreateProject(projectName) Project 若 “projectName” 名称唯一,创建并返回项目;否则返回 None。
DeleteProject(projectName) Bool 若项目 “projectName” 未加载,从当前文件夹中删除该项目。
LoadProject(projectName) Project 若找到名称为 “projectName” 的项目,加载并返回该项目;否则返回 None。
GetCurrentProject() Project 返回当前已加载的 Resolve 项目。
SaveProject() Bool 以当前名称保存已加载的项目,成功返回 True。
CloseProject(project) Bool 关闭指定项目(不保存)。
CreateFolder(folderName) Bool 若 “folderName” 名称唯一,创建文件夹。
DeleteFolder(folderName) Bool 若文件夹 “folderName” 存在,删除该文件夹,成功返回 True。
GetProjectListInCurrentFolder() [项目名称列表] 返回当前文件夹中的所有项目名称。
GetFolderListInCurrentFolder() [文件夹名称列表] 返回当前文件夹中的所有子文件夹名称。
GotoRootFolder() Bool 打开数据库的根文件夹。
GotoParentFolder() Bool 若当前文件夹有父文件夹,打开父文件夹。
GetCurrentFolder() String 返回当前文件夹名称。
OpenFolder(folderName) Bool 打开名称为 “folderName” 的文件夹。
ImportProject(filePath, projectName=None) Bool 从路径 “filePath” 导入项目,可选参数 “projectName” 指定项目名,成功返回 True。
ExportProject(projectName, filePath, withStillsAndLUTs=True) Bool 将项目 “projectName” 导出到路径 “filePath”,默认包含静帧和 LUT(调色文件),成功返回 True。
RestoreProject(filePath, projectName=None) Bool 从路径 “filePath” 恢复项目,可选参数 “projectName” 指定项目名,成功返回 True。
GetCurrentDatabase() {数据库信息字典} 返回当前数据库连接的信息字典,包含键:"DbType"(数据库类型)、"DbName"(数据库名)、可选键 "IpAddress"(IP 地址)。
GetDatabaseList() [{数据库信息字典列表}] 返回所有已添加到 Resolve 的数据库信息列表,每个元素为上述字典。
SetCurrentDatabase({dbInfo}) Bool 切换当前数据库连接到 “dbInfo” 指定的数据库(需包含 "DbType"("Disk" 或 "PostgreSQL")、"DbName"(数据库名),PostgreSQL 数据库可选 "IpAddress",默认 "127.0.0.1"),切换前会关闭所有已打开项目。
CreateCloudProject({cloudSettings}) Project 创建并返回云项目,“cloudSettings” 参数详情见 “云项目设置” 章节。
LoadCloudProject({cloudSettings}) Project 若找到匹配 “cloudSettings” 的云项目,加载并返回该项目;否则返回 None,参数详情见 “云项目设置” 章节。
ImportCloudProject(filePath, {cloudSettings}) Bool 从路径 “filePath” 导入云项目,成功返回 True,参数详情见 “云项目设置” 章节。
RestoreCloudProject(folderPath, {cloudSettings}) Bool 从文件夹路径 “folderPath” 恢复云项目,成功返回 True,参数详情见 “云项目设置” 章节。

3. 其他核心对象 API 概览

除上述对象外,文档还详细定义了 Project(项目)、MediaStorage(媒体存储)、MediaPool(媒体池)、Timeline(时间线)、TimelineItem(时间线片段)等核心对象的 API,以下为各对象的核心功能总结:

对象名 核心功能 代表性函数举例
Project 单个项目的操作(媒体池、时间线、渲染任务管理) GetMediaPool ()(获取媒体池)、AddRenderJob ()(添加渲染任务)、StartRendering ()(开始渲染)
MediaStorage 媒体文件管理(查询路径、导入素材到媒体池) GetFileList (folderPath)(获取文件夹内文件列表)、AddItemListToMediaPool ()(导入素材到媒体池)
MediaPool 媒体池文件夹 / 时间线管理(创建时间线、导入素材、移动剪辑) CreateEmptyTimeline ()(创建空时间线)、ImportMedia ()(导入媒体)、AppendToTimeline ()(添加片段到时间线)
Folder 媒体池文件夹操作(查询剪辑、子文件夹、导出文件夹) GetClipList ()(获取文件夹内剪辑列表)、Export (filePath)(导出文件夹为 DRB 格式)
MediaPoolItem 单个媒体素材操作(修改名称、添加标记、链接代理媒体) SetName ()(修改素材名)、AddMarker ()(添加标记)、LinkProxyMedia ()(链接代理媒体)
Timeline 时间线操作(添加轨道、删除片段、生成字幕、导出工程文件) AddTrack ()(添加轨道)、CreateSubtitlesFromAudio ()(从音频生成字幕)、Export ()(导出 AAF/EDL 等工程文件)
TimelineItem 时间线片段操作(缩放、调色、防抖、添加 Fusion 合成) SetProperty ()(修改片段属性如缩放)、Stabilize ()(片段防抖)、ExportLUT ()(导出 LUT 调色文件)
Gallery 静帧 / 调色预设管理(创建相册、导入 / 导出静帧) CreateGalleryStillAlbum ()(创建静帧相册)、ImportStills ()(导入静帧)
Graph 调色节点图操作(设置 LUT、重置调色、启用 / 禁用节点) SetLUT ()(给节点设置 LUT)、ResetAllGrades ()(重置所有调色)、SetNodeEnabled ()(启用 / 禁用节点)
ColorGroup 调色组操作(修改组名、查询组内片段、分配片段到组) SetName ()(修改组名)、GetClipsInTimeline ()(查询组内片段)

六、数据结构说明

除基础数据类型(如整数、字符串)外,Resolve Python API 主要使用 列表(List) 和 字典(Dict) 两种数据结构:

  • 列表:用 [元素1, 元素2, ...] 表示,如 [1, 2, 3]
  • 字典:用 {键1: 值1, 键2: 值2, ...} 表示,如 {"name": "项目1", "frameRate": 24}

由于 Lua 语言不原生支持列表和字典,其 API 用 “表格(Table)” 模拟这两种结构:

  • 列表 → 带索引的表格:{ [1] = 元素1, [2] = 元素2, ... }
  • 字典 → 带键的表格:{ 键1 = 值1, 键2 = 值2, ... }

七、关键补充说明

1. 关键帧模式说明

Resolve.GetKeyframeMode() 和 Resolve.SetKeyframeMode() 函数中的 “关键帧模式(keyframeMode)” 为枚举值,对应含义如下:

枚举值 整数对应值 功能说明
resolve.KEYFRAME_MODE_ALL 0 操作所有类型关键帧
resolve.KEYFRAME_MODE_COLOR 1 仅操作调色类型关键帧
resolve.KEYFRAME_MODE_SIZING 2 仅操作缩放 / 尺寸类型关键帧

2. 缓存模式说明

Graph.GetNodeCacheMode() 和 Graph.SetNodeCacheMode() 函数中的 “缓存模式(cache_value)” 为枚举值,对应含义如下:

枚举值 整数对应值 功能说明
resolve.CACHE_AUTO_ENABLED -1 自动启用缓存
resolve.CACHE_DISABLED 0 禁用缓存
resolve.CACHE_ENABLED 1 启用缓存

3. 云项目设置说明

ProjectManager 的 CreateCloudProject()LoadCloudProject() 等函数需传入 {cloudSettings} 字典参数,包含以下键(默认值已标注):

键名 类型 默认值 功能说明
resolve.CLOUD_SETTING_PROJECT_NAME String ""(空字符串) 云项目名称
resolve.CLOUD_SETTING_PROJECT_MEDIA_PATH String "" 云项目媒体文件路径(必填)
resolve.CLOUD_SETTING_IS_COLLAB Bool False 是否启用协作模式
resolve.CLOUD_SETTING_SYNC_MODE syncMode(枚举) resolve.CLOUD_SYNC_PROXY_ONLY 同步模式,可选值:resolve.CLOUD_SYNC_NONE(不同步)、resolve.CLOUD_SYNC_PROXY_ONLY(仅同步代理)、resolve.CLOUD_SYNC_PROXY_AND_ORIG(同步代理和原文件)
resolve.CLOUD_SETTING_IS_CAMERA_ACCESS Bool False 是否允许相机访问

注:LoadCloudProject() 仅支持上述前 3 个键,且同一系统首次加载时会应用所有 3 个设置,后续加载仅需指定 “项目名称”。

4. 音频同步设置说明

MediaPool.AutoSyncAudio() 函数需传入 {audioSyncSettings} 字典参数,用于设置音视频自动同步规则,包含以下键(默认值已标注):

键名 类型 默认值 功能说明
resolve.AUDIO_SYNC_MODE audioSyncMode(枚举) resolve.AUDIO_SYNC_TIMECODE 同步模式,可选值:resolve.AUDIO_SYNC_WAVEFORM(波形同步)、resolve.AUDIO_SYNC_TIMECODE(时间码同步)
resolve.AUDIO_SYNC_CHANNEL_NUMBER channelNumber(枚举 / 整数) 1 声道偏移(波形同步时生效),可选值:resolve.AUDIO_SYNC_CHANNEL_AUTOMATIC(自动,-1)、resolve.AUDIO_SYNC_CHANNEL_MIX(混合声道,-2)、1~ 最大声道数(具体声道偏移)
resolve.AUDIO_SYNC_RETAIN_EMBEDDED_AUDIO Bool False 是否保留嵌入音频
resolve.AUDIO_SYNC_RETAIN_VIDEO_METADATA Bool False 是否保留视频元数据

5. 项目 / 剪辑属性说明

Project.GetSetting()MediaPoolItem.GetClipProperty() 等函数用于获取 / 设置 “项目设置” 或 “剪辑属性”(对应软件 UI 中的 “项目设置” 和 “剪辑属性” 对话框),操作规则如下:

  • 获取属性:调用函数时传入属性键(如 project.GetSetting("timelineFrameRate")),可获取单个属性值;若不传入参数(或传入 None / 空字符串),可获取所有可查询属性的 “键 - 值” 快照(但效率较低,建议按键查询)。
  • 设置属性:调用函数时传入 “属性键 + 值”(如 project.SetSetting("timelineFrameRate", "24")),需通过返回值(Bool)确认是否设置成功。

部分属性有固定枚举值,例如:

  • 项目属性 “superScale”(超缩放):0 = 自动、1 = 无缩放、2=2 倍缩放、3=3 倍缩放、4=4 倍缩放;
  • 剪辑属性 “Cloud Sync”(云同步):-1 = 默认、0 = 排队下载、1 = 下载中、2 = 下载成功等。

6. 音频映射说明

MediaPoolItem.GetAudioMapping() 和 TimelineItem.GetSourceAudioChannelMapping() 函数返回音频映射信息(JSON 格式字符串),包含嵌入式音频、链接音频、轨道映射等信息。例如,某素材包含 “1 个立体声嵌入式轨道 + 2 个链接轨道(7.1 声道、5.1 声道)”,返回结果格式如下:

json

{
  "embedded_audio_channels": 2,  // 所有轨道的嵌入式音频总声道数
  "linked_audio": {              // 链接音频信息列表
    "1": {                       // 第1个链接音频(7.1声道)
      "channels": 8,             // 声道数
      "offset": -100,            // 音频偏移(媒体0帧对应文件100帧)
      "path": "链接音频文件路径"
    },
    "2": {                       // 第2个链接音频(5.1声道)
      "channels": 6,
      "offset": 200,             // 媒体0帧对应文件200帧(前200帧为黑场)
      "path": "链接音频文件路径"
    }
  },
  "track_mapping": {             // 轨道映射(对应软件“音频剪辑属性”界面)
    "1": {                       // 第1个轨道(立体声)
      "channel_idx": [1, 3],     // 声道索引(1=嵌入式第1声道,3=第1个链接音频第1声道)
      "mute": true,              // 是否静音
      "type": "Stereo"           // 轨道类型(声道数与“channel_idx”长度一致)
    },
    "2": {                       // 第2个轨道(7.1声道)
      "channel_idx": [3,4,5,6,7,8,9,10],
      "mute": true,
      "type": "7.1"
    },
    "3": {                       // 第3个轨道(5.1声道)
      "channel_idx": [1,1,1,1,15,16],
      "mute": false,
      "type": "5.1"
    }
  }
}

7. 自动字幕设置说明

Timeline.CreateSubtitlesFromAudio() 函数需传入 {autoCaptionSettings} 字典参数,用于设置从音频生成字幕的规则,包含以下键(默认值已标注):

键名 类型 默认值 功能说明
resolve.SUBTITLE_LANGUAGE languageID(枚举) resolve.AUTO_CAPTION_AUTO 字幕语言,可选值如英语(AUTO_CAPTION_ENGLISH)、中文简体(AUTO_CAPTION_MANDARIN_SIMPLIFIED)等
resolve.SUBTITLE_CAPTION_PRESET presetType(枚举) resolve.AUTO_CAPTION_SUBTITLE_DEFAULT 字幕预设,可选值:默认(SUBTITLE_DEFAULT)、电视文字广播(TELETEXT)、Netflix 标准(NETFLIX)
resolve.SUBTITLE_CHARS_PER_LINE 整数 42 每行字符数(1~60),部分预设(如 Netflix)会自动调整默认值(如韩语默认 16)
resolve.SUBTITLE_LINE_BREAK lineBreakType(枚举) resolve.AUTO_CAPTION_LINE_SINGLE 换行模式,可选值:单行(LINE_SINGLE)、双行(LINE_DOUBLE)
resolve.SUBTITLE_GAP 整数 0 字幕间隙(0~10)

8. 渲染设置说明

Project.SetRenderSettings() 函数需传入 {settings} 字典参数,用于配置渲染规则,核心键如下:

键名 类型 功能说明
"SelectAllFrames" Bool 设为 True 时,忽略 “MarkIn” 和 “MarkOut”(渲染整个时间线)
"MarkIn"/"MarkOut" 整数 渲染起始 / 结束帧(需设 “SelectAllFrames” 为 False)
"TargetDir" String 渲染文件输出目录
"CustomName" String 渲染文件名前缀
"ExportVideo"/"ExportAudio" Bool 是否导出视频 / 音频
"AudioCodec" String 音频编码(如 "wav"、"aac")
"AudioBitDepth" 整数 音频位深(如 16、24)
"AudioSampleRate" 浮点数 音频采样率(如 44100、48000)
"VideoQuality" 整数 / 字符串 视频质量(0 = 自动,1~ 最大值 = 比特率,或 "Low"/"Medium"/"High"/"Best")

9. 时间线导出属性说明

Timeline.Export(fileName, exportType, exportSubtype) 函数用于导出时间线为工程文件,参数说明如下:

  • exportType(导出类型):枚举值,如 resolve.EXPORT_AAF(AAF 格式)、resolve.EXPORT_EDL(EDL 格式)、resolve.EXPORT_FCPXML_1_10(FCPXML 1.10 格式)等;
  • exportSubtype(导出子类型):部分导出类型必填,例如:
    • 导出 AAF 时:可选 resolve.EXPORT_AAF_NEW(新建)或 resolve.EXPORT_AAF_EXISTING(更新现有);
    • 导出 EDL 时:可选 resolve.EXPORT_CDL(包含 CDL 调色)、resolve.EXPORT_SDL(包含 SDL 信息)等。

注:从 DaVinci Resolve 18.1 开始,不再支持 EXPORT_FCPXML_1_3 到 EXPORT_FCPXML_1_7 等旧版 FCPXML 格式。

10. 时间线片段属性说明

TimelineItem.SetProperty() 和 TimelineItem.GetProperty() 函数用于设置 / 获取时间线片段的属性,部分核心属性及取值范围如下:

属性名 取值范围 功能说明
"Pan"/"Tilt" -4.0× 宽度~4.0× 宽度 /-4.0× 高度~4.0× 高度 平移 / 倾斜
"ZoomX"/"ZoomY" 0.0 ~ 100.0 X/Y 轴缩放比例
"RotationAngle" -360.0 ~ 360.0 旋转角度
"Opacity" 0.0 ~ 100.0 不透明度
"CompositeMode" 枚举值(如 COMPOSITE_NORMAL = 正常、COMPOSITE_MULTIPLY = 正片叠底) 合成模式
"RetimeProcess" 枚举值(如 RETIME_FRAME_BLEND = 帧混合、RETIME_OPTICAL_FLOW = 光流法) 变速处理方式

11. LUT 导出说明

TimelineItem.ExportLUT(exportType, path) 函数用于导出片段的 LUT 调色文件,exportType(导出类型)为枚举值,对应含义如下:

枚举值 功能说明
resolve.EXPORT_LUT_17PTCUBE 导出 17 点 CUBE 格式 LUT
resolve.EXPORT_LUT_33PTCUBE 导出 33 点 CUBE 格式 LUT
resolve.EXPORT_LUT_65PTCUBE 导出 65 点 CUBE 格式 LUT
resolve.EXPORT_LUT_PANASONICVLUT 导出松下 VLUT 格式 LUT

注:若导出路径未指定后缀或后缀错误,函数会自动添加正确后缀(.cube 或 .vlt)。

八、废弃与不支持的 API 函数

1. 废弃函数(不建议使用,有替代方案)

对象名 废弃函数 替代函数
ProjectManager GetProjectsInCurrentFolder() GetProjectListInCurrentFolder()
ProjectManager GetFoldersInCurrentFolder() GetFolderListInCurrentFolder()
Project GetPresets() GetPresetList()
Project GetRenderJobs() GetRenderJobList()
MediaStorage GetMountedVolumes() GetMountedVolumeList()
MediaStorage AddItemsToMediaPool() AddItemListToMediaPool()
Folder GetClips() GetClipList()
Timeline GetItemsInTrack() GetItemListInTrack()

2. 不支持的函数(完全无法使用)

对象名 不支持的函数 替代方案
Project StartRendering(index1, index2, ...) 使用任务 ID 替代索引,如 StartRendering (jobId1, jobId2, ...)
Project DeleteRenderJobByIndex(idx) DeleteRenderJob (jobId)(用任务 ID 删除)
Project GetRenderJobStatus(idx) GetRenderJobStatus (jobId)(用任务 ID 查询)
Project 设置属性 “videoMonitorUseRec601For422SDI” 替换为 “videoMonitorUseMatrixOverrideFor422SDI” 和 “videoMonitorMatrixOverrideFor422SDI”
Project 设置属性 “perfProxyMediaOn” 替换为 “perfProxyMediaMode”(0 = 禁用、1 = 有代理时使用、2 = 无原文件时使用)

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐