The client can do that 100% client side, you can serve pure static files with a JS player that handles the streaming. All you have to do is chunk the video into small 2-5 second chunks at a variety of nitrates and list them all in an .m3u8 playlist file if the right format.
I know because I explored this for a hobby project of a movie I liked. See here: http://lelandbatey.com/projects/REDLINE-intro/
Use your network inspector to observe your browser requesting the individual chunks over time. Note that my server is just an Apache2 file server.