Skip to content

Compix is a video compression backend built with FastAPI and FFmpeg, database-backed job status, upload validation.

Notifications You must be signed in to change notification settings

purnendussr/Compix

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

10 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🎬 Compix β€” Video Processing Backend API

Compix is a production-style backend system that allows users to upload videos, compress them asynchronously using FFmpeg, and download optimized outputs β€” with real-time progress tracking and automatic storage management.

πŸš€ Features

πŸ“€ Video Upload API

βš™οΈ Asynchronous Background Processing

πŸŽ₯ FFmpeg Video Compression

πŸ—„ Database-Backed Job Status (SQLite)

🌐 RESTful API Design

🧠 How Compix Works

User uploads a video

Compix stores metadata in a database

Compression runs in a background thread

FFmpeg progress is tracked

User checks processing status via API

Compressed video becomes available for download

🧱 Tech Stack Backend Framework FastAPI Video Processing FFmpeg Database SQLite Async Jobs Python Threads API Documentation Swagger πŸ“‘ API Endpoints Method Endpoint Description POST /upload Upload video for compression GET /status/{video_id} Get processing status & progress GET /download/{video_id} Download compressed video πŸ“Š Status Flow UPLOADING β†’ PROCESSING β†’ DONE β†˜ FAILED

πŸ”’ Upload Restrictions

Allowed formats: .mp4, .mov, .mkv

▢️ Running Compix Locally

Create virtual environment

python -m venv venv

venv\Scripts\activate

Install dependencies

pip install fastapi uvicorn python-multipart

Start server

python -m uvicorn app.main:app --reload

Open API docs at: πŸ‘‰ http://127.0.0.1:8000/docs

πŸ’‘ What Compix Demonstrates

Compix is designed to showcase backend engineering skills:

External tool integration (FFmpeg)

Database-backed task tracking

πŸ§‘β€πŸ’» Author

Purnendu Sekhar Singha Roy Backend Developer | Python | System Design Enthusiast

About

Compix is a video compression backend built with FastAPI and FFmpeg, database-backed job status, upload validation.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages