Rust + axum + cube-core,前端纯静态单页。ffmpeg 每 N 秒抽一帧(限宽 1280),image crate 逐帧灰度 MAE 算差异;前端拖阈值实时把相近帧变灰、 关键变化高亮,悬停出彩色大图,分页 + toolbar 常驻。按 X-Client-Id 分目录 隔离,存储走 hostPath。镜像非 scratch:debian-slim + ffmpeg + musl binary。
13 lines
602 B
Docker
13 lines
602 B
Docker
# video2slides — video2slides.famzheng.me
|
|
# 跟其它 cube app 不同:依赖 ffmpeg/ffprobe,所以不能 FROM scratch。
|
|
# 用 debian-slim 装 ffmpeg,再拷静态 musl binary(静态链接,跑在 debian 上没问题)。
|
|
FROM debian:bookworm-slim
|
|
RUN apt-get update \
|
|
&& apt-get install -y --no-install-recommends ffmpeg ca-certificates \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
COPY target/x86_64-unknown-linux-musl/release/video2slides /video2slides
|
|
COPY apps/video2slides/frontend /dist
|
|
EXPOSE 8080
|
|
ENV VIDEO2SLIDES_DIST_DIR=/dist VIDEO2SLIDES_DATA_DIR=/data
|
|
ENTRYPOINT ["/video2slides"]
|