Development of a remote object webcam controller rowc using corba and jmf
This presentation is the property of its rightful owner.
Sponsored Links
1 / 13

Development of a Remote Object Webcam Controller (ROWC) using CORBA and JMF PowerPoint PPT Presentation


  • 60 Views
  • Uploaded on
  • Presentation posted in: General

Development of a Remote Object Webcam Controller (ROWC) using CORBA and JMF. Thesis Project University of Arkansas at Little Rock Frank McCown http://www.harding.edu/fmccown/rowc/. Technologies Used. CORBA Middleware for remote method invocations in a heterogeneous environment

Download Presentation

Development of a Remote Object Webcam Controller (ROWC) using CORBA and JMF

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Development of a remote object webcam controller rowc using corba and jmf

Development of a Remote Object Webcam Controller (ROWC) using CORBA and JMF

Thesis Project

University of Arkansas at Little Rock

Frank McCown

http://www.harding.edu/fmccown/rowc/


Technologies used

Technologies Used

  • CORBA

    • Middleware for remote method invocations in a heterogeneous environment

  • Java Virtual Machine

    • Platform independent run-time environment

  • Java Media Framework (JMF)

    • API for development and incorporation of time-based media (like audio and video) into Java applications

  • Real-time Transfer Protocol (RTP)

    • Quick delivery protocol layered on top of UDP for providing streaming video


System architecture

System Architecture

Streaming video

Streaming archived video

QuickTime video files

Media Server

WebCam Processors

WebCam Controllers


Webcam processor

WebCam Processor

  • Running on machine with JMF-compatible webcam


Webcam controller

WebCam Controller

  • Can view video from any webcam and any archived video


Media server

Media Server

  • Stores QuickTime video to file

  • Metadata stored in MS SQLServer


Architectural view

Architectural View


Event notification

Event Notification

  • CORBA’s Event Service and Notification Service

    • Useful in large distributed systems where management and proliferation of events are difficult to control

  • Distributed Callback Model1

    • Client calls method on Server and supplies a callback

    • Server responds using client’s callback

1D. Schmidt and S. Vinoski, “Distributed Callbacks and Decoupled Communication in CORBA,” C++ Report, vol. 8, October 1996.


Registration object idl

Registration Object IDL

interface Registration

{

// Notify MediaServer that a new CamController has started

oneway void addCamController(in string hostName, in CamControllerCallback callback);

// Notify MediaServer that CamController is going down

oneway void removeCamController(in string hostName);

// Notify MediaServer that a new CamProcessor is available

oneway void addWebCam(in string location);

// Notify MediaServer that a CamProcessor is no longer available

oneway void removeWebCam(in string location);

// Used by CamProcessor to get MediaServer's host name

string getServerHostName();

// Return array containing locations of all active CamProcessors

StringArray getLocations();

};


Camcontrollercallback idl

CamControllerCallback IDL

interface CamControllerCallback

{

// Notifies all CamControllers that a new CamProcessor is

// available

oneway void addWebCam(in string location);

// Notifies all CamControllers that a CamProcessor is no longer

// available

oneway void removeWebCam(in string location);

};


Registrationimpl java

RegistrationImpl.java

public class RegistrationImpl extends rowc.RegistrationPOA

{

protected Hashtable camControllers;

public synchronized void addCamController(String hostName,

CamControllerCallback callback)

{

camControllers.put(hostName, callback);

}

public synchronized void addWebCam(String location)

{

// Notify all webcam controllers of new webcam at given location

Enumeration enum = camControllers.elements();

while(enum.hasMoreElements()) {

CamControllerCallback callback = (CamControllerCallback)enum.nextElement();

callback.addWebCam(location);

}

}


Videoviewer java

VideoViewer.java

This class controls the GUI for the Webcam Controller.

public class CamControllerCallbackImpl extends rowc.CamControllerCallbackPOA

{

// Server notifying us that new webcam is available. Add it to our list of locations.

public synchronized void addWebCam(String location)

{

locationsComboBox.addItem(location);

locationsComboBox.repaint();

}

}


For more information

For More Information

  • Thesis, source code, and presentation is available at http://www.harding.edu/fmccown/rowc/


  • Login