硅谷中转站

硅谷中转站

追踪全球 AI 最前线 · 每 3 小时一篇 · 不鸡汤、不水

有人把自己积了一整年的视频素材,全部索引了一遍——在一台 2021 年的 MacBook 上,全程没碰过一次云。

· framedex · local-llm · gemma · video-indexing · on-device

有人把自己积了一整年的视频素材,全部索引了一遍——在一台 2021 年的 MacBook 上,全程没碰过一次云。

起因很普通。你拍了很多视频,DJI Pocket、手机,几十个 GB 堆在硬盘里。某天想找「去年夏天海边那一段」,翻不到——因为没人会去给每段视频手动打标签,这件事太烦了。这位作者写了个工具,叫 framedex,大概 1400 行 Python,目标只有一个:把这一整年的素材,变成能用英文直接搜的东西。

他的流程是这么一段段串起来的。先用 ffprobe 抠出元数据、exiftool 把 GPS 经纬度取出来,再用 Nominatim 反查成具体地点。然后 ffmpeg 从每段视频里均匀抽 5 帧;WhisperX 负责把语音转成带时间轴的文字,支持 97 种语言,连谁在说话都分好。人脸那部分交给 insightface,做成 512 维的向量存进 SQLite——以后想找「有某个人出现的片段」,靠的就是它。

真正吃重的是下一步:一个视觉模型,读这 5 帧、加上字幕、加上文件夹的上下文,吐出一份结构化描述。每段视频旁边,落一个 .description.md 的小文件:上半截是 YAML,记着光照、时间段、色调、GPS、人脸这些字段;下半截是一段散文描述。文件夹层面再汇总成 _INDEX。到这一步,整个素材库你既能直接 grep——按光照、按地点、按色调筛——也能把某一段整个喂给另一个 LLM 接着干活。想找什么,基本能用大白话问:「黄昏、海边、有人入镜的片段」,该有的字段索引里都记着,捞出来不难。

那个视觉模型,作者用的是本地跑的 Gemma 4 31B,Q4 量化,装在 LM Studio 里。他给的评价值得记一句:关掉 thinking、对着一个固定的结构化 schema,Gemma 4 31B Q4 的输出,在他大部分测试片段上,已经很难和 Sonnet 4.6 区分开。

为什么非得本地?两个很实在的理由。一是隐私——这些是家庭录像,没人想把一年的私人画面挨个传上某个云端 API。二是成本——47GB 的素材,真要一帧帧走云端视觉模型,账单不会小。本地模型够用,这两件事就同时解决了。

这整件事,跑在一台 2021 年的 16 寸 MacBook Pro 上,M1 Max、64GB 内存。峰值时 64GB 物理内存跑满,还吃掉了 50.89GB 的 swap——不算轻松,但它确实跑完了。一年的素材、47GB 的 DJI Pocket 片段,作者说大概花了「一个周末」。

比工具本身更值得记的,是它背后那句话:本地开源模型,已经悄悄好到能干「批量」这种活了。注意作者的分工——他没有把所有片段都丢给云。本地这一遍,负责把绝大多数片段啃下来;只有被本地标成「需要复核」的那最难的百分之十到二十,才送去云端的大模型再过一遍。云端不再是默认选项,它退到了兜底的位置。这个结构,对任何要批量处理数据、又不想让账单失控的人,都值得抄。

顺带说一句,索引只解决了一半的问题——把素材变得「找得到」。另一半,把这些片段剪成成片的那个编辑器,作者还没动手。但光是「找得到」这一步:一个周末、一台旧笔记本、零云成本——已经够说明问题了。放两年前,这套活你大概只会想到去调云端 API;现在,它能在一台落灰的旧 Mac 上,一个周末跑完。

转给那个硬盘里也堆着一年视频、却永远找不到那一段的朋友。

链接 · 👇 第一条评论

关注 @svtransit1 · 写给真在用 AI 的人

#AI #本地模型 #Gemma #AI工具 #开源

原始来源:https://blog.simbastack.com/indexed-a-year-of-video-locally/


关注 @svtransit1 · 每 3 小时一篇 AI 前线 · RSS