180 likes | 410 Views
Apple Darwin Streaming Server. T-111.5350 Multimedia Programming Maciej Korczyński, Krzysztof Zurek. Table of contents. Introduction to Multimedia Streaming What is Darwin Streaming Server? The technical side Networking protocols Conclusion. Multimedia Streaming. Two types of streaming:
E N D
Apple Darwin Streaming Server T-111.5350 Multimedia Programming Maciej Korczyński, Krzysztof Zurek
Table of contents • Introduction to Multimedia Streaming • What is Darwin Streaming Server? • The technical side • Networking protocols • Conclusion
Multimedia Streaming • Two types of streaming: • Progresive • Real-time • Real-time streaming works with: • a streaming media server • a client media player • a Real-Time Streaming Protocol (RTSP) • No file is ever downloaded • Media is played by the client software as it is delivered
Darwin Streaming Server (1) • Open source version of Apple's QuickTime Streaming Server • Uses the industry standard RTP and RTSP protocols • Based on the same code base as QTSS • Runson a variety of platforms
Darwin Streaming Server (2) • Allows you to manipulate the code to fit your needs • Code written in C/C++ • Support for the latest digital media standards, like MPEG-1/2/4 or 3GPP • Can stream over port 80 to avoid firewalls
What can you deliver using DSS? • Broadcasts of live events in real time • Video on demand • Playlist broadcasts of prerecorded content
Live vs. On-Demand Delivery • Continous (Live) transmission • Assistance of broadcasting needed • Encoding of a live source • Delivering the resulting stream to the server • Each customer sees the same point in the stream at the same time • On-Demand transmission • Each customer initiates the stream from the beginning • No customer ever comes in “late” to the stream • No broadcasting software is required
Example: Setup for Live Video (1) • classroom presentation • live and on demand • can be seen on-line • later enable students to play an archived version on their computers http://developer.apple.com/opensource/server/streaming/qtss_admin_guide.pdf
Example: Setup for Live Video (2) • The streaming setup in this examplehas features: • A digital video (DV) camera and microphone are set up in a classroom or lecture hall toconvert the live presentation to digital form. • The DV camera is connected through a FireWire port to a laptop running QuickTime Broadcaster (it encodes the digitized live presentation and transmits the signal via anEthernet connection to the streaming server) • The streaming server with e.g DSS reflects the encoded live presentation as a unicast stream to eachclient computer on the campus network and on the Internet • The broadcaster laptop running iMovie is used to produce high-quality on-demandversions of a live presentation after the presentation is concluded
Multicast versus Unicast (1) • Multicast : • a single stream is shared among the clients • reduces network congestion • require access to the multicast backbone http://developer.apple.com/opensource/server/streaming/qtss_admin_guide.pdf
Multicast versus Unicast (2) • Unicast • each client initiates its own stream • possible result: heavy network traffic • reliable for delivery • no special transport support is required http://developer.apple.com/opensource/server/streaming/qtss_admin_guide.pdf
Networking protocols in DSS(1) • The main networking protocols used for multimedia streaming in DSS are: • Real-Time Streaming Protocol (RTSP) • Real-Time Control Protocol (RTCP) • Real-Time Protocol (RTP)
Networking protocols in DSS(2) • Real-Time Streaming Protocol (RTSP) [7] : • application-level signaling protocol • control the delivery of data • real-time properties • establishing and managing a client/server streaming connection • session initiation and media negotiation • RTSP connection is finished in case the client wishes to pause, stop, rewind, or replay the media stream
Networking protocols in DSS(3) • RTP and RTCP are the protocols used to transmit and control the actual media data • Real-Time Protocol (RTP) [8] -> real-time multimedia transport over IP networks • Real-Time Control Protocol (RTCP) [8] -> an adaptive feedback control protocol for RTP
Networking protocols in DSS(4) • A media streaming session has three distinct phases: • Initialization • Media Transmission • Session Termination
Conclusion • Disscused aspects of Apple Darwin Streaming Server are: • DSS represents Real-time streaming • Supports multiple platforms • Supports Live and On-Demand delivery • Multicast and Unicast delivery is possible • Networking protocols are necessary to control interaction between streaming server and matching streaming client
References: • http://developer.apple.com/opensource/server/streaming/qtss_admin_guide.pdf [1] • http://developer.apple.com/opensource/server/streaming/index.html [2] • http://pages.cpsc.ucalgary.ca/~carey/papers/2005/jeanIMSA2005.pdf [3] • http://elearning.itc.hu/elearning/en/kutatas/docs/thesis.pdf [4] • http://atnac2003.atcrc.com/POSTERS/Grimm.pdf [5] • http://en.wikipedia.org/wiki/Darwin_Streaming_Server [6] • http://www.faqs.org/rfcs/rfc2326.html [7] • http://www.faqs.org/rfcs/rfc1889.html [8]
Questions? Thanks for your attention!