- I. Use AWS S3
- II. Standard process
I. Use AWS S3
AWS S3 has huge internet bandwidth and resources. Basically we can pay for their service only.
- Generate S3 signed URL to upload
- Upload file from client (browser) to AWS S3 directly
- Use AWS Lambda to execute file processing such as Media convert, capture thumbnail, etc…
- Notify to backend server and update related data

II. Standard process
Standard process will be applied to single server or media server over nginx web server with these steps
- Upload file from browser to server
- Create Queue process for video converting, capture thumbnail, etc…
- Update status of media file once done
- Notify to API server (can use redis pub/sub, kafka, or simple with internal restAPI)
