Skip to content

boxingknight/QClip

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ClipForge - Desktop Video Editor

A professional desktop video editor for quick clip trimming and export. Built with Electron, React, and FFmpeg with MVP complete and V2 development in progress.

Features (MVP) ✅ COMPLETE

  • Import video files (MP4, MOV) via Browse Files button
  • Video playback with play/pause controls and synchronized audio
  • Timeline visualization with proportional clip widths and selection
  • Timeline-based trimming with double-click to set trim points and draggable handles
  • Export to MP4 with real-time progress tracking and save dialog
  • Professional dark mode UI with modern styling
  • Error handling with graceful failures and helpful messages
  • Packaged desktop app ready for distribution

V2 Development 🚀 IN PROGRESS

  • State Management Refactor - Context API foundation for V2 features
  • UI Component Library - Reusable components for advanced features
  • Professional Timeline - Multi-track video editor with CapCut-style interface
  • Drag & Drop Clips - Drag clips between tracks with magnetic snapping
  • Split & Delete Clips - Professional editing operations with context menu & keyboard shortcuts
  • Advanced Export Settings - Professional codec options, presets, and file size estimation
  • 📋 Screen Recording - Built-in recording functionality
  • 📋 Advanced Effects - Text overlays, transitions, filters
  • 📋 Project Management - Save/load projects with auto-save

Recent Updates 🔧

PR#23: Advanced Export Settings (October 28, 2024)

  • Export Settings Modal - Comprehensive settings interface with basic and advanced options
  • Codec Support - H.264, H.265, VP9 with automatic FFmpeg mapping
  • Preset System - Web (fast), Broadcast (high quality), Archival (maximum quality)
  • Advanced Settings - Bitrate, CRF, two-pass encoding, encoding presets and profiles
  • File Size Estimation - Real-time file size calculations based on settings
  • Settings Persistence - All settings saved to localStorage between sessions
  • FFmpeg Integration - Complete settings support throughout video processing pipeline
  • Professional UI - Modern interface with comprehensive validation and error handling

Achievement: ClipForge now has professional-grade export capabilities rivaling industry-standard video editors!

PR#15: Split & Delete Clips (October 28, 2024)

  • Split at Playhead - Split clips at any position with Cmd+B or toolbar button
  • Delete Clips - Remove single or multiple clips with Delete key or toolbar
  • Context Menu - Right-click on clips for split, duplicate, and delete operations
  • Keyboard Shortcuts - Professional shortcuts (Cmd+B split, Delete, Cmd+D duplicate)
  • Toolbar Integration - All buttons functional with smart disabled states
  • Seamless Playback - Fixed critical playback issues for continuous timeline playback
  • 5 Critical Bugs Fixed - Coordinate system fixes, feedback loop elimination, toolbar wiring

Achievement: Professional editing operations with seamless continuous playback through all clips!

PR#13: Professional Timeline (October 28, 2024)

  • Multi-Track Timeline - Professional video editor with CapCut-style interface
  • Professional Trimming - Edge-based trimming with magnetic snap (CapCut-style)
  • Playback Synchronization - Seamless video-timeline synchronization
  • Single Toggle Controls - Industry-standard Play/Pause button (turns blue when playing)
  • Enhanced Media Library - Complete metadata display and drag-and-drop functionality
  • 9 Major Bugs Fixed - Comprehensive bug analysis and prevention measures (including THE SMOKING GUN!)

Achievement: ClipForge now rivals professional video editing software like CapCut and Premiere Pro!

PR#11: State Management Refactor (October 28, 2024)

  • Context API Implementation - Scalable state management for V2 features
  • FFmpeg Bug Fix - Resolved critical trim/export functionality issue
  • MVP Preservation - All existing features work perfectly
  • V2 Foundation - Ready for advanced video editing features

Bug Fixed: FFmpeg binary path detection in development mode - trim and export now work flawlessly!

Quick Start

Download & Install (Recommended)

  1. Download ClipForge-1.0.0-arm64.dmg from Releases
  2. Open the DMG file
  3. Drag ClipForge to Applications folder
  4. Double-click ClipForge in Applications to launch
  5. If you see "App is damaged" warning:
    • Right-click app → Open
    • Click "Open" in the dialog
    • This is normal for unsigned apps

Development Setup

Prerequisites

  • Node.js 18+
  • npm or yarn

Installation

git clone https://github.com/yourusername/clipforge.git
cd clipforge
npm install

Development Mode

npm run build  # Build React bundle
npm start      # Launch Electron app

Package for Production

npm run build:app  # Build production webpack bundle
npm run package    # Create DMG installer

Output: dist/ClipForge-1.0.0-arm64.dmg (~752MB)

How to Use ClipForge

