MPR - Media Processor
A web-based media transcoding tool with professional architecture.
System Overview
Data Model
Job Flow
System Overview
Components
Reverse Proxy (nginx)
Application Layer (Django, FastAPI, UI)
Worker Layer (Celery, Lambda)
Data Layer (PostgreSQL, Redis, SQS)
Storage (Local FS, S3)
Data Model
Entities
MediaAsset - Video/audio files with metadata
TranscodePreset - Encoding configurations
TranscodeJob - Processing queue items
Job Flow
Job States
PENDING - Waiting in queue
PROCESSING - Worker executing
COMPLETED - Success
FAILED - Error occurred
CANCELLED - User cancelled
Quick Reference
# Generate SVGs from DOT files
dot -Tsvg 01-system-overview.dot -o 01-system-overview.svg
dot -Tsvg 02-data-model.dot -o 02-data-model.svg
dot -Tsvg 03-job-flow.dot -o 03-job-flow.svg
# Or generate all at once
for f in *.dot; do dot -Tsvg "$f" -o "${f%.dot}.svg"; done
Access Points
# Add to /etc/hosts
127.0.0.1 mpr.local.ar
# URLs
http://mpr.local.ar/admin - Django Admin
http://mpr.local.ar/api - FastAPI (docs at /api/docs)
http://mpr.local.ar/ui - Timeline UI