README
上传用户:sy_wanhua
上传日期:2013-07-25
资源大小:3048k
文件大小:10k
源码类别:

流媒体/Mpeg4/MP4

开发平台:

C/C++

  1. ====================================================================
  2. RTSP Server README 
  3. ====================================================================
  4. RTSP Server
  5. Release 1.0.1
  6. July 31, 2001
  7. ====================================================================
  8. LICENSE AND COPYRIGHT 
  9. ====================================================================
  10. The Vovida Software License, Version 1.0
  11. Copyright (c) 2000 Vovida Networks, Inc.  All rights reserved.
  12. Redistribution and use in source and binary forms, with or without
  13. modification, are permitted provided that the following conditions
  14. are met:
  15. 1. Redistributions of source code must retain the above copyright
  16.    notice, this list of conditions and the following disclaimer.
  17. 2. Redistributions in binary form must reproduce the above copyright
  18.    notice, this list of conditions and the following disclaimer in
  19.    the documentation and/or other materials provided with the
  20.    distribution.
  21. 3. The names "VOCAL", "Vovida Open Communication Application Library",
  22.    and "Vovida Open Communication Application Library (VOCAL)" must
  23.    not be used to endorse or promote products derived from this
  24.    software without prior written permission. For written
  25.    permission, please contact vocal@vovida.org.
  26. 4. Products derived from this software may not be called "VOCAL", nor
  27.    may "VOCAL" appear in their name, without prior written
  28.    permission of Vovida Networks, Inc.
  29. THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESSED OR IMPLIED
  30. WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
  31. OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE AND
  32. NON-INFRINGEMENT ARE DISCLAIMED.  IN NO EVENT SHALL VOVIDA
  33. NETWORKS, INC. OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT DAMAGES
  34. IN EXCESS OF $1,000, NOR FOR ANY INDIRECT, INCIDENTAL, SPECIAL,
  35. EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
  36. PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
  37. PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
  38. OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
  39. (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
  40. USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
  41. DAMAGE.
  42. ====================================================================
  43. INTRODUCTION 
  44. ====================================================================
  45. The Real Time Streaming Protocol, or RTSP, is an application-level
  46. protocol for control over the delivery of data with real-time
  47. properties. RTSP provides an extensible framework to enable
  48. controlled, on-demand delivery of real-time data, such as audio and
  49. video. Sources of data can include both live data feeds and stored
  50. clips. This protocol is intended to control multiple data delivery
  51. sessions, provide a means for choosing delivery channels such as UDP,
  52. multicast UDP and TCP, and provide a means for choosing delivery
  53. mechanisms based upon RTP (RFC 1889).
  54. ====================================================================
  55. NEW FEATURES AND FUNCTIONS IN THIS RELEASE 
  56. ====================================================================
  57. KEY FEATURES - RTSP Stack
  58. -------------------------------------------------------------------
  59. This RTSP stack is fully compliant with RFC 2326 (Real Time
  60. Streaming Protocal, RTSP). It contains an implementation of
  61. SDP, for session description, which is fully compliant 
  62. with RFC 2327 (Session Description Protocol, SDP).
  63. This RTSP stack:
  64. - Written in C++
  65. - Supports TCP protocol (no UDP)
  66. - Server centric api
  67. KEY FEATURES - RTSP Server
  68. -------------------------------------------------------------------
  69. The RTSP Server is an application that handles basic play and
  70. record requests from a compliant RTSP client.
  71. - Interop with Real Player client
  72. - Play and record in various codecs
  73. - Supports *.au, *.wav, *.raw, or *.rtp file formats
  74. - System logging and session statistics
  75. - Self monitor of traffic load
  76. - Graceful shutdown with admin program
  77. For play requests, the RTSP Server supports:
  78. - Play ranges
  79. - Queued play requests
  80. - Pause
  81. - Up to 90 simultanous playing sessions
  82. For record requets, the RTSP Server supports:
  83. - Patches silence gaps and missing packets in RTP stream
  84. - Up to 90 simultanous recording sessions
  85. ====================================================================
  86. BUG FIXES 
  87. ====================================================================
  88. 1.0.1 Release (July 31, 2000):
  89. - Dangling file descriptor in statistics logging 
  90. - Dangling file descriptor in tcp connections
  91. - Codec support (other then g711) didn't play/record correctly
  92. - Logic for multi framed codecs (ie, g711 in 20ms or 30ms)
  93. - Minor compile fix for g++ in RedHat 7
  94. ====================================================================
  95. KNOWN ISSUES
  96. ====================================================================
  97. - Last few packets of rtp stream maybe lost
  98. - RTSP stacks creates responses only, no requests
  99. - Doesn't support the following RTSP methods:
  100.     GET_PARAMETERS, SET_PARAMETERES, OPTIONS, REDIRECT
  101. ====================================================================
  102. KNOWN LIMITATIONS
  103. ====================================================================
  104. - Single stream container files only
  105. - No multicasting playback
  106. - No conference recording
  107. - RTSP messaging on TCP only, no UDP
  108. - No codec transcoding
  109. ====================================================================
  110. IN PROGRESS
  111. ====================================================================
  112. - Send RTCP BYE after playing an audio file is complete
  113. - Interop with QuickTime client
  114. - Solaris port
  115. ====================================================================
  116. GETTING STARTED
  117. ====================================================================
  118. PLATFORMS SUPPORTED
  119. --------------------------------------------------------------------
  120. The Rtsp Server will compile and run on these operating systems:
  121. - Linux Red Hat 6.2, 7.0, 7.1
  122. INSTALLATION INSTRUCTIONS
  123. --------------------------------------------------------------------
  124. 1. Download the tar ball.
  125. 2. Untar the sip stack file using one of these commands: 
  126.    - Linux: tar -xvzf rtsp-n.n.n.tar.gz
  127. Where: n.n.n is the version number.
  128. COMPILE INSTRUCTIONS
  129. --------------------------------------------------------------------
  130. To compile both the RTSP stack and RTSP Server from (mediaServer)
  131. /rtsp-n.n.n/vocal
  132.    make rtspserver
  133. To compile the RTSP stack from /rtsp-n.n.n/vocal/rtsp/rtspstack/
  134.    make 
  135. To compile the RTSP interface from /rtsp-n.n.n/vocal/rtsp/rtspif/
  136.    make 
  137. To compile the RTSP Server (mediaServer) from
  138.     /rtsp-n.n.n/vocal/rtsp/rtspserver/
  139.    make 
  140. Compiled mediaServer can be found at
  141. /rtsp-n.n.n/vocal/rtsp/rtspserver/bin.debug.i686/mediaServer
  142. See Makefile in /rtsp-n.n.n/vocal/rtsp/rtspserver/ for some useful 
  143. compiler directives.
  144. ====================================================================
  145. USING THE RTSP SERVER
  146. ====================================================================
  147. Run RTSP server as following:
  148. ./mediaServer -v LOG_DEBUG -f mediaServer.cfg
  149. Where LOG_DEBUG is the log level, and mediaServer.cfg is the
  150. configuration file.  Useful log levels are LOG_DEBUG, LOG_DEBUG_STACK,
  151. LOG_DEBUG_HB.  See /rtsp/rtspserver/mediaServer.cfg for a sample
  152. configuration file.
  153. A sample RTSP client is provided as a test program.  See 
  154. /vocal/rtsp/rtspclient/README for more information.
  155. Copy /vocal/rtsp/rtspserver/sounds into /tmp (default AudioDirectory) as
  156. sample sounds files.
  157. ====================================================================
  158. SOURCE CODE INFORMATION
  159. ====================================================================
  160. The RTSP code release mainly contains two portions: 
  161. The RTSP stack includes following classes:
  162.     RtspMsg - rtsp msg base class
  163.        RtspRequest - rtsp requests
  164.        RtspResponse - rtsp responses
  165.        RtspXXXMsg
  166.        RtspXXXHdr
  167.        RtspSdp - rtsp sdp content body
  168.     RtspMsgParser - parser
  169.        CharData
  170.        CharDataParser
  171.        RtspUtil - utilities for parser
  172.        RtspBadDataException
  173.     RtspTransceiver - sending and receiving RTSP messages
  174.        RtspTcpConnection - accepts new client TCP connections
  175.        RtspTcpBuffer - process per client TCP connection
  176. The RTSP server include following classes/files:
  177.     mediaServer.cxx - main program
  178.        RtspServer - process RTSP requests
  179.        RtspServerStats - server statistics
  180.        RtspConfiguration - server configuration processor
  181.        RtspCommandLine - commandline processor
  182.     StateMachine - state handling
  183.        StateXXX
  184.        StateEvent
  185.        Operator
  186.        OpXXX
  187.     RtspFileHandler - file handling
  188.        RtspFileManager - file locking
  189.        RtspFileXXX - plugable file formats
  190.     RtspRtpProcessor - play and record rtp traffic for all session
  191.        RtpFileType.hxx - plugable codec parameters
  192.     RtspSession - per session information
  193.        RtspSessionManager - session manager
  194.        RtspSessionStats - per session statistics
  195.    
  196. ====================================================================
  197. DIRECTORY STRUCTURE 
  198. ====================================================================
  199. The rtsp-n.n.n directory contains the following subdirectories and
  200. files:
  201. rtspstack - Contains the source code that implements the RTSP protocal
  202. rtspif - Contains the source code for rtsp interface. 
  203.          It is a wrapper of RTSP stack
  204. rtspserver - Contains the source code that implements the RTSP Server
  205. rtspclient - Sample test programs to test RTSP requests
  206. ====================================================================
  207. CONTRIBUTORS 
  208. ====================================================================
  209. This software consists of voluntary contributions made by Cisco 
  210. Systems, Inc., and many individuals.
  211. Kim Le
  212. Wenqing Jin
  213. Marc Chiu
  214.  
  215. ====================================================================
  216. CONTACT INFORMATION AND WEBSITE
  217. ====================================================================
  218. We welcome your feedback, suggestions and contributions. Contact us 
  219. via email if you have questions, feedback, code submissions, and
  220. bug reports.
  221. For general inquiries - info@vovida.org
  222. We have mailing lists for the VOCAL applications and protocol stacks: 
  223. VOCAL - vocal@vovida.org
  224. COPS - cops@vovida.org
  225. MGCP - mgcp@vovida.org
  226. RADIUS - radius@vovida.org
  227. RTP - rtp@vovida.org
  228. RTSP - rtsp@vovida.org
  229. SIP - sip@vovida.org
  230. TRIP - trip@vovida.org
  231. SIPTiger - SIPTiger@vovida.org
  232. WinRTP - WinRTP@vovida.org
  233. You can subscribe to the mailing lists on www.vovida.org. 
  234. You can submit bug, patches, software contributions, and feature
  235. requests using Bugzilla.  Access Bugzilla from www.vovida.org. 
  236. ====================================================================