web applications – Web technologies involved in streaming video on demand from rest api to single page app

I am planning on building a website for my Physics teacher where he can upload his lectures as videos that can be played by students on demand. The web app will have a client server architecture with Python’s Flask framework for the rest API and an Elm SPA as the client. As you can imagine, this API will have a lot of CRUD functionality regarding resources such as user accounts, payments, etc.

My concern, however, is the video on demand part. In which format should I serve the videos and how will I do this over a rest endpoint?

I am comfortable with CRUD, but this is quite overwhelming for me as I am a novice in the streaming space. I need pointers and help to get me on the right track. Any guidance and further resources will be appreciated.