Stony Brook Video Server is the distributed video server application that provides real-time video broadcast as well as title indexing, keyword searching and video streaming in a convenient way to the clients over the network.
The project goal is to design and set-up the distributed video server on Computer science department's network. The source of video may be VCR, satellite TV or cable TV - several channels may work at the same time. The recording of video is based on schedule or may be performed manually. Each movie may have the expiration time after which it is automatically removed.
To reduce the network traffic video data is duplicated in several locations - at storage and distribution servers called push servers. The metadata is stored in single location - at management server, which controls the whole system.
The convenient graphics interface is provided for most administrative tasks.
Metadata for video playback is stored in the relational database as:
Movie title, description, date of recording, duration, expiration date and additional comments.
Complete text of each movie, where each line has a timestamp for back reference.
Location of movie data. Actual movie data may be distributed over the network. This allows scalability of the database and reduction of the network traffic.
Scheduler information that manages automated recording and deletion of each movie.
The client provides the easy and convenient access to multimedia data. Client may browse the complete list of movies, search the closed captioned text by keywords and boolean expressions and play selected video from the beginning or from the point matching search query. The displayed fragment is synchronized with closed captions text information.
Direct broadcast to client is provided as well. The up-to-date list of channels available for this local network is listed to the client. It may select the channel and receive the video and closed captions.
Several data acquisition servers may record data from video source ( acquisition server ), broadcast the live video over network and store data for playback on demand.
At the same time push video servers may provide each client with individual data stream from storage. Client may choose the nearest push server to receive data.
Administration of all components is performed from client after successful "superuser" authorization. All configuration is edited with convenient dialog-based representation.