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!