A Client/Server System for Video Streaming


I made a client/server video streaming system for my Advanced Operating Systems class. The system supports a simple communications protocol whereby clients can "subscribe" to video channels they want to view. The server maintains all of the channels and subscriber lists, and streams video to each. Clients can issue VCR-like (fast forward, rewind, etc.) commands to the server to interact with the video stream. The code is unoptimized, so the streaming is not in real-time, but that is because the focus of this project was in getting the communications infrastructure implemented so that it would scale.

Below is a screenshot of the system in action. The window on the bottom left shows the console of one of the clients (the other is minimized.) Their video output windows are visible on the upper left. On the upper right, is the server's output.



Back to my main page