← 查看文章

视频

别只让 AI 写影评:这个工具把电影拆成可编辑的拉片笔记

深拆 bkingfilm/lapian-notes:它在本地抽帧、配字幕、打包给 AI 分析,再把 JSON 导回时间轴、结构树和情绪曲线。

别只让 AI 写影评:这个工具把电影拆成可编辑的拉片笔记

前面几篇都在讲视频生成。

这篇反过来。

bkingfilm/lapian-notes 做的是看视频、拆视频、学习视频。

它的中文名叫“拉片笔记”。这个名字很准确。

你导入一部电影,它在本地抽帧,处理字幕,生成一个 AI 分析包。你把这个 ZIP 交给 ChatGPT 这类 AI,AI 按包里的 prompt 和 schema 返回 JSON。再把 JSON 导回工具,页面里就会出现剧情泳道时间轴、结构树、观众情绪曲线和段落笔记。

这不是“让 AI 帮我写一篇影评”。

影评太容易飘。几句主题,几句人物,几句视听语言,读起来很完整,细看没法回到具体镜头。

lapian-notes 的思路更扎实:先把电影拆成材料,再让 AI 结构化分析,最后回到播放器里人工修。

lapian-notes 的本地拉片流程

1. 它先把电影变成可操作材料

拉片最麻烦的地方,不是写观点。

是定位。

你看到一个段落好,想分析它怎么推进情绪。问题来了:这一段从几分几秒开始?中间有哪些镜头?字幕怎么对?这条支线和主线怎么交叉?以后想回看,能不能一键跳回去?

如果只让 AI 看完电影再写总结,这些都留不住。

lapian-notes 先做本地材料准备。

README 里写得很清楚:

  • 按 1 秒间隔抽帧,生成电影时间轴
  • 自动配字幕,或者搜索网络字幕
  • 把截图、字幕、schema 打包成 AI 分析包
  • 导回 AI 返回的 JSON
  • 生成剧情泳道、结构树、情绪曲线
  • 支持播放器联动和手动精修

GitHub API 在 2026 年 7 月 17 日返回的数据是:360 个 star,48 个 fork,open issues 是 0。热度不算大,但方向很特别。

它服务的是另一类需求:系统学习一部片子怎么写出来。

2. AI 分析包是整个设计的关键

源码里最该看的文件是 src/lib/framePackage.ts

这个文件负责导出 AI 分析包。

包里会有:

README.md
prompt.md
schema.json
project.json
frames/
subtitles.srt
subtitles.json

它还会生成一句开场白:

解压这个 ZIP,严格按照包内 prompt.md 的要求分析这部电影,
参考 frames/ 截图和 subtitles.srt,
最终只输出符合 schema.json 结构的 JSON 文件给我下载,
不要输出 JSON 之外的内容。

这句话看着普通,但位置很要紧。

很多人用 AI 分析视频,是把问题直接丢过去:

帮我分析这部电影的结构。

AI 会写。它太会写了。

但写出来的东西很难导回工具,也很难对齐时间轴。你得到的是一段文章,不是一份可编辑数据。

lapian-notes 先规定输出结构。

schema.json 会约束 AI 返回:

movieIdentity
segments
storyLines
macroAnalysis
audienceCurvePoints

每个 segment 还要有 startTime、endTime、title、screenplayDraft、segmentFunction、screenplayBlocks、techniques、confidence 等字段。

这就把 AI 从“自由写影评”拉回了“按格式交作业”。

3. 它为什么要把 JSON 导回来

AI 分析完,下一步不是复制一篇文章。

你要把 JSON 导回工具。

src/lib/aiImport.ts 负责做这件事。

它会先解析 AI 返回的 JSON,然后做几类归一化:

  • 识别 macroAnalysis
  • 读取 segments
  • 读取 storyLines
  • 读取 audienceCurvePoints
  • 处理单段 deep dive
  • 校验电影身份
  • 按时间排序段落

校验电影身份这一步很有必要。

源码里会从 movieIdentityprojectmetadata 这类字段里提取片名、源视频名,再和当前项目里的信息比对。如果明显对不上,就报错。

这能挡住一个很常见的事故:你把 A 电影的 AI 结果导进 B 电影项目里。

这个细节让我觉得它不是随便做个 AI 小工具。它知道 AI 会返回格式不稳、用户会拿错文件、电影版本会不一样,所以在导入层做了防线。

4. 字幕和转码这些脏活,也要有人做

拉片工具如果只做“AI 分析”,很快就会撞墙。

视频格式不兼容怎么办?

字幕没有怎么办?

字幕和片长对不上怎么办?

lapian-notes 做了两组本地插件。

一个是 subtitle-server-plugin.ts

浏览器端因为 CORS 不能直接去字幕站抓字幕,所以它在 Vite dev server 里开了本地接口,去 ASSRT 搜索字幕、下载、解压、转成 UTF-8。

它还会拿字幕最后一个时间戳和影片时长对比。差超过 6 分钟,就拒绝采用。

这条规则很土,也很管用。

字幕版本错了,比没有字幕更糟。因为 AI 会把错误字幕当真,后面全片结构都可能跑偏。

另一个是 transcode-server-plugin.ts

