analyze-video-editing

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Analyze Video Editing

分析视频剪辑

Study how a finished video creates attention, emotion, and momentum. Treat the film as synchronized picture, sound, speech, typography, and structure—not merely a list of cuts.
Set
SKILL_DIR
to the absolute directory containing this file. Use the adjacent
video-editing
skill when the user wants the resulting ideas implemented in an edit.
研究一部成片如何营造注意力、情绪和推进力。应将影片视为彼此同步的画面、声音、言语、排版和结构,而不仅仅是一串剪切点。
将
SKILL_DIR
设置为包含此文件的绝对目录。当用户希望把由此产生的思路落实为具体剪辑时,使用相邻的
video-editing
skill。

Start with a source you can inspect

从可检查的源开始

For a local file:
bash
uv run "$SKILL_DIR/scripts/video_analyzer.py" analyze \
  /path/to/video.mp4 \
  --work-dir /path/to/analysis \
  --subtitles /path/to/captions.vtt
For a public URL, inspect the downloader's real metadata payload before choosing formats. Do not guess fields or stream availability:
bash
uvx --from yt-dlp yt-dlp --dump-single-json --no-playlist URL > source.json
uvx --from yt-dlp yt-dlp --no-playlist \
  -f 'bv*[height<=1080]+ba/b[height<=1080]' \
  --merge-output-format mp4 -o 'source.%(ext)s' URL
Download captions when available. If download rights or site access are unclear, ask the user for a local copy.
Analyze a representative range first when the film is long:
bash
uv run "$SKILL_DIR/scripts/video_analyzer.py" analyze source.mp4 \
  --work-dir analysis-first-three-minutes --start 0 --end 180 \
  --subtitles source.en.vtt --ocr
The script writes:
  • analysis.json
    : probe facts, shot boundaries, black and quiet intervals, audio levels, beat estimates, transcript cues, motion estimates, and OCR candidates;
  • timeline.md
    : a compact evidence table;
  • contact-sheet.jpg
    : visual rhythm across the requested range;
  • frames/
    : representative shot frames;
  • strips/
    : dense frames around major cuts, black intervals, and other events.
Scene detection, optical flow, beat tracking, and OCR are candidate generators. They reduce scrubbing; they do not replace watching and editorial judgment.
When sound design, music continuity, or effects matter, pair semantic listening with signal evidence:
bash
python3 "$SKILL_DIR/scripts/audio_listener.py" \
  source.mp4 \
  --work-dir analysis/audio-movement \
  --start 60 --end 172 --mode movement
This optional command extracts direct audio, renders a spectrogram, measures half-second loudness windows, and—unless
--prepare-only
is supplied—asks Gemini for an editorial sound breakdown. It reads
GEMINI_API_KEY
from the environment and never accepts credentials as command-line arguments. Use
--mode transition
for a focused high-sensitivity pass around a cut, dropout, black interval, or suspected fade.
Read references/audio-and-timing.md before accepting a model's classification of quiet material.
对于本地文件:
bash
uv run "$SKILL_DIR/scripts/video_analyzer.py" analyze \
  /path/to/video.mp4 \
  --work-dir /path/to/analysis \
  --subtitles /path/to/captions.vtt
对于公开 URL,在选择格式前先检查下载器返回的真实元数据。不要猜测字段或流的可用性:
bash
uvx --from yt-dlp yt-dlp --dump-single-json --no-playlist URL > source.json
uvx --from yt-dlp yt-dlp --no-playlist \
  -f 'bv*[height<=1080]+ba/b[height<=1080]' \
  --merge-output-format mp4 -o 'source.%(ext)s' URL
尽可能下载字幕。如果下载权限或站点访问权限不明确,请向用户索取本地副本。
影片较长时,先分析一段有代表性的范围:
bash
uv run "$SKILL_DIR/scripts/video_analyzer.py" analyze source.mp4 \
  --work-dir analysis-first-three-minutes --start 0 --end 180 \
  --subtitles source.en.vtt --ocr
脚本会写入:
  • analysis.json
    :探测结果、镜头边界、黑场与静默区间、音频电平、节拍估算、转录线索、运动估算和 OCR 候选结果;
  • timeline.md
    :紧凑的证据表;
  • contact-sheet.jpg
    :所请求范围内的视觉节奏;
  • frames/
    :有代表性的镜头帧;
  • strips/
    :主要剪切点、黑场区间和其他事件周围的密集帧。
