Video transmissions between backend and frontend

Hi there,
I’m currently on a project where I need to enable video uploads from client side to server side and also load videos from server side to client side. But what is the standard way to do this?

What I know is we are going to compress the video before we store it in the server, but is it better to be handled by the frontend, like JavaScript, and then upload the compressed video to server, or the other way round to upload the original file to backend and let the backend, say Python, to compress the video?

In addition, when retrieve a compressed video file from the server, namely loading a video and displaying it in the frontend, should we uncompress the video before we have it displayed on user’s view? If we should, uncompress it in Python or in JavaScript?