Files
cube/apps/video2slides/Cargo.toml
T
Fam Zheng b36e30ecbf
deploy articulate / build-and-deploy (push) Successful in 58s
deploy cube / build-and-deploy (push) Successful in 1m22s
deploy karaoke / build-and-deploy (push) Successful in 59s
deploy llm-proxy / build-and-deploy (push) Successful in 1m49s
deploy music / build-and-deploy (push) Successful in 2m6s
deploy notes / build-and-deploy (push) Successful in 1m42s
deploy simpleasm / build-and-deploy (push) Successful in 1m18s
deploy webgl / build-and-deploy (push) Successful in 1m5s
deploy video2slides / build-and-deploy (push) Successful in 2m3s
deploy werewolf / build-and-deploy (push) Successful in 1m5s
deploy write / build-and-deploy (push) Successful in 1m24s
video2slides: 加 PDF 导出(服务端流式)+ 点击切换帧 保留/弃用
- 点击卡片切换 use/discard,手动覆盖阈值判定;手动标记角标 + 重置按钮
- 导出 PDF:后台 job,逐张把帧 JPEG 以 DCTDecode 直接嵌入、边读边写到磁盘,
  内存峰值只一张帧,防大视频 OOM;前端轮询进度条
- 下载走流式(ReaderStream),不把整份 PDF 读进内存;?c= query 触发下载
- 手撸极简 PDF writer(无新 PDF 依赖),只扫 JPEG 头取宽高分量数
2026-06-14 21:58:27 +01:00

19 lines
594 B
TOML

[package]
name = "video2slides"
version = "0.1.0"
edition.workspace = true
license.workspace = true
authors.workspace = true
description = "video2slides.famzheng.me — 长视频抽帧,逐帧差异比较,拖阈值挑关键画面/幻灯片"
[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"] }