I guess there are tradeoffs by doing it client side vs server side like your project. Like you said there's no control of the media pipeline so encoding and preprocessing the video is not possible so only video formats supported by the browser are supported.