GithubHelp home page GithubHelp logo

taoyunxing / taustreamingserver Goto Github PK

View Code? Open in Web Editor NEW
1.0 3.0 1.0 10.79 MB

RTSP Server, a simplified version extracting from DSS 5.5.5

License: MIT License

C++ 91.18% Objective-C 4.18% C 3.51% Makefile 0.46% Shell 0.67%

taustreamingserver's Introduction

#TauStreamingServer
TauStremingServer User Guide

Author: [email protected]
Last Update: 2011-07-04

1. Introduction

Darwin Streaming Server (DSS), the open source version of Apple¡¯s QuickTime Streaming Server technology,
is the first open sourced and fully featured RTP/RTSP streaming server, capable of streaming a variety of
media types including H.264/MPEG-4 AVC, MPEG-4 Part 2 and 3GP. It allows you to send streaming media to
clients across the Internet using the industry standard RTP and RTSP protocols.

TauStreamingServer is a simplified version extracting from DSS 5.5.5, just capable of using the unicast mode
to test the RTSP/UDP/RTP/RTCP/RUDP protocols based on the some Linux platforms, such as Readhat RHEL AS4,
Ubuntu 10.10.

All rights belong to Apple Computers, Inc. no use for commercial utilities !


2. DIRECTORY STRUCTURE

  TauStreamingServer/ ............... top src dir
  |-- APIModules/APICommonCode ............... API common code
                 APIStubLib................... API stub library
                 OSMemory_Modules............. memory module
                 QTSSAccessLogModule.......... user access log module(static)
                 QTSSErrorLogModule........... error log module(static)
                 QTSSFileModule............... file module(static)
                 QTSSFlowControlModule........ flow control module(static)
                 QTSSHomeDirectoryModule...... home directory module(dynamic)
                 QTSSPOSIXFileSysModule....... posix file system module(static)
                 QTSSRefMovieModule........... reference movie module(dynamic)
  |-- CommonUtilities/Encrypt ........... base64, md5, md5 digest
                      OSUtilities ....... OS utilites capasulity, such as mutex, rwmutex, condition, hash table, queue, thread
                      Others ............ atomic options, data translator, assert, getopt
                      SafeStdLib ........ internal and external std lib
                      Socket ............ event-drived socket include tcp and udp
                      String ............ string parser and translator
                      Task .............. idle and timeout task
  |-- MP4Packetizer/ .................... hinted mp4 file packetizer
  |-- ServerCore/ ....................... darwin streaming server core
                 Prefs .................. server pre configure file
                 HTTP ................... http protocol
                 RTSP ................... rtsp protocol
                 RTP .................... rtp protocol
                 RTCP ................... rtcp protocol
                 SDP .................... sdp protocol
  |-- Doc/ ............. protocol, file format, SDK developer guide, administror guide documents
  |-- Build/ ............. compile, build tarball and install bash scripts
  |-- README ............. intro, build, install info

3. Bash Script Instruction

  ./Buildit       compile the DarwinStreamingServer exe
  ./clean         clean the temp file .o, .xo, etc
  ./buildtarball  create and gzip the install packet (main script)
  ./Make_Root     create root dir
  ./Install       install the DarwingStreamingServer exe and congfig file into the specified path

4. BUILDING Instruction

  su root                              #change common user into root
  tar -zxvf TauStreamingServer.tar.gz  # unpacked source package
  cd TauStreamingServer/
  ls -l
  cd Build/
  chmod 777 *
  ./buildtarball                       # compile, create root directory and Linux tarball packet
  ls -l
  cd DarwingStreamingSrvr-Linux        # generate the configure script and Makefile.in files
  ls -l
  ./Install                            # install the exe into root dir
    Please enter a new administrator user name: your_username
    Please enter a new administrator Password: your_password
  cd /usr/local/sbin
  ls -l
  ./DarwinStreamingServer -d           # open the streaming server in the debug mode

5. INSTALLATION DIR

  DEFAULT DIR                                              CONTENTS
  /var/streaming/logs ...................................  log files created at runtime
  /usr/local/movies .....................................  media file directory, such as .mp4, .mov, .3gp files
  /etc/streaming ........................................  xml configuration files, etc
  /usr/local/sbin .......................................  executable binaries DarwinStreamingServer
  /usr/local/sbin/StreamingServerModules ................  QTSSRefMovieModule.so, QTSSHomeDirectoryModule.so
  /usr/local/bin ........................................  createuserstreamingdir script, etc

6. CHECK INSTALL

   root@taoyx-desktop:/home/taoyx# id qtss
      uid=1001(qtss) gid=1001(qtss) ×é=1001(qtss)
   root@taoyx-desktop:/home/taoyx# ps aux | grep Darwin
      qtss      1788  0.0  0.2  38692  2520 pts/0    Sl+  16:48   0:00 ./DarwinStreamingServer -d
      root      1838  0.0  0.0   4012   756 pts/1    S+   16:58   0:00 grep --color=auto Darwin
   root@taoyx-desktop:/home/taoyx# netstat -ntulp | grep Darwin
      tcp        0      0 0.0.0.0:8001            0.0.0.0:*               LISTEN      1788/DarwinStreamin
      tcp        0      0 0.0.0.0:554             0.0.0.0:*               LISTEN      1788/DarwinStreamin
      tcp        0      0 0.0.0.0:7070            0.0.0.0:*               LISTEN      1788/DarwinStreamin
      tcp        0      0 0.0.0.0:8000            0.0.0.0:*               LISTEN      1788/DarwinStreamin
      udp        0      0 127.0.0.1:6970          0.0.0.0:*                           1788/DarwinStreamin
      udp        0      0 192.168.1.101:6970      0.0.0.0:*                           1788/DarwinStreamin
      udp        0      0 127.0.0.1:6971          0.0.0.0:*                           1788/DarwinStreamin
      udp        0      0 192.168.1.101:6971      0.0.0.0:*                           1788/DarwinStreamin

7. OPEN CLIENT PLAYER

   open the vlc player on the same local host with the TauStreamingServer locates on, input
   rtsp://127.0.0.1:554/sample_100kbit.mp4
   and enjoy the sample video in the media install directory /usr/local/movies.

8. To do

   fix the start failure when using the '/usr/local/sbin/DarwingStreamingServer -x' start options in Install script

taustreamingserver's People

Contributors

taoyunxing avatar

Stargazers

 avatar

Watchers

James Cloos avatar Alex avatar  avatar

Forkers

wangscript007

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.