Article
从静态生成到数据驱动:人像视频相册持续的进化
前段时间,我基于视频关键帧提取 + 人像识别,做了一个自动分类的视频相册系统。 系统会从视频中抽取关键帧,通过人脸识别进行聚类分类,然后自动生成首页和人物列表页面。
我用 AI,把微信家族群里零碎的视频,变成了孩子的一本“成长相册”
这次过年回老家,我在原有基础上做了一轮系统性优化,同时把项目封装成 Docker 镜像,规范重构了目录结构。现在如果后续新增图片或视频,只需要重新构建一次数据,就可以快速生成更新后的相册。
代码已经开源在 GitHub,感兴趣的同学可以一起参与优化改进: https://github.com/winse/video-face-gallery
下面是这次的几个核心优化点。
一、数据驱动改造
最早的版本是 Python 生成的纯静态页面,不需要服务器,打开即用。优点是简单,但每次数据变动都必须重新生成页面,流程比较繁琐。
而且随着功能增加,比如后面要支持标签系统,仅靠纯静态页面已经不够用了。
这次我改成了“数据驱动”的方式:
•启动一个轻量级服务器•视频元数据在生成阶段写入 JSON 文件•页面通过读取 JSON 数据动态渲染•浏览器侧使用 IndexedDB 进行缓存
改造完成后,页面样式和交互优化变得非常轻松。 只要改前端 UI,刷新浏览器就能看到效果,不再需要重新生成整套页面。
这一步,本质上是把“页面生成”升级成“数据 + 渲染分离”的架构,后续扩展空间一下子打开了。


二、增加标签系统
AI 分类并不是百分之百准确。 有时会误分,有时会把同一个人拆成多个类别(尤其是不同年龄阶段的孩子)。
虽然可以通过调整识别参数改善,但这条路比较费精力,而且不够灵活。
所以这次增加了标签功能:
•支持手动合并分类•支持自定义标签(例如:喜、怒、哀、乐)•支持按标签筛选浏览
标签数据同样缓存在浏览器 IndexedDB 中。 当需要持久化时,可以导出 tags.json,替换应用数据目录中的文件,然后清理缓存完成同步。
这样既保留了离线体验,又提供了人工干预能力。 AI 负责“初步整理”,人负责“精细修正”。

三、播放列表页面
新增了一个合集播放器页面。
可以把选中的视频加入播放列表,进行循环播放或顺序播放。 这样不仅可以按人物查看,也可以做成一个完整的成长合集播放页面。
体验上更像一个真正的“家庭相册系统”,而不只是分类工具。

这次优化完成后,录制了一个完整流程的视频,从配置、构建到查看结果,全流程演示了一遍。 (演示素材没直接使用小孩日常视频,而是用的软件视频教程做示例,避免一些隐私问题)。
整个项目从最初的“技术验证”,逐步变成一个可以长期维护、持续迭代的小系统。
现在写个工程做项目,就像整理生活。 AI 帮你把碎片收集起来,而真正赋予它意义的,还是你自己。
如果你也在做类似的视频整理、家庭相册、个人归档项目,欢迎一起交流、一起优化。
Related
Related posts
-
21天,从"Hello World"到5人团队 —— 虾兵的自我进化之路
2026-03-21
-
笔记本电脑扩展出多个屏幕:Sunshine + Moonlight 实战记录
2026-03-19
-
笔记本屏幕不够用?那就再加一块:三种简单副屏方案(Windows / 手机 / 平板)
2026-03-12
-
我用 AI,把微信家族群里零碎的视频,变成了孩子的一本“成长相册”
2026-02-08