Font Size: a A A

The Linux Under The Design And Implementation Of High-performance Streaming Media Server

Posted on:2007-09-18Degree:MasterType:Thesis
Country:ChinaCandidate:J G ZhouFull Text:PDF
GTID:2208360182993723Subject:Computer application technology
Abstract/Summary:
Along with the rapid evolution of the internet, streaming media service such as video-on-demand and IPTV becomes more and more popular, so we need a high performance and flexible streaming server to support these services. This paper first introduces the background, evolution and the present of the streaming technology, and analysis some streaming media product and the open streaming media specification, ISMA. Base on these information, we planned an high performance and flexible streaming server which follows open standard, it is developed under Linux and powered by an asynchronous event driven framework. The rest of this paper introduces its design and implementation details.The streaming server is developed under Linux using modularization idea. All modules are running on an asynchronous event driven service runtime framework. Base on some common network service framework, our framework is optimized for the high network IO and high disk IO, using the newest feature from Linux 2.6 kernel. It provides a uniform interface for registering event and handling the asynchronous event callback, and shields the complexity of thread exclusive. By analysis the technology of disk reading and writing, and combining with the asynchronous event driven framework, we design an asynchronous file buffer layer. Base on it we implement an efficient streaming data source module. Our streaming server receives and handles the client's interactive commands using asynchronous mechanism, then gets media data from data source and sends it to the client using the asynchronous framework.This streaming server supports cluster deploy. We design an application layer cluster using RTSP redirect technology. The cluster can be divides into layers and the nodes can be scattered to the edge of network. We design a virtual file layer to improving the storage of media data among the cluster, and implement an efficient cluster schedule policy using the application level information, such as media file distribution and load of the nodes and other information. With these technologies, we can build a high performance streaming server cluster with better performance price ratio.
Keywords/Search Tags:Streaming Server, Linux, Asynchronous IO, Event driven, Network Service Framework, application layer cluster
Related items