← 返回信息流
AI 资讯Hacker News·4 小时前

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 的最快方式,无需手动克隆仓库或安装依赖包。

  1. 创建配置目录:mkdir shumai && cd shumai
  2. 下载配置文件:curl -o docker-compose.yaml https://raw.githubusercontent.com/shumaiOne/shumai/main/docker-compose/local/docker-compose.yaml
  3. 配置环境变量(仅限远程部署):若部署至 AWS EC2 或 VPS,需在 docker-compose.yamlenvironment 部分添加 AWS_ENDPOINT_URL_S3,指向服务器的公网 IP 或域名。
  4. 启动服务:docker compose up -d
  5. 访问界面:浏览器打开 http://localhost:3000(远程部署则为 http://<your-server-ip>:3000)。

方式二:全局安装(NPM/PNPM/Bun) Shumai 作为 @shumai-one/shumai 发布在 NPM 上,支持全局或本地运行。

  1. 数据库准备: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
    
  2. 创建目录mkdir shumai && cd shumai
  3. 系统依赖注意:在 Ubuntu 24.04+ 上,默认限制非特权用户命名空间。需禁用此限制以支持 bubblewrap 沙箱: sudo sysctl -w kernel.apparmor_restrict_unprivileged_userns=0 或配置 AppArmor 配置文件授予相关二进制文件创建用户命名空间的权限。
  4. 安装 Shumai
    # NPM
    npm install -g @shumai-one/shumai
    # PNPM
    pnpm add -g @shumai-one/shumai
    # Bun
    bun add -g @shumai-one/shumai
    
  5. 配置环境变量:创建 .env 文件,包含数据库连接、存储后端(STORAGE_BACKEND=local)、服务器端口及 S3 端点 URL。
    • 注意:Bun 用户需注意,由于发布的包二进制文件包含 #!/usr/bin/env node shebang,直接运行 shumai 会使用 Node.js。若使用 Bun 运行时,需在所有命令前加 bun run --bun 前缀(如 bun run --bun shumai)。
  6. 启动应用
    • 前台启动:shumai
    • 守护进程模式:shumai -d,并支持 stoprestartlogs 等管理命令。

方式三:本地开发环境

  1. 克隆仓库:git clone https://github.com/shumaiOne/shumai.git && cd shumai && bun install
  2. 启动数据库容器(同方式二)。
  3. 创建 .env 文件。
  4. 运行数据库迁移:bun run db:migrate
  5. 启动开发服务器: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