1001 TEL (03) 5712121 EXT. 56667 E-Mail tgs@app.geo.ncu.edu.tw ydlin@cis.nctu.edu.tw TEL 03 5712121 EXT.58554 ADSL RTP RTSP SDP SMIL (Apple Computer) RTP RTP RTSP RTP Streaming RTP RTSP Darwin Streaming Server(DSS) Streaming Media 1995 RealNetworks.com RealAudio 1.0 Internet 1
(Real-time) (Local Host) (Buffer) (Video Conference) (VoD) (NetRadio) 2000 100 350,000 [1](2001 3 ) ( ) 1400 (2001 ) 75 (2005 ) DFC Intelligence [2] 1980 5000 2001 131 8400 (Smoothly) 2
UDP/IP UDP TCP UDP TCP TCP TCP UDP / (CODEC) Apple Corp. Darwin Streaming Server Streaming Media 3
4
5
SAP HTTP E-Mail SDP session (Video/audio/shared application ) (RTP/UDP/IP ) (H.261 video/mpeg video/g.723.1 audio ) ( ) SDP RTSP DESCRIBE RESPONSE O= session description S= m= a=rtpmap RTP Payload a=control RTSP request URL SDP RTSP Multimedia session 2.4 SMIL(Synchronized Multimedia Integration Language)[7] SMIL W3C SML XML SMIL SMIL SMIL URL JPEG SMIL XML HTML HTML 6
<tag> </tag> SMIL tags tag <tag> </tag> parameters /> SMIL RTP/UDP(TCP) RTSP/SDP SMIL HTTP 7
8
9
Darwin Streaming Server(DSS) DSS IETF 4.1 Darwin Streaming Server (DSS) DSS QuickTime Streaming Server version3.0.1 DSS RTP RTSP SDP IETF HTTP Web DSS C++ MAC OS X Linux Solaris FreeBSD Windows 2000/NT DSS ( ) RTSP DSS 10
OS Classes Sockets (Common Utilties) OS OSThread OSFileSource OSQueue TCP/UDP Socket TCPSocket UDPSocket UDPSocketPool Parsing Utilities StrPtrLen StringFormatter Tasks Task IdleTask RTCPUtilitiesLib RTCP RTCPPacket RTSP subsystem RTSP DSS API (Server Core) RTSP RTSP TCP RTSPSession RTSPSession Task RTP subsystem Server Core RTPSession RTSP session ID RTP RTPStream RTPSeesion RTPStream DSS RTP RTPSession RTPStream (startup) (Shutdown) Server callback DSS DSS DSS RTP session RTSP session RTP/UDP/IP RTSP/TCP/IP RTP RTSP RTP 11
DSS DSS Hinted File Hint (Track) Hint Server Hint (packetizer) Hint Track( video track audio track Hint video audio track) Hint Track DSS Quick Time Hint Track Hint QuickTime Player pro. Hint Track ConvertMovieToFile Movie Exporter Hint QuickTime Media Packetizer packetbuilder Hint Track QuickTime Player Pro Hint Track 4.2 Server Serer DSS DSS 12
(Role) (Task) DSS (Role) Server Core Server Core RTSP subsystem RTP subsystem Server (segment) Server (Compile) ( Dymamic Module) Register Role Initialize Role (Listen) RTSP 13
Shutdown Role Shutdown RTSP 14
Preporcessor Role RTSP Request Role Client session QTSS_Play RTP Send Packets Role RTP subsystem RTP subsystem( RTP/RTCP ) RTP subsystem RTP RTCP RTP Send Packets Role RTP session QTSS_Write QTSS_WriteV Server RTP Send Packets Role Server RTCP RTCP RFC1889 RTCP SR(Source description) RR(Receiver description) SDES(Source Description Items include items) APP(Application specific functions) BYE RTP 15
Server RTCP Process Role DSS DSS (1) RTP QuickTime (Maxima QT Media Data Size, MQD) (2) (Sample) (Constant QT Sample Size, CQS) (3) (Duration) (Constant QT Duration, CQD) (4) (Constant Sample Size, CSS) (5) (Sample Size, SS) DSS (1) (CQS=true) AND (CQD=true) AND (CSS<=0.5 * MQD) RTP RTP M 1 QuickTime PCK 1 (RTP M 1 QuickTime PCK ) (2) ((CQS=false) OR (CQD=false)) AND (SS<=05 * MQD) RTP RTP M 1 QuickTime PCK 2 (3) (1) (2) RTP RTP M 1 0 QuickTime PCK 3 RTP M QuickTime 16
PCK (smoothless) DSS DSS RTCP Quality level Loss Rate Getting better Getting worse (1) Loss Rate RTCP ( SLossThinTolerance) ratchetless True RTCP ( SLossThickTolerance) ratchetmore True (2) Getting Worse Getting Better RTCP Getting Worse ratchetless True RTCP Getting Better ratchetmore True 17
ratchetless ratchetmore QualityLevel DSS QualityLevel DSS DSS Server Linux mandrake8.0 kernel 2. 4. 3 DSS 3.0.1 IP 10.0.0.2 Client Windows 2000 QuickTime5.0.2 IP 192.168.0.2 Gateway Linux mandrake8.0 Kernel 2. 4. 3 WAN Emulator NIST 2. 0. 10 IP 10.0.0.1 192.168.0.1 DSS sample. mov size 814KB Video Track Audio Track X-Sorenson Video X-QT 66Kbits/sec 21Kbits/sec (Jitter) NIST 10Kbits/sec (Bandwidth) 10Kbits/sec 0% - 30 % 5% 18
(Loss rate) ( 10% ) 0-400 (ms) Client (delay) ( 100 ) 0-400 (ms) (Jitter) ( 100 ) DSS TCP DSS TCP FTP DSS Ftp UDP Streaming traffic FTP start point FTP 19
TCP 17. 20