Apple Darwin Streaming Server
description
Transcript of Apple Darwin Streaming Server
T-111.5350 Multimedia Programming
Maciej Korczyński, Krzysztof Zurek
Table of contents
Introduction to Multimedia StreamingWhat is Darwin Streaming Server?The technical sideNetworking protocolsConclusion
Multimedia StreamingTwo types of streaming:
ProgresiveReal-time
Real-time streaming works with:a streaming media servera client media playera Real-Time Streaming Protocol (RTSP)
No file is ever downloadedMedia 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 QTSSRuns on 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 presentationlive and on demandcan be seen on-linelater 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 example has features:
A digital video (DV) camera and microphone are set up in a classroom or lecture hall to convert 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 an Ethernet connection to the streaming server)
The streaming server with e.g DSS reflects the encoded live presentation as a unicast stream to each client computer on the campus network and on the Internet
The broadcaster laptop running iMovie is used to produce high-quality on-demand versions of a live presentation after the presentation is concluded
Multicast versus Unicast (1)
Multicast :a single stream is shared among the clients reduces network congestionrequire access to the multicast backbone
http://developer.apple.com/opensource/server/streaming/qtss_admin_guide.pdf
Multicast versus Unicast (2)
Unicasteach client initiates its own streampossible result: heavy network trafficreliable for deliveryno 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 streamingSupports multiple platformsSupports Live and On-Demand deliveryMulticast and Unicast delivery is possibleNetworking 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!