| Real-Time TV Program Distribution and Storage Server with Keyword Access Capability | ||
|---|---|---|
| Prev | Chapter 1. Introduction | Next |
The Stony Brook Streaming Video Server is designed as the multimedia streaming solution that combines the wide set of functionality with the relatively high-resolution video streaming.
The main goal of the Stony Brook Streaming Video Server is to shift from centralized video distribution over wide area networks and Internet to local and medium sized networks with decentralized video streaming capabilities, thus reducing hardware and networking resources and delivering the best possible interactive experience. Our implementation is designed specifically for TV program distribution, where users can access live as well as stored programs and movies with keyword search.
Any usual source of video, like set-top box, satellite TV antenna or VCR may serve as the video source for SBSVS.
Stony Brook Streaming Video Server uses closed captions as the additional source of media content. First, users may read the complete text of each TV program in parallel with or independently of the playback of the program. Second, users may use boolean expressions of keywords to find the desired video fragment and play a TV program exactly from the target point. Third, during the playback video is synchronized with the associated text which augments the quality of sound. Users can also click on text segments to go to corresponding video fragment.
SBSVS also has the capability to distribute TV program in real time over local-area network. In that case computer works just like TV, where users may select the channel, watch the live broadcast and read closed captions. In addition, authorized users can manually start and stop the recording of a program over the network.
The SBSVS implementation is not tied to any particular hardware and operating system. All code is written to be portable in highest possible way. The use of autoconf/automake package that lets the code to auto-detect the operating environment at compile time and builds on many platforms without human intervention.
Special attention is paid to reliability of the system. The server is designed to detect many different fault conditions. In the case when the fault occurs as the result of user interaction from the client side, the complete description of the fault is delivered back to the user along with error response to the client itself. All software components use a logging system with dynamically adjustable verbose level.
Special care is taken for automated scheduled operations, which does not rely on human maintenance and thus should behave reasonably on fault occurrences. Another focus is to keep the database and data consistency. In this implementation the system keeps the database records consistent across every atomic transaction by storing its state in the database across every operation. Thus, if the program or the whole computer crashes, which is expected to be very unlikely, the correct behavior is assumed on its restart.
And finally, SBSVS architecture is developed with possible later extensions for additional reliability and availability in mind, so all future improvements may be made without changing the core system design.