video2slides: 重构为纯客户端 app(浏览器抽帧 + IndexedDB),后端归零
deploy articulate / build-and-deploy (push) Successful in 1m1s
deploy cube / build-and-deploy (push) Successful in 1m22s
deploy karaoke / build-and-deploy (push) Successful in 55s
deploy llm-proxy / build-and-deploy (push) Successful in 1m44s
deploy music / build-and-deploy (push) Successful in 2m14s
deploy notes / build-and-deploy (push) Successful in 1m40s
deploy simpleasm / build-and-deploy (push) Successful in 1m17s
deploy video2slides / build-and-deploy (push) Successful in 39s
deploy werewolf / build-and-deploy (push) Successful in 1m7s
deploy webgl / build-and-deploy (push) Successful in 1m17s
deploy write / build-and-deploy (push) Successful in 1m13s

- 不再上传视频:<video>+canvas 原生解码按时间戳 seek 抽帧,逐帧 256px 灰度
  MAE 算差异,缩略图(320)+大图(1280) 随抽随写 IndexedDB,带进度条+ETA
- 阈值/手动 保留弃用/缩放偏好 持久化到 IndexedDB,刷新仍在
- PDF 导出回到客户端 jsPDF,保留帧逐张 base64 嵌入、单帧处理防 OOM
- 后端删光业务逻辑(core.rs/handlers.rs),main.rs 缩成 cube_core::base 静态服务
- 不再需要 ffmpeg → Dockerfile 回归 FROM scratch;k8s 去掉 hostPath 卷、降资源
- 真浏览器(Playwright)验证:抽帧/差异/阈值/持久化/导出 全通过
This commit is contained in:
Fam Zheng
2026-06-14 22:25:20 +01:00
parent ef29561b28
commit a0253e118f
10 changed files with 648 additions and 1709 deletions
+1 -8
View File
@@ -4,15 +4,8 @@ version = "0.1.0"
edition.workspace = true
license.workspace = true
authors.workspace = true
description = "video2slides.famzheng.me — 长视频抽帧逐帧差异比较,拖阈值挑关键画面/幻灯片"
description = "video2slides.famzheng.me — 纯客户端:浏览器抽帧+逐帧差异+拖阈值挑幻灯片IndexedDB 持久化"
[dependencies]
cube-core = { path = "../../crates/cube-core" }
tokio = { workspace = true }
axum = { workspace = true, features = ["multipart"] }
serde = { workspace = true }
serde_json = { workspace = true }
tracing = { workspace = true }
image = { workspace = true }
uuid = { workspace = true }
tokio-util = { version = "0.7", features = ["io"] }