Basic Workflow

  1. Import Video: Click "Browse Files" to select MP4 or MOV files
  2. Select Clip: Click on any imported clip in the timeline to select it
  3. Play Video: Use play/pause controls to preview the selected clip
  4. Trim Clip:
    • Double-click on timeline to set trim start point
    • Double-click again to set trim end point
    • Drag the green handles to adjust trim points
    • Click "Apply Trim" to render the trimmed version
  5. Export: Click "Export Video" to save the edited clip as MP4

Advanced Features

  • Multi-clip Export: Import multiple videos and export them as a single concatenated video
  • Timeline Navigation: Click anywhere on timeline to scrub through video
  • Reset Trim: Click "Reset" to clear trim points and return to original clip

Architecture Overview

ClipForge is built with a modern desktop application architecture:

Core Technologies

  • Electron - Desktop framework providing native OS integration
  • React - UI framework for component-based interface
  • FFmpeg - Video processing engine for export functionality
  • Webpack - Module bundler for React application

System Architecture

┌─────────────────┐    IPC     ┌─────────────────┐
│   Main Process  │◄──────────►│  Renderer       │
│   (Node.js)     │            │  (React)        │
│                 │            │                 │
│ • File dialogs  │            │ • UI Components │
│ • FFmpeg        │            │ • State mgmt    │
│ • Save dialogs  │            │ • User events   │
│ • IPC handlers  │            │ • Video player  │
└─────────────────┘            └─────────────────┘

Key Components

  • ImportPanel - File import with validation and drag-drop support
  • VideoPlayer - HTML5 video playback with custom controls
  • Timeline - Visual timeline with clip display and trim functionality
  • ExportPanel - Export controls with progress tracking
  • ErrorBoundary - Global error handling and recovery

IPC Communication

  • File operations (import, save dialogs)
  • FFmpeg video processing
  • Progress updates during export
  • Error handling and logging

Screenshots

Import Interface

Import Interface Clean import interface with Browse Files button and imported clips list

Video Player

Video Player Professional video player with play/pause controls and time display

Timeline with Clips

Timeline Visual timeline showing imported clips with proportional widths

Trim Controls

Trim Controls Timeline-based trimming with draggable handles and visual indicators

Export Success

Export Success Export progress tracking and success confirmation

Troubleshooting

Common Issues

"App is damaged" warning on macOS:

  • Right-click the app → Open
  • Click "Open" in the dialog
  • This is normal for unsigned apps

FFmpeg not found error:

  • Ensure you're using the packaged app (not dev mode)
  • FFmpeg binaries are bundled with the packaged app
  • Try reinstalling the app

Video won't play:

  • Check file format (MP4/MOV supported)
  • Ensure file isn't corrupted
  • Try a different video file

Export fails:

  • Check available disk space
  • Ensure output directory is writable
  • Try a shorter video clip first

App crashes:

  • Check console for error messages
  • Try restarting the app
  • Report issue with error details

Performance Tips

  • Use shorter video clips for faster processing
  • Close other applications during export
  • Ensure adequate RAM (4GB+ recommended)

Project Status ✅ COMPLETE

MVP Status: ✅ COMPLETE (All 10 PRs finished)
Development Time: 72 hours (Oct 27-29, 2025)
Final Deadline: Oct 29, 10:59 PM CT ✅ ACHIEVED

Completed Features

  • ✅ PR #1: Project Setup (Electron + React)
  • ✅ PR #2: File Import System
  • ✅ PR #3: Video Player Component
  • ✅ PR #4: FFmpeg Export Integration
  • ✅ PR #5: Timeline Component
  • ✅ PR #6: Trim Controls (Timeline-based)
  • ✅ PR #7: UI Polish & Bug Fixes
  • ✅ PR #8: Error Handling & Stability
  • ✅ PR #9: Packaging & Build System
  • ✅ PR #10: Documentation & Demo

Total: 10/10 PRs complete (100% MVP delivered!)

Technical Achievements

  • Complete video editing pipeline from import to export
  • Professional desktop app with native OS integration
  • Timeline-based trimming with visual feedback
  • Multi-clip support with concatenated export
  • Production-ready error handling and stability
  • Comprehensive documentation (~200,000 words)
  • Packaged distribution ready for users

Development Process

This project followed a documentation-first development approach:

  • Comprehensive planning before coding (PR_PARTY documentation)
  • Step-by-step implementation with detailed checklists
  • Continuous testing and bug documentation
  • Production-ready packaging with proper error handling

All development documentation is available in the PR_PARTY/ directory.

License

MIT License - See LICENSE file for details.

Acknowledgments

Built as an MVP demonstration in 72 hours using:

  • Electron for desktop framework
  • React for UI components
  • FFmpeg for video processing
  • Comprehensive documentation practices

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages