AI视频分镜工作流
用 AI 构建我的视频分镜工作流:从素材到剪辑方案的自动化流程
AI视频分镜工作流
在以往的创作过程中,我的视频剪辑通常依赖手动挑选素材、分析画面和规划节奏。随着素材量的增加,这种方式越来越难以高效管理。于是,我开始尝试让 AI 参与进来,扮演一个“分镜分析师”和“剪辑策划”的角色。本文将完整记录我使用 AI 构建视频分镜工作流的全过程。
1. 工作流概览
我的目标并不是让 AI 替我剪视频,而是让 AI 帮我完成剪辑前的认知工作——包括画面理解、分镜分析、节奏规划和主题构思。整个流程可以分为三步:
- AI 分镜分析:通过提示词让 AI 担任“分镜分析助手”,逐帧或逐镜理解素材内容。
- 视频注释与结构化整理:将 AI 的描述写入视频文件的注释中,并提取为结构化数据。
- AI 剪辑策划生成:将这些结构化信息输入模型,由 AI 自动生成完整的剪辑方案。
这样一来,我可以在极短时间内完成对大量视频素材的语义理解与初步编排。
2. AI 分镜分析提示词设计
这部分是整个流程的核心。我希望 AI 能以专业分镜师的视角来分析画面结构,因此我编写了如下提示词:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
您好!我将持续为您提供图片,请您担任我的「分镜分析助手」。请严格遵循以下规则,为每一张我上传的图片生成一个简洁、精准的镜头描述。
【您的角色】
您是专业的电影摄影师和分镜师,擅长用最精炼的语言解构视觉画面,为后续的AI视频生成提供高度结构化的场景信息。
【核心指令】
请根据我提供的图片,生成一个包含以下要素的镜头描述。描述必须高度概括、易于解析。
【输出格式与要素】
请务必按此顺序和格式组织语言,确保描述在150字以内:
前景: [描述画面最前方的核心元素,如岩石、植被等,并说明其状态和标志性细节]
中景: [描述画面中间部分的核心内容,如水面、滩涂、平原等]
背景: [描述远景和天空,包括山峦轮廓、天气和光线条件]
构图: [分析构图逻辑,如拍摄角度(平视/俯视)、构图法则(三分法/对称)、空间层次感]
色调与氛围: [总结核心色调、明暗对比,并用2-3个关键词概括整体氛围(如:静谧、荒凉、苍茫、萧瑟)]
【要求】
语言: 使用短句,分点陈述,避免冗长和抒情。
细节: 突出画面中标志性的、独特的细节(例如:“覆盖橙黄色苔藓的岩石”、“枯黄低伏的草丛”)。
目的: 该描述将直接用于AI视频生成,因此请确保信息结构化、无歧义,便于AI解析和学习。
现在,请为我接下来上传的图片生成符合上述要求的描述。
这样的提示词能让模型生成更符合影视专业语言的结果,例如:
1
2
3
4
5
前景: 一只白色卷毛羊,从00:00的卧姿(头转向左侧)转变为01:19的站立低头吃草姿态。
中景: 一片绿色的草地,作为羊的主要活动平面。
背景: 模糊的树木与黄色标志牌,景深较浅。
构图: 平视拍摄,主体偏右,构图稳定。
色调与氛围: 自然绿色与白色主调,光线明亮。氛围:宁静,自然。
这些文字我会直接写入视频文件的注释中,达到元数据的绑定(如下图所示👇)
3. 结构化整理与数据提取
当所有素材都完成注释后,我编写了一个简单的 zsh 函数,用来自动提取视频的基础信息与 AI 生成的注释,输出为一份 CSV 文件:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
generate_storyboard_csv() {
local target_dir="$1"
[[ -d "$target_dir" ]] || { echo "error: 无效文件夹" >&2; exit 1; }
local output="$HOME/Downloads/Storyboard_Metadata_$(date +%Y%m%d_%H%M%S).csv"
# 写入 UTF-8 BOM + 表头
{
printf '\xEF\xBB\xBF'
echo "file_path,file_type,comment,duration_sec,resolution,aspect_ratio"
} >| "$output"
setopt extended_glob null_glob local_options
# 递归获取所有非隐藏媒体文件
local files=( $target_dir/**/*(.^D) )
local filtered_files=()
for f in $files; do
[[ "$f" != */.* ]] && filtered_files+=("$f")
done
for file in $filtered_files; do
[[ -f "$file" ]] || continue
local ext="${file:e:l}" type=""
case "$ext" in
jpg|jpeg|png|gif|tiff|webp|heic|bmp) type="image" ;;
mp4|mov|m4v|avi|mkv|webm|mpg|mpeg|flv|3gp) type="video" ;;
mp3|wav|aiff|aac|m4a|flac|ogg) type="audio" ;;
*) continue ;;
esac
local comment=$(mdls -name kMDItemFinderComment "$file" 2>/dev/null | awk -F '"' '{print $2}')
[[ -z "$comment" ]] && comment=""
local duration="0" resolution="" aspect=""
if [[ "$type" = "video" || "$type" = "audio" ]]; then
local dur=$(mdls -name kMDItemDurationSeconds -raw "$file" 2>/dev/null)
[[ -n "$dur" && "$dur" != "(null)" ]] && duration="$dur"
fi
if [[ "$type" = "video" ]]; then
local w=$(mdls -name kMDItemPixelWidth -raw "$file" 2>/dev/null)
local h=$(mdls -name kMDItemPixelHeight -raw "$file" 2>/dev/null)
if [[ -n "$w" && -n "$h" && "$w" != "(null)" && "$h" != "(null)" ]]; then
resolution="${w}x${h}"
if (( w == 1920 && h == 1080 )) || (( w == 1280 && h == 720 )) || (( w == 3840 && h == 2160 )); then
aspect="16:9"
elif (( w == 1080 && h == 1920 )) || (( w == 720 && h == 1280 )); then
aspect="9:16"
elif (( w == 1080 && h == 1080 )); then
aspect="1:1"
else
gcd() { local a=$1 b=$2; while (( b != 0 )); do local t=$b; b=$(( a % b )); a=$t; done; echo $a; }
local g=$(gcd $w $h 2>/dev/null || echo 1)
(( g > 0 )) && aspect="$(( w / g )):$(( h / g ))" || aspect="$w:$h"
fi
fi
fi
printf '"%s","%s","%s","%s","%s","%s"\n' \
"${file//\"/\"\"}" "$type" "${comment//\"/\"\"}" "$duration" "$resolution" "$aspect" >> "$output"
done
echo "$output"
}
使用示例:
1
generate_storyboard_csv 文件夹路径
返回的 CSV 文件示例:
1
2
3
4
file_path,file_type,comment,duration_sec,resolution,aspect_ratio
"/Users/.../C0001.MP4","video","前景:飞机右侧的银灰色机翼局部...","60.96","3840x2160","16:9"
"/Users/.../C0003.MP4","video","前景:卧地的成年绵羊与三只小羊羔...","11.52","1920x1080","16:9"
...
这份 CSV 就是一个素材数据库:它既包含视频的技术参数,也囊括了 AI 的视觉理解结果。之后我可以让 AI 基于这些结构化数据,去生成整体的剪辑方案。
4. AI 生成的剪辑方案
最后一步,是让 AI 读取我提取的素材表,并根据画面描述自动生成一个完整的剪辑脚本,对于此,我编写了这样的 prompt:
1
2
3
4
5
6
请你担任我的专业视频剪辑助手,根据我提供的素材数据生成一份详细的分镜剪辑脚本。请严格遵循以下要求:
1. 输出结构: - 首先,提供一个总览信息表,包含【VLOG标题】、【总时长】、【核心氛围】和【Suno音乐提示】。 - 然后,生成详细的分镜Markdown表格,必须包含这些列:[时间段 | 素材编号 | 使用片段建议 | 镜头时长 | 画面内容描述 | 剪辑手法 & 转场 | 声音处理]
2. 分析维度: - 主题与风格:根据素材氛围自动推断VLOG主题和核心氛围关键词。 - Suno音乐提示:基于整体基调,生成一个精炼的、符合Suno要求的英文提示词,明确描述【乐器】、【风格】、【情绪】和【节奏】,例如:Suno Prompt: "Calming piano with soft strings, cinematic ambient style, evokes a feeling of a tranquil and vast journey over mountains and clouds, slow tempo, no drums, peaceful mood."。 - 节奏规划:合理规划开场、发展、高潮、结尾部分的时间和情绪起伏。 - 剪辑细节:为每个镜头建议具体手法、转场和声音处理。
3. 要求:- 语言:精准、简洁,使用专业术语。 - 结构化:高度结构化,便于直接执行剪辑。
请根据我后续提供的素材数据表,先生成总览和Suno提示,再生成完整的分镜脚本:
<<-- 素材数据表.csv -->>
然后 ai 就会给出这样的一份分镜脚本:
VLOG总览信息表
项目 内容 VLOG标题 《云与地的遐想:一段静谧旅途》 总时长 约 3分30秒 (210秒) 核心氛围 静谧、空旷、旅途感、宁静、自然 Suno音乐提示 Suno Prompt: “Gentle, ambient piano with soft, expansive strings and a subtle, distant pad. Cinematic and contemplative style, evokes a feeling of peaceful solitude and vast, open landscapes. Slow to medium tempo, no percussion, serene and uplifting mood.” 分镜剪辑脚本详细表格
时间段 素材编号 使用片段建议 镜头时长 画面内容描述 剪辑手法 & 转场 声音处理 00:00 - 00:12 C0001.MP4 开头10秒 12s 开场: 飞机银灰色机翼作为前景,下方是广袤无垠的云海,冷灰蓝色调,氛围静谧空旷。 开场定调: 从黑场淡入。固定镜头,极慢速的缩放推进,营造沉浸感。 音乐淡入。保留原始环境白噪音,音量压低,营造空间感。 00:12 - 00:30 C0002.MP4 精华片段15秒 18s 发展: 转场至黄昏时机翼视角,冷暖色调对比,霞光弥漫,氛围壮丽而宁静。 匹配剪辑: 利用相似的机翼前景构图进行平滑的叠化转场。镜头保持稳定。 音乐持续,可在此段落加入极轻柔的风声音效垫底,增强临场感。 00:30 - 01:15 C0004.MP4 全部或前半部分 25s 节奏过渡: 视角从天空转向大地。萧瑟苍茫的滩涂景象,橙黄色苔藓岩石与灰黑色山峦。 切入: 直接剪切,形成场景的对比与转换。可进行速度调整(0.8x),放缓节奏。 音乐保持。环境音切换为轻微的风声或远处的水流声。 01:15 - 02:05 C0002.MP4 中段片段 20s 高潮铺垫: 回到公路引导线镜头。笔直的道路延伸至远方雪山,构图极具纵深感与希望感。 J-Cut: 先响起下一段羊群的环境音(羊叫、吃草声),再切入画面。使用线性擦除 方向性转场。 音乐情绪略微上扬。引入下一场景的声音预置。 02:05 - 03:10 C0003.MP4 C0001.MP4 C0002.MP4 组合使用 35s 情绪高点: 【组合镜头】 1. 母羊与小羊羔的温馨互动特写(C0003)。 2. 两只带标记的羊在栅栏前吃草(C0001)。 3. 白色卷毛羊从卧到站的动态过程(C0002)。 快速剪辑: 一组匹配动作和匹配构图的连贯剪辑,时长5s/10s/20s。使用交叉溶解 柔和过渡,营造悠闲、温馨的田园氛围。 音乐达到最明亮段落。突出自然音:羊叫、吃草声、鸟鸣声。 03:10 - 03:25 C0006.MP4 天鹅抬头游动的片段 15s 结尾开始: 黑天鹅在湖中优雅游动,红喙成为视觉焦点,氛围回归宁静与优雅。 L-Cut: 羊群画面切走,但环境音持续片刻,再过渡到天鹅的水流声。使用渐隐黑色 转场。 音乐开始缓慢减弱。环境音过渡为天鹅划水声和轻柔的水波声。 03:25 - 03:30 C0001.MP4 最后5秒 5s 结尾: 最终画面落回最初的云海与机翼,首尾呼应。寓意旅途循环,思绪飘向远方。 淡出: 画面缓慢渐隐至黑场,音乐也随之完全淡出,留下余韵。 音乐和环境白噪音共同淡出,直至完全安静。
脚本会精确到:时间段、使用哪个素材、镜头时长、画面内容、剪辑手法、转场技巧、声音处理等方便剪辑的细节。
本文由作者按照 CC BY 4.0 进行授权