RMVB、AVI、HEVC 这类浏览器不一定能直接播的格式,可以用本地 FFmpeg 转成 H.264/AAC MP4,并提取内嵌字幕。

这些都不是漂亮功能。

但拉片要落地,靠的就是这些脏活。

5. 它把 AI 放在合适的位置

我喜欢这个项目的一点,是它没有让 AI 接管全部工作。

AI 负责什么?

根据截图和字幕,切分段落
判断剧情线
写结构分析
生成观众情绪曲线
给出视听手法

本地工具负责什么?

抽帧
处理字幕
缓存截图
打包 prompt 和 schema
导入 JSON
校验身份
播放器联动
手动编辑
导出 Markdown

这个分工很舒服。

AI 擅长结构化理解和初稿分析,但它不适合保管你的电影文件,也不适合替你做最终判断。

工具把材料准备好,把边界框好,把结果导回来,最后还留给人修。

这比“AI 自动分析电影”更可信。

lapian-notes 把 AI 放在结构化分析位置

6. 怎么装、怎么用

仓库地址在这里:

https://github.com/bkingfilm/lapian-notes

README 对普通用户写得很友好。

Windows 双击:

run.bat

Mac 双击:

run.command

第一次启动会自动准备运行环境和程序组件,浏览器会打开工具页面。

如果你想让 AI 帮你装,可以把仓库地址给 AI,然后说:

帮我安装并启动 lapian-notes。
我想导入一部电影,生成 AI 分析包,再把结果导回工具。

使用时,大概四步:

导入电影
把 AI 分析包发给 AI
导回 AI 返回的 JSON
对着播放器精修

这里提醒一句:这类工具更适合你有合法访问权、打算认真分析的影片。别拿它做搬运,也别把版权视频拿去乱传。

7. 公开反馈:项目还小,但文档很面向普通用户

我没有找到大量稳定的一手使用长评。

这个项目目前更像作者围绕“拉片”这个具体需求做的一套工具。README 里有 Discord 社区、X、下载入口和一键启动说明,也明确说数据本地保存,影片和笔记不上传任何服务器。

对这类项目,我更看重两点。

第一,它有没有把非技术用户的入口想清楚。run.batrun.command、自动准备环境,这些都在降低门槛。

第二,它有没有把 AI 的输出导回工作流。framePackage.tsaiImport.ts 这两块是它的核心。

如果只是“导出给 AI 分析”,那还不够。能导回来,能继续编辑,才像工具。

8. 如果自己实现一套,该怎么写

这个项目的结构,可以迁移到很多内容分析任务。

比如课程拆解、广告片拆解、产品发布会拆解、竞品视频研究。

最小版本可以这样写:

适用场景:
分析长视频、电影、课程、广告片或发布会。

输入:
- 视频文件
- 字幕
- 抽帧间隔
- 分析目标
- 输出 schema

工作流:
1. 本地抽帧
2. 读取或搜索字幕
3. 生成 frames/ 和 subtitles.srt
4. 写 prompt.md
5. 写 schema.json
6. 打成 ZIP
7. 交给 AI 分析
8. 导回 JSON
9. 校验项目身份
10. 在时间轴里人工修

关键约束:
- AI 只能依据画面和字幕写
- 人物名、地点、动机不能乱编
- 导回时要校验影片身份
- 时间轴要可跳转
- 输出要能继续编辑

这套思路不只适合电影。

你做课程笔记,也可以按章节抽帧、配字幕、让 AI 返回知识点树;做广告拆解,也可以让 AI 返回镜头、文案、情绪曲线和卖点结构;做产品发布会分析,也可以按时间轴拆功能、演示和观众反应。

核心都一样:先准备材料,再限定输出,再导回工具。

9. 我的判断

lapian-notes 最有意思的地方,不在“AI 分析电影”。

这句话太大了,谁都能说。

它有意思在流程:本地准备材料,AI 生成结构化结果,工具导回继续编辑。

这比单纯让 AI 写影评更实用。

影评是一次性文本。

拉片笔记是可以反复回看的工作台。

如果你只是想用:

拿一部你熟悉的片子先试,不要一上来导入特别长、字幕特别乱的版本。先跑通抽帧、分析包、导回 JSON 这条线。

如果你想学着写:

记住这个结构:材料包 + prompt + schema + 导入器。光有 prompt,不够。

你可以这样写自己的 Skill

适用场景:分析长视频、电影、课程、广告片或发布会。

触发条件:用户给一段视频,希望拆结构、拆节奏、拆镜头或生成学习笔记。

输入:视频文件、字幕、抽帧间隔、分析目标、输出 schema。

输出:结构化 JSON、时间轴、段落笔记、Markdown、长图或项目包。

工作流:本地抽帧,读取/搜索字幕,打包 frames 和 subtitles,交给 AI 分析,再导回工具精修。

关键约束:AI 只能依据画面和字幕写;人物名、地点、动机不能乱编;导回时要校验影片身份和时间轴。

可选工具:FFmpeg、浏览器本地存储、IndexedDB、字幕搜索、React/Vite、任意能读 ZIP 的 AI。

可改造方向:把这套“本地准备材料 + AI 结构化分析 + 导回编辑”的模式,用到课程拆解、广告拆解和竞品视频研究里。