V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
爱意满满的作品展示区。
linncharm9

分享一个音频可视化视频编辑器的开源实现——前后端从零重写,浏览器预览和离线渲染共用同一套 Runtime

  •  
  •   linncharm9 · 7h 9m ago · 204 views

    开源了一个音频可视化视频编辑器,前后端从零写的

    之前做音乐平台,需要一个能把音频渲染成可视化视频的功能。

    找到了 specterr.com,效果挺符合需求的,但没有开源,也没法直接集成。想着功能也不是黑魔法,就自己照着产品逻辑从零写了一个。

    项目叫 Spectralhttps://github.com/charmlinn/spectral


    能做什么

    在浏览器里编辑音频可视化项目,实时预览效果,导出成视频文件。

    支持波形、频谱、粒子、歌词轨道、backdrop 媒体、logo 叠加这些。

    写这个最头疼的一个问题

    浏览器预览一套逻辑,后端渲染另一套,效果总对不上。

    所以这个项目的核心设计就一条:前端预览和后端 Worker 尽量共用同一份数据结构和同一套渲染实现

    后端用 Headless Chromium 加载同一个 PixiJS Runtime ,逐帧 capture PNG ,再 ffmpeg 编成视频。不完美但至少不会两边跑出两种效果。

    技术栈

    • Monorepo:pnpm workspaces + Turbo
    • Web:Next.js 16 / React 19 / TypeScript
    • 渲染:PixiJS
    • 音频分析:Web Audio / FFT
    • 数据库:PostgreSQL + Prisma
    • 队列:Redis + BullMQ
    • 存储:Cloudflare R2 / 本地 MinIO
    • Worker:Node.js + Chromium DevTools Protocol + ffmpeg
    • 本地环境:Docker Compose

    目前状态

    链路是通的,本地 pnpm dev:all 起来可以走完编辑 → 导出 → 视频产物的完整流程。

    不是什么成熟产品,更像一个可以跑起来研究的东西。README 有完整本地启动教程,pnpm smoke:export 可以跑一次端到端测试。

    对 PixiJS 可视化、前后端渲染同构、或者音乐类产品感兴趣的可以看看,欢迎聊。

    No Comments Yet
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3366 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 12:17 · PVG 20:17 · LAX 05:17 · JFK 08:17
    ♥ Do have faith in what you're doing.