Skip to content

Sopwit/video-annotation-tool

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

17 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

🎬 Video Annotation Tool

Version License Platform Status CI

A professional-grade, cross-platform video analysis suite powered by AI. Annotate, Analyze, and Export with precision.

🌐 English | πŸ‡ΉπŸ‡· TΓΌrkΓ§e


πŸ“– Overview

Video Annotation Tool is a state-of-the-art desktop application built on Electron and React, designed for sports coaches, researchers, and content creators. It bridges the gap between simple video players and complex editing software by providing a lightweight, "Liquid Glass" interface focused entirely on analysis.

With on-device AI for object detection and a vector-based drawing engine, you can analyze footage frame-by-frame without your data ever leaving your machine.

✨ Key Features

🧠 Smart Analysis & AI

  • AI Object Detection: Instantly highlight people and objects using integrated TensorFlow.js models.
  • Voice Memos: Record audio commentary directly synchronized with the timeline.
  • Infinite Canvas: Deep zoom (500%) and pan capabilities for pixel-perfect detail.

πŸŽ₯ Video Control

  • Universal Format Support: plays MP4, WebM, OGG, MOV, AVI, MKV.
  • Frame-Perfect Navigation: Step through video frame-by-frame for precise marking.
  • Visual Scrubber: See your annotations and bookmarks visualised on the timeline.

✏️ Professional Creative Suite

  • Vector Tools: Pen, Line, Rectangle, Circle, Arrow with adjustable strokes and opacity.
  • Smart Stamps: Quick feedback with built-in emoji stamps (βœ… ❌ ❓ ❗).
  • Non-Destructive Editing: Every stroke is a layer. Move, resize, or delete at any time.

πŸ’Ύ Data & Export

  • 100% Local: Projects are saved to IndexedDB. No cloud uploads.
  • Export Power: Save frames as PNG, annotations as SVG, or data as CSV/JSON.

πŸ› οΈ Technology Stack

Built with modern, performance-focused technologies:

Core UI / UX Intelligence Storage
Electron React TensorFlow.js Dexie.js
Node.js Tailwind CSS Coco SSD IndexedDB

πŸš€ Getting Started

Prerequisites

  • Node.js (v20 or higher)
  • npm (v10 or higher recommended)

Installation

# Clone the repository
git clone https://github.com/Sopwit/video-annotation-tool.git

# Navigate to the project directory
cd video-annotation-tool

# Install dependencies
npm install

Development

Run the app in development mode with hot-reload:

npm run electron:dev

Quality Checks

Run repository quality gates before opening a PR:

npm run clean
npm run lint
npm run test
npm run build

Production Build

Create a standalone executable for your OS:

# Build for current OS
npm run electron:build

# Build for all platforms
npm run electron:build:all

πŸ“‚ Project Structure

video-annotation-tool/
β”œβ”€β”€ πŸ”Œ backend/       # Electron main process & IPC handlers
β”œβ”€β”€ βš›οΈ src/           # React frontend application
β”‚   β”œβ”€β”€ components/  # Reusable UI components
β”‚   β”œβ”€β”€ services/    # Business logic (AI, Audio, Export)
β”‚   β”œβ”€β”€ store/       # State management (Zustand)
β”‚   └── themes/      # Theme styles
β”œβ”€β”€ βš™οΈ config/        # Environment & App configuration
└── πŸ“¦ release/       # Compiled production builds

⌨️ Keyboard Shortcuts

Action Shortcut
Tools P (Pen), E (Eraser), C (Cursor), T (Text)
Shapes R (Rect), O (Circle), A (Arrow), L (Line)
Navigation Space (Play/Pause), Left/Right (Frame Step)
Canvas Ctrl + Scroll (Zoom), Shift + Drag (Pan)
Edit Ctrl + Z (Undo), Del (Delete Selected)

🀝 Contributing

We love contributions! Please read our Contributing Guide to get started.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

πŸ“ License

Distributed under the MIT License. See LICENSE.md for more information.


Made with ❀️ by Sopwit

Releases

No releases published

Packages

 
 
 

Contributors