Show HN:开源视频协作工具 Shumai 对标 Frame.io
原标题:Show HN: Shumai – open-source Frame.io alternative for creative work
速览
Shumai 是一个开源项目,旨在为创意团队提供类似 Frame.io 的视频协作功能。该项目允许用户在不依赖封闭平台的情况下,实现视频审阅、评论和版本管理。对于寻求数据隐私或希望降低订阅成本的创意工作者而言,这是一个值得关注的替代方案。
AI 深度解读
Show HN: Shumai – 面向创意工作的开源 Frame.io 替代方案
背景
在创意制作、视频后期及媒体资产管理领域,Frame.io 长期以来占据着主导地位,为团队提供基于帧的注释、协作审批以及资产版本管理。然而,其闭源性质、订阅费用以及数据主权问题,使得许多注重隐私、成本控制或需要高度定制化工作流的团队寻找替代方案。
在此背景下,Shumai 作为一个开源平台应运而生。它旨在为创意工作者提供一个全功能的协作环境,不仅复刻了 Frame.io 的核心协作功能,还通过集成先进的 AI 能力和灵活的存储架构,进一步提升了媒体资产管理的效率。Shumai 支持本地存储及 S3 兼容云存储,利用 Temporal 进行分布式转码,并内置了基于 Google Gemini 的 AI 辅助功能,试图在开源生态中重新定义创意协作的标准。
核心内容
Shumai 是一个面向创意工作的开源平台,其核心设计理念是安全性、灵活性与智能化。以下是该平台的主要功能模块及技术实现细节:
1. 存储与基础设施灵活性
- 兼容 S3 与本地存储:Shumai 允许用户选择使用本地文件系统或任何 S3 兼容的云存储服务(如 AWS S3、Cloudflare R2、MinIO 等)来安全地存储和分发创意资产。这种设计既满足了本地部署的数据隐私需求,也支持云原生架构的高扩展性。
- 分布式转码:针对视频处理中资源密集型的转码任务,Shumai 利用 Temporal 工作流编排引擎,将重型计算卸载到后台工作池。这不仅优化了主服务的性能,还实现了转码任务的分布式处理。
2. 协作与审批工作流
- 逐帧注释与评论:支持在视频和图片资产上进行精确反馈。用户可以使用基于帧的绘图工具,并添加带时间戳的评论,确保沟通的准确性。
- 安全分享与合集:创作者可以生成安全的公共分享链接,或创建精选媒体合集,以便与客户和利益相关者进行高效协作。
- 细粒度访问控制:通过基于角色的访问控制(RBAC),管理员可以在工作区级别和项目级别精确管理团队成员的权限。
3. AI 驱动的智能化功能
- 协作式 AI 聊天:项目工作区内置了上下文感知的 AI 代理,用户可以直接与 AI 对话,获取项目相关的见解或执行任务。
- 自定义技能与工具:Shumai 允许用户注册自定义脚本、工具和自动化技能,以扩展 AI 代理的能力边界。
- 隔离沙箱执行:为确保安全性,AI 代理提交的脚本将在隔离的沙箱环境中运行,防止恶意代码对主系统造成威胁。
- AI 元数据自动填充:利用 Google Gemini 模型,系统可自动生成新资产的标签、描述及自定义元数据,大幅减少手动录入工作。
- 语义搜索:基于向量嵌入(Vector Embeddings),用户可通过视觉或概念性的查询词即时定位资产,突破了传统关键词搜索的限制。
4. 元数据管理
- 自定义资产元数据:支持定义和自定义动态元数据字段,以适应不同制作管道的特定需求。
5. 部署与安装指南
Shumai 提供了多种部署方式,以适应不同规模和技术栈的用户:
方式一:Docker Compose(最快上手) 这是启动 Shumai 的最快方式,无需手动克隆仓库或安装依赖包。
- 创建配置目录:
mkdir shumai && cd shumai - 下载配置文件:
curl -o docker-compose.yaml https://raw.githubusercontent.com/shumaiOne/shumai/main/docker-compose/local/docker-compose.yaml - 配置环境变量(仅限远程部署):若部署至 AWS EC2 或 VPS,需在
docker-compose.yaml的environment部分添加AWS_ENDPOINT_URL_S3,指向服务器的公网 IP 或域名。 - 启动服务:
docker compose up -d - 访问界面:浏览器打开
http://localhost:3000(远程部署则为http://<your-server-ip>:3000)。
方式二:全局安装(NPM/PNPM/Bun)
Shumai 作为 @shumai-one/shumai 发布在 NPM 上,支持全局或本地运行。
- 数据库准备:Shumai 依赖 PostgreSQL 及
pgvector扩展。需先启动预配置数据库容器:docker run --name shumai_postgres \ -e POSTGRES_USER=shumai \ -e POSTGRES_PASSWORD=shumai_password \ -e POSTGRES_DB=shumai_db \ -p 542:5432 \ -d pgvector/pgvector:pg18 - 创建目录:
mkdir shumai && cd shumai - 系统依赖注意:在 Ubuntu 24.04+ 上,默认限制非特权用户命名空间。需禁用此限制以支持 bubblewrap 沙箱:
sudo sysctl -w kernel.apparmor_restrict_unprivileged_userns=0或配置 AppArmor 配置文件授予相关二进制文件创建用户命名空间的权限。 - 安装 Shumai:
# NPM npm install -g @shumai-one/shumai # PNPM pnpm add -g @shumai-one/shumai # Bun bun add -g @shumai-one/shumai - 配置环境变量:创建
.env文件,包含数据库连接、存储后端(STORAGE_BACKEND=local)、服务器端口及 S3 端点 URL。- 注意:Bun 用户需注意,由于发布的包二进制文件包含
#!/usr/bin/env nodeshebang,直接运行shumai会使用 Node.js。若使用 Bun 运行时,需在所有命令前加bun run --bun前缀(如bun run --bun shumai)。
- 注意:Bun 用户需注意,由于发布的包二进制文件包含
- 启动应用:
- 前台启动:
shumai - 守护进程模式:
shumai -d,并支持stop、restart、logs等管理命令。
- 前台启动:
方式三:本地开发环境
- 克隆仓库:
git clone https://github.com/shumaiOne/shumai.git && cd shumai && bun install - 启动数据库容器(同方式二)。
- 创建
.env文件。 - 运行数据库迁移:
bun run db:migrate - 启动开发服务器:
bun run dev
此外,Shumai 还提供 CLI 工具,允许用户通过终端管理项目、文件夹、资产,上传文件/文件夹,以及创建新版本。
关键要点
- 开源替代方案:Shumai 是 Frame.io 的开源替代品,专注于创意工作的协作、注释和资产管理。
- 存储灵活:支持本地文件系统及 S3 兼容存储(AWS S3, Cloudflare R2, MinIO 等)。
- AI 深度集成:
- 内置上下文感知 AI 聊天代理。
- 支持自定义脚本和工具扩展。
- 利用 Google Gemini 实现元数据自动填充。
- 基于向量嵌入的语义搜索功能。
- 安全与隔离:提供细粒度的 RBAC 权限控制,AI 脚本在隔离沙箱中执行,保障系统安全。
- 高性能转码:利用 Temporal 进行分布式视频转码,优化资源使用。
- 多方式部署:
- 推荐 Docker Compose 快速部署。
- 支持 NPM/PNPM/Bun 全局安装。
- 提供完整的本地开发环境搭建指南。
查看原文 →github.com
