Other

项目介绍

trykimu/videoeditor 是一个托管在 GitHub 上的开源项目,主要使用 TypeScript 编写,采用 Other 许可证,目前获得 2.3k 个 Star、260 次 Fork。

仓库全名
trykimu/videoeditor
开源许可证
Other
Star 数
2.3k
Fork 数
260
未关闭 Issue
45

README 摘要

A friendly AI powered open-source alternative to Capcut, Canva. Discord   Twitter   Website ✨Features Advanced Multi‑Track Editing Edit across unlimited tracks with precise control, snapping, and effortless layer management. Real‑Time Preview See every change instantly with low‑latency playback—no waiting, no rendering. Fast Export Render high‑quality videos quickly and export exactly where you need them…

完整内容见 GitHub 原始 README 或本页 。

常见问题

videoeditor 用什么语言开发?

主要使用 TypeScript 编写,采用 Other 许可证,目前有 2.3k 个 Star。

videoeditor 可以免费商用吗?

仓库标注的许可证为 Other,商用前请先阅读仓库 LICENSE 文件确认授权范围。

如何获取 videoeditor 的源码?

可以直接克隆仓库:git clone https://github.com/trykimu/videoeditor.git,默认分支为 main;安装与运行步骤见仓库 README。

videoeditor 最近还在维护吗?

仓库最近一次更新为 9月11日,当前有 45 个未关闭 Issue;Star 数为 2.3k,可作为社区活跃度的参考。

简要分析

热度分
2830
价值分
1449
活跃状态
活跃

语言占比

CSS
Dockerfile
JavaScript
PLpgSQL
Python
TypeScript

README


image

A friendly AI powered open-source alternative to Capcut, Canva.
Discord   Twitter   Website

✨Features

Advanced Multi‑Track Editing

Edit across unlimited tracks with precise control, snapping, and effortless layer management.


image

Real‑Time Preview

See every change instantly with low‑latency playback—no waiting, no rendering.


Fast Export

Render high‑quality videos quickly and export exactly where you need them.


Vibe AI Assistant

Describe your idea and let Kimu generate edits, timing, and layouts automatically.


Smart Media Library

Organize by type, tags, and sentiment—search and filter your assets in seconds.


Cloud‑Synced Projects

Keep timelines and assets in sync across devices so you can pick up right where you left off.


transitions, offline datastore, OAuth based security, change control
and much more...

💻 Development

🛠️ Local Development

Only postgres runs in Docker. All three services run directly on your machine — Vite handles proxying so no nginx is needed.

# Install dependencies
pnpm i
cd backend && uv sync && cd ..

# 1. Start postgres
docker compose -f docker-compose.dev.yml up -d

# 2. Start FastAPI  (terminal 1)
cd backend && uv run uvicorn main:app --reload --port 3000

# 3. Start renderer  (terminal 2)
pnpm dlx tsx app/videorender/videorender.ts

# 4. Start frontend  (terminal 3)
pnpm dev

Open http://localhost:5173. The Vite dev server proxies requests transparently:

  • /backend/* → FastAPI at :3000
  • /renderer/* → Renderer at :8000
  • /* → React Router SSR (Vite)

Requirements

  • Node.js 20+
  • Python 3.12+
  • pnpm
  • Docker (for postgres only)

🚀 Production

Everything runs in Docker behind nginx. One command:

docker compose up -d

With Custom Domain:

PROD_DOMAIN=yourdomain.com docker compose up -d

nginx routes:

  • /backend/* → FastAPI
  • /renderer/* → Renderer (video rendering)
  • /* → Frontend (React Router SSR)

Ports:

  • HTTP: 80 (redirects to HTTPS)
  • HTTPS: 443

⚙️ Environment Configuration

Copy .env.example to .env and fill in your values:

# Local/Docker Postgres (dev or self-hosted prod):
DATABASE_URL=postgresql://videoeditor:videoeditor@localhost:5432/videoeditor

# — OR — Supabase Session Pooler (cloud):
DATABASE_URL=postgresql://postgres.REF:[email protected]:5432/postgres
DATABASE_SSL=true   # required for Supabase; omit for local/Docker Postgres

# BetterAuth
BETTER_AUTH_SECRET=   # generate with: openssl rand -hex 32
BETTER_AUTH_URL=https://yourdomain.com   # http://localhost:5173 for dev

# Google OAuth
GOOGLE_CLIENT_ID=your_google_client_id
GOOGLE_CLIENT_SECRET=your_google_client_secret

# AI Features (optional)
GEMINI_API_KEY=your_gemini_api_key

Environment Variables Explained:

  • DATABASE_URL: PostgreSQL connection string. Use the local Docker URL for dev/self-hosted prod, or the Supabase Session Pooler URL for cloud.
  • DATABASE_SSL: Set to "true" when connecting to Supabase or any remote DB that requires SSL. Leave unset for local/Docker Postgres.
  • BETTER_AUTH_SECRET: Random secret used to sign sessions — generate with openssl rand -hex 32.
  • BETTER_AUTH_URL: The public URL of the app. Used by BetterAuth for OAuth callbacks.
  • GOOGLE_CLIENT_ID/SECRET: Google OAuth credentials — register at console.cloud.google.com.
  • GEMINI_API_KEY: Required for AI-powered video editing features.

📃TODO

We have a lot of work! For starters, we plan to integrate all Remotion APIs. I’ll add a proper roadmap soon. Join the Discord Server for updates and support.

❤️Contribution

We would love your contributions! ❤️ Check the contribution guide.

📜License

This project is licensed under a dual-license. Refer to LICENSE for details. The Remotion license also applies to the relevant parts of the project.

评论

暂无评论