场景检测、光流、节拍追踪和 OCR 都是候选结果生成器。它们可以减少反复拖动查看的负担,但不能取代亲自观看和剪辑判断。
当声音设计、配乐连续性或音效很重要时,将语义层面的聆听与信号证据结合使用:
bash
python3 "$SKILL_DIR/scripts/audio_listener.py" \
  source.mp4 \
  --work-dir analysis/audio-movement \
  --start 60 --end 172 --mode movement
此可选命令会提取原始音频、渲染频谱图并测量半秒级响度窗口;除非提供
--prepare-only
,否则它会请求 Gemini 给出剪辑导向的声音拆解。它从环境变量中读取
GEMINI_API_KEY
,绝不接受作为命令行参数传入的凭据。使用
--mode transition
,可围绕剪切点、音频中断、黑场区间或疑似淡入淡出进行高灵敏度重点分析。
在接受模型对安静素材的分类前,先阅读 references/audio-and-timing.md。

Build the breakdown in three layers

使用三个层次构建拆解

Keep these labels explicit:
  1. Measured: timestamps, shot duration, hard-cut score, black frames, silence, audio level, detected beat, transcript words, OCR boxes.
  2. Observed: composition, subject, camera behavior, lighting, lens feel, text treatment, performance, apparent B-roll or interview mode.
  3. Interpreted: tension, release, emphasis, contrast, narrative function, or why a juxtaposition works.
Never present a motion classifier or music estimate as certainty. Say “appears handheld” or “likely music re-entry” when it is an inference.
明确区分以下标签:
  1. 测量(Measured): 时间戳、镜头时长、硬切分数、黑帧、静默、音频电平、检测到的节拍、转录文字、OCR 文本框。
  2. 观察(Observed): 构图、主体、摄影机行为、光线、镜头质感、文字处理、表演表现,以及表面呈现的 B-roll 或采访模式。
  3. 解读(Interpreted): 张力、释放、强调、对比、叙事功能,或并置为何有效。
绝不能将运动分类器或音乐估算描述为确定事实。进行推断时,应使用“appears handheld(看起来是手持拍摄)”或“likely music re-entry(可能是音乐重新进入)”等表述。

Analyze the synchronized layers

分析同步的各个层次

For every important beat, ask:
  • Picture: What is shown? What changes at the cut? Is the framing wide, medium, close, insert, or abstract?
  • Camera: Static, locked-off, handheld, stabilized walk, pan, tilt, push-in, pull-out, rack focus, or subject motion inside a fixed frame?
  • Edit: Hard cut, match cut, jump cut, dip to black, fade, dissolve, speed change, montage, or an unusually long hold?
  • Speech: What line lands here? Is the next image literal illustration, contrast, reaction, or tonal counterpoint?
  • Sound: Dialogue, room tone, ambience, effects, score, pulse, silence. What enters, exits, or changes level before or after the visual edit?
  • Typography: Subtitle, chapter title, credit, label, or graphic motif? Record position, size, color, case, duration, entrance, and whether it obscures or complements the image.
  • Function: Hook, escalation, orientation, reset, thesis, proof, character introduction, montage, transition, or payoff?
Read references/editorial-analysis.md for the reporting vocabulary and references/audio-and-timing.md for sound-driven analysis.
对于每个重要节拍,询问:
  • 画面(Picture): 展示了什么?剪切点前后发生了什么变化?景别是全景、中景、近景、插入镜头,还是抽象画面?
  • 摄影机(Camera): 是固定机位(static)、锁定机位(locked-off)、手持拍摄(handheld)、稳定器跟拍(stabilized walk)、摇摄(pan)、俯仰(tilt)、推近(push-in)、拉远(pull-out)、变焦对焦(rack focus),还是固定画面内的主体运动?
  • 剪辑(Edit): 是硬切(hard cut)、匹配剪辑(match cut)、跳切(jump cut)、切入黑场(dip to black)、淡入淡出(fade)、叠化(dissolve)、速度变化、蒙太奇(montage),还是异常长的镜头停留?
  • 对白(Speech): 这里落在哪句台词上?下一个画面是在进行字面说明、形成对比、展示反应,还是提供语调上的反衬?
  • 声音(Sound): 包括对白、室内底噪、环境声、音效、配乐、节奏脉冲和静默。视觉剪辑前后有什么声音进入、退出或改变电平?
  • 排版(Typography): 是字幕、章节标题、署名、标签,还是图形母题?记录其位置、大小、颜色、大小写、持续时间、进入方式,以及它是在遮挡画面还是补充画面。
  • 功能(Function): 是 Hook、escalation、orientation、reset、thesis、proof、character introduction、montage、transition,还是 payoff?
