A Web Services Based Streaming
Gateway for Heterogeneous A/V
        Collaboration


        Hasan Bulut

  Computer Scien...
Motivation
   Videoconferencing systems provide a framework to
    send/receive audio and video streams.
   Streaming is...
Videoconferencing Systems
    Major videoconferencing systems are:
   H323
    H.323 is defined as an umbrella standard s...
Videoconferencing vs Streaming
   A streaming client connects to a streaming
    server, primarily using RTSP, to establi...
   In this paper we will explain the components of XGSP
    Streaming Gateway, their functionality and messages
    added...
XGSP Collaboration
Framework
   To integrate heterogeneous systems into one
    collaboration system, we need to reach th...
Global Multimedia Conferencing
     Systems (GlobalMMCS)
The first prototype of this system includes:
 A XGSP media serve...
GlobalMMCS Architecture
       XGSP           XGSP Web
      Session          Server         Access Grid
      Server     ...
XGSP Streaming Gateway
               (XGSP–SG)
   Due to the requirements and underlying technology
    of streaming cli...
XGSP–SG Components and
               Design
   Streaming Gateway components

                       SMIL File
          ...
XGSP–SG Components I
   Stream Conversion Handler
       performs the communication between Session
        Server and S...
XGSP–SG Components II
   Stream Engine
       converts received audio or video streams into a
        specified RealStre...
XGSP–SG Components III
   SMIL File Generator
      dynamically constructs a SMIL file using the
       received audio a...
XGSP–SG Messages I
   InitializeRealGateway - deletes all current jobs in
    the session specified
   JoinStream - star...
XGSP–SG Messages II
   RealStreamEvent - It has two
    modes, NewRealStream to indicate a new stream in
    the session ...
Services added to Session Server
   RS Join Service - handles JoinStream messages. If
    stream job is successfully star...
Streaming Interface I
   Two types of interfaces are developed for Streaming
    Gateway.
   Streaming Admin Interface: ...
Streaming Interface II
   A snapshot from Streaming Admin interface
Streaming Interface III
   A snapshot from Streaming Client interface
Streaming Interface IV
   A snapshot of the stream played in RealOne Player
    window
Performance Discussion for
             Streaming Gateway I
    Approximate CPU and memory usage with respect to number o...
Performance Discussion for
        Streaming Gateway II
   In a session (or classroom) usually there is one
    presenter...
Conclusion and Future Work
   XGSP framework and, Global-MMCS enable multiple
    communities to collaborate with each ot...
Thank you!
Upcoming SlideShare
Loading in …5
×

A Web Services Based Streaming Gateway for Heterogeneous A/V ...

664 views
596 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
664
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
4
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

