剪藏#剪藏#各种折腾

数字时代的记忆保管箱Shoebox

2025 年 6 月 9 日1 分钟
分享Twitter / XTelegram微博

简介

什么是 Shoebox ?

Shoebox 是一个数字解决方案,旨在组织和保存视频,模拟过去人们用实体鞋盒保存珍贵记忆的方式。它为用户提供了一个专门的空间,以避免视频在云服务或社交媒体平台中丢失。

主要特点

  1. 视频组织:能够有效地组织用户的视频,便于未来的回顾和使用。

  2. 视频导出功能:支持将原始视频导出到指定位置,方便导入到视频编辑器中进行后续处理。

  3. 记忆保存:以结构化的方式保存视频记忆,使其易于访问并可用于未来的创意项目。

  4. 用户友好的界面:提供简单易用的界面,方便用户进行视频管理。

  5. 高效的媒体处理:使用 FFmpeg 进行视频处理,确保操作的高效性和准确性。

  6. 技术栈:后端使用 RustAxum,前端基于 ReactTypeScript,支持 SQLite/PostgreSQL 数据库,并具备 Docker/Kubernetes 部署能力。

应用场景

  • 家庭视频管理:适合家庭用户保存和组织孩子成长过程中的视频,方便随时回顾。

  • 创意项目:为视频创作者提供一个结构化的存储解决方案,便于未来制作高光集或拼贴。

  • 教育记录:教育工作者可以使用 Shoebox 保存教学视频,以便于未来的教学参考。

Shoebox 通过提供安全、方便的视频管理解决方案,帮助用户有效地保存和利用数字记忆。

安装

在群晖上以 Docker 方式安装。

本文写作时, latest 版本对应为 sha-9f05da53931ad6fa4f5b7f1d9b447ca65dec3e8b

Notion image

docker cli 安装

如果你熟悉命令行,可能用 docker cli 更快捷

JAVASCRIPT
# 新建文件夹 shoebox 和 子目录
mkdir -p /volume1/docker/shoebox/{data,exports,thumbnails,videos}

# 进入 shoebox 目录
cd /volume1/docker/shoebox

# 运行容器
docker run -d \
  --name shoebox \
  --restart unless-stopped \
  -p 3823:3000 \
  -v $(pwd)/videos:/mnt/videos:ro \
  -v $(pwd)/exports:/app/exports \
  -v $(pwd)/data:/app/data \
  -v $(pwd)/thumbnails:/app/thumbnails \
  -e SERVER_HOST=0.0.0.0 \
  -e SERVER_PORT=3000 \
  -e DATABASE_URL=sqlite:/app/data/videos.db \
  -e MEDIA_SOURCE_PATHS=/mnt/videos \
  -e THUMBNAIL_PATH=/app/thumbnails \
  -e EXPORT_BASE_PATH=/app/exports \
  -e RUST_LOG=info \
  ghcr.io/slackspace-io/shoebox:latest
  • 映射路径的说明

docker/shoebox/videos /mnt/videos 存放视频文件
docker/shoebox/exports /app/exports 存放导出内容
docker/shoebox/data /app/data 存放数据库文件
docker/shoebox/thumbnails /app/thumbnails 存放缩略图文件

  • 环境变量的说明

SERVER_HOST 用于绑定服务器的主机,缺省值为 127.0.0.1
SERVER_PORT 用于绑定服务器的端口,缺省值为 3000
DATABASE_URL 数据库连接 URL,支持 SQLite/PostgreSQL
MEDIA_SOURCE_PATHS 扫描视频的路径,可以指定一个或多个路径,以逗号分隔
THUMBNAIL_PATH 存储缩略图的路径
EXPORT_BASE_PATH 导出文件的路径
RUST_LOG 日志级别

docker-compose 安装

也可以用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件

JAVASCRIPT
version'3.8'

services:
app:
    image:ghcr.io/slackspace-io/shoebox:latest
    container_name:shoebox
    restart:unless-stopped
    ports:
      -"3823:3000"
    volumes:
      # Mount media source directories (read-only)
      -./videos:/mnt/videos:ro
      # Mount export directory (read-write)
      -./exports:/app/exports
      # Mount data directory for persistence
      -./data:/app/data
      # Mount thumbnails directory for persistence
      -./thumbnails:/app/thumbnails
    environment:
      -SERVER_HOST=0.0.0.0
      -SERVER_PORT=3000
      -DATABASE_URL=sqlite:/app/data/videos.db
      -MEDIA_SOURCE_PATHS=/mnt/videos
      -THUMBNAIL_PATH=/app/thumbnails
      -EXPORT_BASE_PATH=/app/exports
      -RUST_LOG=info   

然后执行下面的命令

JAVASCRIPT
# 新建文件夹 shoebox 和 子目录
mkdir -p /volume1/docker/shoebox/{data,exports,thumbnails,videos}

# 进入 shoebox 目录
cd /volume1/docker/shoebox

# 将 docker-compose.yml 放入当前目录

# 一键启动
docker-compose up -d

Notion image

运行

在浏览器中输入 http://群晖IP:3823 就能看到主界面

Notion image

videos 目录中放入视频文件

Notion image

Scan Directories 扫描视频目录

Notion image

开始扫描

Notion image

扫描完成后

Notion image

进入视频详情

Notion image

参考文档

slackspace-io/shoebox 地址:https://github.com/slackspace-io/shoebox

Introduction - Shoebox Docs 地址:https://slackspace-io.github.io/shoebox/

Demo of shoebox - YouTube 地址:https://www.youtube.com/watch?v=xfPMCLWnUz8

@所有人:写文不易,如果你都看到了这里,请点个在看,分享给更多的朋友;为确保你能收到每一篇文章,请主页右上角设置星标。

原文地址: https://mp.weixin.qq.com/s?__biz=MzI1NTQxMzc3MA==&mid=2247508918&idx=1&sn=45a02425baf94ed7e5ee59b9deb0556f&chksm=ebaf71405208a29b630d32b64689fba5a7c799bee823d553d792b8234010b77d4feda119318f&mpshare=1&scene=1&srcid=0609IdvMdL8pNGMRlL4ckwoa&sharer_shareinfo=9f4be52e28b1fc8a7ddab1378fba1ab6&sharer_shareinfo_first=9f4be52e28b1fc8a7ddab1378fba1ab6#rd

相关文章