阅读 references/editorial-analysis.md 了解报告用语,并阅读 references/audio-and-timing.md 了解声音驱动的分析方法。

Report at two scales

以两个尺度进行报告

Create both:
  • a micro timeline for the most instructive section, often every meaningful change over the first 60–180 seconds;
  • a macro grammar for the whole film: recurring shot families, average shot length, interview/B-roll pattern, graphic system, music arcs, chapter resets, and escalation strategy.
A useful synthetic row looks like:
text
01:03.875–01:06.167 | hard cut | handheld exterior insert |
score re-enters and beat becomes explicit | large chapter title fills frame |
turns a reflective line into a formal chapter launch
Avoid false precision in prose. Use frame-accurate numbers in the evidence table, then readable
mm:ss
timestamps in the explanation.
同时创建:
  • 微时间线(micro timeline): 针对最具启发性的部分,通常记录最初 60–180 秒内每一个有意义的变化;
  • 宏观语法(macro grammar): 覆盖整部影片,包括反复出现的镜头类型族、平均镜头长度、采访与 B-roll 的交织模式、图形系统、配乐发展脉络、章节重置和递进升级策略。
一条有用的综合分析行如下所示:
text
01:03.875–01:06.167 | 硬切(hard cut) | 手持外景插入镜头(handheld exterior insert) |
配乐重新进入,节拍变得清晰可辨 | 大型章节标题占满画面 |
将一句反思性的台词转化为正式的章节开场
在叙述中避免虚假的精确性。在证据表中使用帧级准确的数字,在解释中使用易读的
mm:ss
时间戳。

Turn analysis into reusable learning

将分析转化为可复用的经验

Extract principles, not imitations. For each device, state:
  • the viewer problem it solves;
  • the preconditions that make it work;
  • the cost or risk;
  • one way to adapt it to a different subject.
Example: “A four-second dip to black works here because the opening movement has accumulated tension and the continuing environmental sound prevents the reset from feeling like the video ended.”
If the user wants to apply the result, hand the evidence and selected principles to the
find-broll
skill for cutaway sourcing and then to
video-editing
for production. Do not encode the reference film's exact timings, fonts, or transitions as defaults.
提取原则,而不是模仿。对于每一种手法,说明:
  • 它解决了观众的什么问题;
  • 使其生效的前提条件;
  • 成本或风险;
  • 将其改编用于其他主题的一种方式。
示例:“这里,四秒的切入黑场(dip to black)之所以有效,是因为开场段落的推进已经累积了张力,而持续存在的环境声又避免了重置被误认为视频已经结束。”
如果用户希望应用分析结果,请将证据和选定的原则移交给
find-broll
skill 以寻找 cutaway 素材,再移交给
video-editing
进行制作。不得将参考影片的精确时间、字体或转场直接设为默认值。

Quality bar

质量标准

  • Inspect representative frames and event strips yourself.
  • Verify the transcript against picture when wording drives the edit.
  • Check false cuts caused by flashes, large titles, or camera whip.
  • Distinguish source subtitles from platform captions.
  • Describe sound only to the resolution supported by the evidence.
  • Prefer long-context semantic listening to establish cue identity, then focused passes around transitions.
  • Verify alleged silence, ambience, music endings, and fades against the spectrogram and loudness trace.
  • Cite the public source when the report refers to it.
  • Do not redistribute the downloaded reference media.
  • 亲自检查有代表性的画面帧和事件帧带。
  • 当剪辑效果取决于具体措辞时,将转录内容与画面进行核对。
  • 检查由闪光、大型标题或摄影机甩镜造成的误判剪切点。
  • 区分源文件字幕与平台提供的字幕。
  • 仅以证据所支持的精度描述声音。
  • 优先使用长上下文语义聆听来识别声音线索,再围绕转场进行重点分析。
  • 对照频谱图和响度轨迹,验证所谓的静默、环境声、音乐结束和淡出。
  • 当报告引用公开来源时,注明该来源。
  • 不要重新分发已下载的参考媒体。