vcomp/ROADMAP.md
2025-12-15 12:56:52 +00:00

2.7 KiB

Video Compression Web App Roadmap

MVP (Minimal Viable Product)

Issue 1: Frontend - Single File Upload Page

Description: Create a simple webpage allowing the user to upload a single video file.

Checklist:

  • Create HTML upload form.
  • Add "Upload" button.
  • Display "Processing..." message while backend compresses video.
  • Show download link after compression is complete.

Issue 2: Backend - FFmpeg Compression for One File

Description: Implement server-side compression for a single uploaded video file using FFmpeg.

Checklist:

  • Receive uploaded file and store temporarily.
  • Compress video using H.265/HEVC with preset fast and CRF ~24.
  • Use AAC audio codec at ~128kbps.
  • Send compressed file back to frontend.
  • Delete temporary files after download.

Intermediate

Issue 3: Frontend - Multiple File Uploads

Description: Extend the frontend to allow uploading multiple files simultaneously.

Checklist:

  • Support selecting multiple files.
  • Display individual progress bars for each file.
  • Allow preset selection (codec, resolution, bitrate).

Issue 4: Backend - Asynchronous Multiple File Processing

Description: Enable backend to handle multiple file uploads asynchronously.

Checklist:

  • Process multiple videos in parallel.
  • Generate individual download links for each compressed file.
  • Validate uploaded files to ensure they are videos only.

Advanced

Issue 5: Backend - Compression Job Queue

Description: Implement a job queue to manage video compression tasks efficiently.

Checklist:

  • Queue video compression jobs.
  • Limit concurrent compression tasks to prevent server overload.
  • Track job status (pending, processing, complete).

Issue 6: Backend - User Authentication & File History

Description: Add optional user accounts and allow users to track their uploaded videos.

Checklist:

  • Implement user registration and login.
  • Track uploaded files per user.
  • Allow users to download their file history.
  • Auto-delete files after a configurable number of days.

Issue 7: Security Enhancements

Description: Protect the server and users from misuse and unsafe uploads.

Checklist:

  • Sanitize filenames to avoid malicious paths.
  • Reject non-video files.
  • Enforce max file size limit.
  • Ensure temporary files are stored in a safe directory.

Issue 8: Optional Features

Description: Add advanced functionality to improve user experience.

Checklist:

  • Provide multiple compression presets (H.264 1080p, H.265 1440p).
  • Integrate with NAS or external storage for long-term retention.
  • Add public/private mode for uploaded files.