MCPcopy Index your code
hub / github.com/CristianOlivera1/openvid

github.com/CristianOlivera1/openvid @main

Chat with this repo
repository ↗ · DeepWiki ↗ · + Follow
1,146 symbols 2,511 edges 237 files 4 documented · 0%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

openvid Hero

### Create professional demos and mockups in seconds, directly in your browser Record your screen or upload a video, add smooth zooms, device mockups, 3D effects, and custom backgrounds - export a cinematic demo.

Next.js TypeScript FFmpeg.wasm Three.js Supabase Discord Community

Frame 1116606714 (1)

Features

Video Input

  • Screen recording - Capture your screen directly in the browser with no installation required
  • Upload your video - MP4, WebM, QuickTime, and MKV
  • Drag & drop - Fast file upload

Mockup Creation

  • Mockups applied to images
  • 3D transformations
  • Image masking (Mask Image) for advanced cutouts
  • Scale, rotation, perspective, and position adjustments

Visual Customization

Backgrounds - 100+ pre-designed backgrounds - Custom images or Unsplash - Solid colors and gradients - Blur effect (0–100%)

Effects - Dynamic padding - Rounded corners - Shadows - Video rotation and positioning


Canvas & Elements

  • Shapes - Rectangles, circles, triangles
  • Text - Custom fonts, colors, and sizes
  • SVG - Import vector graphics
  • Images - PNG, JPG, WebP overlays
  • Layers - Depth control above or below the video

Device Mockups

Add context to your demo with professional frames: - Safari (macOS) - Chrome - Arc - Samsung


Zoom

  • Zoom in/out at specific timeline moments
  • Speed and easing control
  • 3D Camera Movement - Tilt and dynamic rotation based on points of interest
  • Adjustable Perspective - Full control over X and Y axes for depth simulation

Audio

  • Multi-track support
  • Per-track and master volume control
  • Auto-trim based on video duration
  • Toggle original video audio

Export

Quality - 4K (3840×2160) @ 30fps - 2K (2560×1440) @ 30fps - 1080p (1920×1080) @ 30fps - 720p (1280×720) @ 30fps - 480p (720×480) @ 24fps

Format - MP4 (H.264) - WebM (VP9 with transparent background support) - GIF - PNG, WEBP, JPG, AVIF


Technology

Video Processing - FFmpeg.wasm - fully in-browser rendering - Canvas API - preview - MediaBunny - optimized video pipeline - Three.js - 3D effects - HTML to Image - mockup export

Storage - IndexedDB - locally recorded videos - LocalStorage - user settings - Supabase Storage - cloud backups (coming soon)

UI/UX - Radix UI - accessible components - Framer Motion - animations - Tailwind CSS 4 - styling


Quick Start

# Install dependencies
pnpm install

# Setup environment
cp .env.example .env
# Add your Supabase credentials

# Start development server
pnpm dev

Open http://localhost:3000


💬 Community

¡Contributions are welcome! Join our Discord to collaborate: Discord

oosmetrics

Contributors

Star History

Star History Chart

Extension points exported contracts — how you extend this code

ImageProject (Interface)
(no doc)
types/image-project.types.ts
LayersPanelProps (Interface)
(no doc)
types/layers.types.ts
PlayerControlsProps (Interface)
(no doc)
types/player-control.types.ts
EditorModeConfig (Interface)
(no doc)
types/editor-mode.types.ts
MockupFeatures (Interface)
(no doc)
types/mockup.types.ts
TrimSettings (Interface)
(no doc)
types/video.types.ts
Preview3DConfig (Interface)
(no doc)
types/photo.types.ts
TrimRange (Interface)
(no doc)
types/timeline.types.ts

Core symbols most depended-on inside this repo

t
called by 676
public/ffmpeg/814.ffmpeg.js
hexToRgba
called by 62
lib/utils.ts
setTimeout
called by 59
public/ffmpeg/ffmpeg-core.js
drawRoundedRectPath
called by 53
lib/mockup-canvas/shared.ts
setProgress
called by 37
public/ffmpeg/ffmpeg-core.js
cn
called by 30
lib/utils.ts
deriveSearchBg
called by 26
lib/color.utils.ts
drawMockupShadow
called by 19
lib/mockup-canvas/shared.ts

Shape

Function 941
Interface 205

Languages

TypeScript100%

Modules by API surface

public/ffmpeg/ffmpeg-core.js191 symbols
components/cursor-svg/index.tsx33 symbols
components/canvas-svg/index.tsx25 symbols
app/components/ui/editor/VideoCanvas.tsx23 symbols
app/components/ui/Skeleton.tsx21 symbols
app/components/ui/BackgroundColorEditor.tsx21 symbols
lib/videos-library.ts20 symbols
lib/mockup-previews.tsx20 symbols
app/[locale]/(editor)/editor/page.tsx19 symbols
components/ui/dropdown-menu.tsx15 symbols
app/api/photos/route.ts15 symbols
types/zoom.types.ts14 symbols

For agents

$ claude mcp add openvid \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact