Apple Darwin Streaming Server

Download Report

Transcript 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
 Runs 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 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 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 highquality 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 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/ind
ex.html [2]
http://pages.cpsc.ucalgary.ca/~carey/papers/2005/jeanIMSA20
05.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!