2.7 KiB
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.