VidEngine
Video-sharing backend
- Upload pipeline
- Async
- Social login
- OAuth
- Transcoding
- Multi-format
Someone uploads a 200MB video. Handle that inside the request that received it and the request times out, the connection drops, and the user loses the file and their patience. So the upload finishes as fast as the bytes arrive, the request returns an identifier immediately, and the work happens on a queue. What actually took the time was failure: a worker dies mid-transcode and you need to know whether to retry, how many times, and how to stop two workers picking up the same job and both writing output. None of that shows in a demo, and all of it is what separates a pipeline from a script.
Uploads go straight to storage and processing runs on a queue, so the request that accepts a large file returns in milliseconds instead of holding a connection open. Transcoding to several qualities happens afterwards, and the client polls rather than waits.