A Web Services Based Streaming Gateway for Heterogeneous A/V ...

  1. 1. A Web Services Based Streaming Gateway for Heterogeneous A/V Collaboration Hasan Bulut Computer Science Department Indiana University
  2. 2. Motivation  Videoconferencing systems provide a framework to send/receive audio and video streams.  Streaming is a widely used media delivery technology across Internet to receive Media-On- Demand. It enables users to receive multimedia content and provides some control functionality over the media.  To enable streaming clients to join the real-time videoconferencing sessions and receive multimedia content generated by other clients in the system.
  3. 3. Videoconferencing Systems Major videoconferencing systems are:  H323 H.323 is defined as an umbrella standard specifying the components to be used within an H.323-based environment.  SIP The Session Initiation Protocol (SIP) defines how to establish, maintain and terminate Internet sessions including multimedia conferences  Access Grid Enhanced Mbone A/V tools ( VIC, RAT ). Internet 2 network ( Multicast support )
  4. 4. Videoconferencing vs Streaming  A streaming client connects to a streaming server, primarily using RTSP, to establish a session and receive the stream.  Streaming is primarily used for Media-On-Demand. It is also possible to make a live streaming broadcast.  Streaming media aims to improve the quality of service of the stream, by using various streaming codec to improve stream quality and a buffering mechanism to reduce the jitter.  While the delay in conferencing is around 200 msec, the delay in streaming buffer is around 2 – 15 sec.
  5. 5.  In this paper we will explain the components of XGSP Streaming Gateway, their functionality and messages added to the framework to achieve integration. Other components will be briefly explained.  GlobalMMCS, which implements XGSP, uses Web Services technology to integrate heterogeneous conferencing systems. Streaming Gateway has been recently added to this system and it is used internally by other components in the system.
  6. 6. XGSP Collaboration Framework  To integrate heterogeneous systems into one collaboration system, we need to reach the following goals:  Different kinds of application endpoints should join leave in the same collaboration session.  A common A/V signaling protocol has to be designed to support interactions between different A/V collaboration endpoints.  A common user interface should be present for all the collaboration participants using different A/V and data application endpoints.  Different A/V endpoints should collaborate in the same collaboration session.
  7. 7. Global Multimedia Conferencing Systems (GlobalMMCS) The first prototype of this system includes:  A XGSP media server  provides the services of bridging multicast and unicast, video-switching, video-mixing and audio- mixing to H.323, SIP as well as AG endpoints.  H.323, SIP gateways and Real Servers for A/V clients  XGSP A/V Session Server  manages real-time A/V sessions, receives messages from gateways and the web server, and performs appropriate actions on the media server.  The web server  provides an easy-to-use web interface for users to join multimedia sessions and for administrators to perform administrative tasks.
  8. 8. GlobalMMCS Architecture XGSP XGSP Web Session Server Access Grid Server Two-way RTP-link/links Multicast One-way RTP-link / links Pushed streams SIP Streaming Gateway NaradaBrokering Communication link / Publish/Subscribe links Messaging SIP Media Servers; Clients Audio Mixers, H.323 Streaming Video Mixers, Gateway Gateway Image Graber Helix Server H.323 Clients RealStreaming Clients
  9. 9. XGSP Streaming Gateway (XGSP–SG)  Due to the requirements and underlying technology of streaming clients, XGSP–SG demonstrates different functionalities compared to other gateways:  Only uses XGSP message formats, while other gateways only transforms XGSP signal to another form and vice versa.  Performs stream format conversion so that streaming clients can play.  Provides a mechanism to synchronize streams  Streaming gateway allows streaming clients only to receive audio and/or video streams.
  10. 10. XGSP–SG Components and Design  Streaming Gateway components SMIL File Generator Stream Conversion Stream Handler Helix Engine Streaming Server Stream Engine Communication link Pushed streams Process generation
  11. 11. XGSP–SG Components I  Stream Conversion Handler  performs the communication between Session Server and Streaming Gateway.  maintains an internal database for the streams. Database is updated when the streaming jobs are started or deleted.  initiates/stops Stream Engines for the requested stream
  12. 12. XGSP–SG Components II  Stream Engine  converts received audio or video streams into a specified RealStreaming format and pushes the output stream to Helix Streaming Server  composed of two parts, JMF RTP Handler and HXTA Wrapper  JMF RTP Handler: transform the received packets into raw audio or video format  HXTA Wrapper: makes use of HXTA engine to encode streams into RealMedia format
  13. 13. XGSP–SG Components III  SMIL File Generator  dynamically constructs a SMIL file using the received audio and video stream IDs  deletes SMIL file if the stream is no longer in the session  SMIL files enables clients to receive multiple streams and synchronize them  Each session in a XGSP session contains only one audio stream, which is the mixed of all audio streams received from clients.
  14. 14. XGSP–SG Messages I  InitializeRealGateway - deletes all current jobs in the session specified  JoinStream - starts a job for the stream specified.  JoinStreamReply - reply message for JoinStream message. OK indicates the job is successfully started, otherwise returns FAIL.  LeaveStream - stops the stream specified.  LeaveStreamReply - reply message for LeaveStream. FAIL indicates that an error occurred during the stop operation, otherwise returns OK.
  15. 15. XGSP–SG Messages II  RealStreamEvent - It has two modes, NewRealStream to indicate a new stream in the session and ByeRealStream to indicate the stream is no longer in the session  RealStreams - requests the list of the RealStreams available in the session  RealStreamsReply - reply message for RealStreams. Includes a list of the RealStreams in the session.
  16. 16. Services added to Session Server  RS Join Service - handles JoinStream messages. If stream job is successfully started, sends RealStreamEvent message (mode = NewRealStream).  RS Leave Service - handles LeaveStream messages. Sends RealStreamEvent (mode = ByeRealStream).  RS List Service - handles RealStreams messages. Replies back with RealStreamsReply listing all the available RealStreams in the session.  RS Gateway Service - handles InitializeRealGateway messages. Sends RealStreamEvent with ByeRealStream mode for each RealStream in that session.
  17. 17. Streaming Interface I  Two types of interfaces are developed for Streaming Gateway.  Streaming Admin Interface: provides administrative features such as starting and stopping streaming jobs.  Streaming Client Interfaces: enables clients to plays streams from an interface  Streaming Admin interface also includes Streaming Client interface functionality to enable administrator with client capabilities.
  18. 18. Streaming Interface II  A snapshot from Streaming Admin interface
  19. 19. Streaming Interface III  A snapshot from Streaming Client interface
  20. 20. Streaming Interface IV  A snapshot of the stream played in RealOne Player window
  21. 21. Performance Discussion for Streaming Gateway I  Approximate CPU and memory usage with respect to number of streams Number of Frame rates of CPU Usage Memory Stream streams involved Range Usage 1 23 fps %10 - %25 29 MB 2 23 fps, 25 fps %22- %40 34 MB 3 23 fps, 25 fps, %50 - %75 43 MB 26 fps 4 23 fps, 25 fps, %65- %95 53 MB 26 fps, 16 fps  Streaming Gateway machine specifications OS Windows XP CPU Intel® Pentium® 4 CPU 2.26 GHz Memory 512 MB JVM version 1.4.2_02
  22. 22. Performance Discussion for Streaming Gateway II  In a session (or classroom) usually there is one presenter. Sometimes other clients in the session may be active too.  In a session most of the clients are only listeners.  In such a session providing 3 video streams and a mixed audio stream ( mixed of all audio streams received from clients in the session) is sufficient.
  23. 23. Conclusion and Future Work  XGSP framework and, Global-MMCS enable multiple communities to collaborate with each other.  Streaming Gateway enriches this heterogeneous system by integrating streaming media world into Global-MMCS.  Streaming Gateway is part of Global-MMCS and uses XGSP in order to achieve this integration.  In order to increase the number of streams converted, we also would like to build a streaming job scheduler, which will schedule and coordinate streaming jobs in a distributed environment.
  24. 24. Thank you!

×