Beruflich Dokumente
Kultur Dokumente
ORGANIZATION PROFILE
CONTENTS
S.NO CHAPTER PAGE NO
3. SYSTEM ANALYSIS 3.1 System Analysis 3.2 Feasibility Study 3.3 Existing System 3.4 Need for Computerization 3.5 Proposed System 3.6 Data Flow Diagrams 4. SYSTEM DESIGN 4.1 Elements of Design
5. SYSTEM DESCRIPTION 5.1 Input Section 5.2 Output Section 5.3 Test and Implementation Source Code 6. INPUT & OUTPUT 6.1 Sample I/O Reports 7. CONCLUSION
8. BIBLIOGRAPHY
SYNOPSIS
This is an online Video Conferencing System that is to be developed using Java and JMF. This project is mainly desired to maintain the video conferencing on the Internet. This should make possible the video transfer as well the voice transfer on the Internet to our desired destination, and the connections over the net should also be maintained. This should manage more than one connection at a time and should provide a chance to conference with more than one user. Even if the user is connected to more users he should be given a chance to pause one voice connection and can continue with the other. He should be given a chance
the programmer, full control. Finally, Java is to Internet programming where C was to system programming.
executed by a Java compatible web browser. An applet is actually a tiny Java program, dynamically downloaded across the network, just like an image. But the difference is, it is an intelligent program, not just a media file. It can react to the user input and dynamically change. FEATURES OF JAVA Security Every time you that you download a normal program, you are risking a viral infection. Prior to Java, most users did not download executable programs frequently, and those who did scanned them for viruses prior to execution. Most users still worried about the possibility of infecting their systems with a virus. In addition, another type of malicious program exists that must be guarded against. This type of program can gather private information, such as credit card numbers, bank account balances, and passwords. Java answers both of these concerns by providing a firewall between a networked application and your computer. When you use a Java-compatible Web browser, you can safely download Java applets without fear of virus infection or malicious intent.
Portability For programs to be dynamically downloaded to all the various types of platforms connected to the Internet, some means of generating portable executable code is needed .As you will see, the same mechanism that helps ensure security also helps create portability. Indeed, Javas solution to these two problems is both elegant and efficient. The Byte code The key that allows the Java to solve the security and portability problems is that the output of Java compiler is Byte code. Byte code is a highly optimized set of instructions designed to be executed by the Java run-time system, which is called the Java Virtual Machine (JVM). That is, in its standard form, the JVM is an interpreter for byte code.
Translating a Java program into byte code helps makes it much easier to run a program in a wide variety of environments. The reason is, Once the run-time package exists for a given system, any Java program can run on it. Although Java was designed for interpretation, there is technically nothing about Java that prevents on-the-fly compilation of byte code into native code. Sun has just completed its Just In Time (JIT) compiler for byte code. When the JIT compiler is a part of JVM, it compiles byte code into executable code in real time, on a piece-by-piece, demand basis. It is not possible to compile an entire Java program into executable code all at once, because Java performs various runtime checks that can be done only at run time. The JIT compiles code, as it is needed, during execution.
Javac
Java byte
Java VM
.Java
.Class
code
The above picture shows the development process a typical Java programming uses to produce byte codes and executes them. The first box indicates that the Java source code is located in a. Java file that is processed with a Java compiler called JAVA. The Java compiler produces a file called a. class file, which contains the byte code. The class file is then loaded across the
network or loaded locally on your machine into the execution environment is the Java virtual machine, which interprets and executes the byte code.
Java Architecture
Java architecture provides a portable, robust, high performing environment for development. Java provides portability by compiling the byte codes for the Java Virtual Machine, which is then interpreted on each platform by the run-time environment. Java is a dynamic system, able to load code when needed from a machine in the same room or across the planet.
Compilation of Code
When you compile the code, the Java compiler creates machine code (called byte code) for a hypothetical machine called Java Virtual Machine (JVM). The JVM is supposed to execute the byte code. The JVM is created for overcoming the issue of portability. The code is written and compiled for one machine and interpreted on all machines. This machine is called Java Virtual Machine.
(Platform
Independent)
During run-time the Java interpreter tricks the byte code file into thinking that it is running on a Java Virtual Machine. In reality this could be a Intel Pentium Windows 95 or SunSARC station running Solaris or Apple Macintosh running system and all could receive code from any computer through Internet and run the Applets. SIMPLE Java was designed to be easy for the Professional programmer to learn and to use effectively. If you are an experienced C++ programmer, learning Java will be even easier. Because Java inherits the C/C++ syntax and many of the object oriented features of C++. Most of the confusing concepts from C++ are either left out of Java or implemented in a cleaner, more approachable manner. In Java there are a small number of clearly defined ways to accomplish a given task.
Object-Oriented
Java was not designed to be source-code compatible with any other language. This allowed the Java team the freedom to design with a blank slate. One outcome of this was a clean usable, pragmatic approach to objects. The object model in Java is simple and easy to extend, while simple types, such as integers, are kept as high-performance non-objects. Robust The multi-platform environment of the Web places extraordinary demands on a program, because the program must execute reliably in a variety of systems. The ability to create robust programs was given a high priority in the design of Java. Java is strictly typed language; it checks your code at compile time and run time. Java virtually eliminates the problems of memory management and deallocation, which is completely automatic. In a well-written Java program, all run time errors can and should be managed by your program.
SERVLETS
Introduction The Java web server is JavaSofts own web Server. The Java web server is just a part of a larger framework, intended to provide you not just with a web server, but also with tools. To build customized network servers for any Internet or Intranet client/server system. Servlets are to a web server, how applets are to the browser. About Servlets Servlets provide a Java-based solution used to address the problems currently associated with doing server-side programming, including inextensible scripting solutions, platform-specific APIs, and incomplete interfaces. Servlets are objects that conform to a specific interface that can be plugged into a Java-based server. Servlets are to the server-side what applets are to the clientside - object byte codes that can be dynamically loaded off the net. They differ from applets in that they are faceless objects (without graphics or a GUI component). They serve as platform independent, dynamically loadable, plugable helper byte code objects on the server side that can be used to dynamically extend server-side functionality. For example, an HTTP Servlet can be used to generate dynamic HTML content. When you use Servlets to do dynamic content you get the following advantages:
they're faster and cleaner than CGI scripts they use a standard API (the Servlet API) they provide all the advantages of Java (run on a variety of servers without
needing to be rewritten).
Attractiveness of Servlets
There are many features of Servlets that make them easy and attractive to use. These include:
Easily configured using the GUI-based Admin tool
Can be loaded and invoked from a local disk or remotely across the network. Can be linked together, or chained, so that one Servlet can call another
tags.
Are secure - even when downloading across the network, the Servlet security
model and Servlet sandbox protect your system from unfriendly behavior.
These qualities are important, because it allows the Servlet API to be embedded in many different kinds of servers. There are other advantages to the Servlet API as well. These include:
It's extensible - you can inherit all your functionality from the base classes
Features of Servlets
Servlets are persistent. Servlet are loaded only by the web server and can
Loading Servlets Servlets can be loaded from three places : From a directory that is on the CLASSPATH. The CLASSPATH of reside. From the <SERVICE_ROOT /Servlets/ directory> This is *not* in the servers class path. A class loader is used to create Servlets from this directory. New Servlets can be added - existing Servlets can be recompiled and the server will notice these changes. From a remote location. For this a code base like http://nine.eng/classes/foo/ is required in addition to the Servlet's class name. Refer to the admin GUI docs on Servlet section to see how to set this up. the Java Web Server includes service_root/classes/ which is where the system classes
has been mapped using the Servlet Aliases section of the admin GUI.
The Servlet can be invoked through server side include tags. The Servlet can be invoked by placing it in the Servlets/ directory. The Servlet can be invoked by using it in a filter chain.
them.
Detect the browser in use and display different content for different browsers. Detect installed plug-ins and notify the user if a plug-in is required.
JavaScript Vs Java JavaScript and Java are entirely different languages. A few of the most glaring
differences are:
Java applets are generally displayed in a box within the web document;
features to Web pages; Java can be used for incredibly complex applications. There are many other differences but the important thing to remember is that JavaScript and Java are separate languages. They are both useful for different things; in fact they can be used together to combine their advantages.
ADVANTAGES
JavaScript can be used for Sever-side and Client-side scripting.
HTML
Hypertext Markup Language (HTML), the languages of the World Wide
Web (WWW), allows users to produces Web pages that include text, graphics and pointer to other Web pages (Hyperlinks).
specialized to hypertext and adapted to the Web. The idea behind Hypertext is that instead of reading text in rigid linear structure, we can easily jump from one point to another point. We can navigate through the information based on our interest and preference. A markup language is simply a series of elements, each delimited with special characters, that define how text or other items
enclosed within the elements should be displayed. Hyperlinks are underlined or emphasized works that load to other documents or some portions of the same document.
HTML can be used to display any type of document on the host computer, which
can be geographically at a different location. It is a versatile language and can be used on any platform or desktop.
HTML provides tags (special codes) to make the document look attractive.
HTML tags are not case-sensitive. Using graphics, fonts, different sizes, color, etc., can enhance the presentation of the document. Anything that is not a tag is part of the document itself.
<TH></TH> ADVANTAGES
A HTML document is small and hence easy to send over the net. It is small
JDBC
Java Database Connectivity What Is JDBC?
JDBC is a Java API for executing SQL statements. (As a point of interest, JDBC is a trademarked name and is not an acronym; nevertheless, JDBC is often thought of as standing for Java Database Connectivity. It consists of a set of classes and interfaces written in the Java programming language. JDBC provides a standard API for tool/database developers and makes it possible to write database applications using a pure Java API. Using JDBC, it is easy to send SQL statements to virtually any relational database. One can write a single program using the JDBC API, and the program will be able to send SQL statements to the appropriate database. The combinations of Java and JDBC lets a programmer write it once and run it anywhere.
JDBC versus ODBC and other APIs At this point, Microsoft's ODBC (Open Database Connectivity) API is that probably the most widely used programming interface for accessing relational
databases. It offers the ability to connect to almost all databases on almost all platforms. So why not just use ODBC from Java? The answer is that you can use ODBC from Java, but this is best done with the help of JDBC in the form of the JDBCODBC Bridge, which we will cover shortly. The question now becomes "Why do you need JDBC?" There are several answers to this question: 1. ODBC is not appropriate for direct use from Java because it uses a C interface. Calls from Java to native C code have a number of drawbacks in the security, implementation, robustness, and automatic portability of applications. 2. A literal translation of the ODBC C API into a Java API would not be desirable. For example, Java has no pointers, and ODBC makes copious use of them, including the notoriously error-prone generic pointer "void *". You can think of JDBC as ODBC translated into an object-oriented interface that is natural for Java programmers. 3. ODBC is hard to learn. It mixes simple and advanced features together, and it has complex options even for simple queries. JDBC, on the other hand, was designed to keep simple things simple while allowing more advanced capabilities where required. 4. A Java API like JDBC is needed in order to enable a "pure Java" solution. When ODBC is used, the ODBC driver manager and drivers must be manually installed on every client machine. When the JDBC driver is written completely in Java, however, JDBC code is automatically installable, portable, and secure on all Java platforms from network computers to mainframes.
In the two-tier model, a Java applet or application talks directly to the database. This requires a JDBC driver that can communicate with the particular database
management system being accessed. A user's SQL statements are delivered to the database, and the results of those statements are sent back to the user. The database may be located on another machine to which the user is connected via a network. This is referred to as a client/server configuration, with the user's machine as the client, and the machine housing the database as the server. The network can be an Intranet, which, for example, connects employees within a corporation, or it can be the Internet.
JAVA Application
JDBC
Database server
DBMS
In the three-tier model, commands are sent to a "middle tier" of services, which then send SQL statements to the database. The database processes the SQL statements and sends the results back to the middle tier, which then sends them to the user. MIS directors find the three-tier model very attractive because the middle tier makes it possible to maintain control over access and the kinds of updates that can be made to corporate data. Another advantage is that when there is a middle tier, the user can employ an easy-to-use higher-level API which is translated by the middle tier into the appropriate low-level calls. Finally, in many cases the three-tier architecture can provide performance advantages.
Server (Java)
DBMS
Until now the middle tier has typically been written in languages such as C or C+ +, which offer fast performance. However, with the introduction of optimizing compilers that translate Java byte code into efficient machine-specific code, it is becoming practical to implement the middle tier in Java. This is a big plus, making it possible to take advantage of Java's robustness, multithreading, and security features. JDBC is important to allow database access from a Java middle tier.
library, the ODBC driver manager library, the ODBC driver library, and the database client library).
Oracle supports large numbers of concurrent users executing a variety of database applications operating on the same data. It minimizes data contention and guarantees data concurrency.
High transaction processing performance
Oracle maintains the preceding features with a high degree of overall system performance. performance.
Security
Database
users
do
not
suffer
from
slow
processing
Features of JSP:
Portability: Java Server Pages files can be run on any web server or web-enabled application Server that provides support for them. Dubbed the JSP engine, this support Involves recognition, translation, and management of the Java Server Page Lifecycle and its interaction components.
Components
It was mentioned earlier that the Java Server Pages architecture can include reusable Java components. The architecture also allows for the embedding of a scripting language directly into the Java Server Pages file. The components current supported include Java Beans, and Servlets.
Processing
A Java Server Pages file is essentially an HTML document with JSP scripting or tags. The Java Server Pages file has a JSP extension to the server as a Java Server Pages file. Before the page is served, the Java Server Pages syntax is
parsed and processed into a Servlet on the server side. The Servlet that is generated outputs real content in straight HTML for responding to the client.
Access Models:
A Java Server Pages file may be accessed in at least two different ways. A clients request comes directly into a Java Server Page. In this scenario, suppose the page accesses reusable Java Bean components that perform particular well-defined computations like accessing a database. The result of the Beans computations, called result sets is stored within the Bean as properties. The page uses such Beans to generate dynamic content and present it back to the client. In both of the above cases, the page could also contain any valid Java code. Java Server Pages architecture encourages separation of content from presentation.
JDBC Connectivity
The JDBC provides database-independent connectivity between the J2EE platform and a wide range of tabular data sources. JDBC technology allows an Application Component Provider to: Perform connection and authentication to a database server Manager transactions Move SQL statements to a database engine for preprocessing and execution Execute stored procedures Inspect and modify the results from Select statements
ROLE OF ORACLE IN DATABASE: ORACLE 8i is one of the many database services that plug into a client / server model. It works efficiently to manage resources, a database information, among the multiple clients requesting & sending. STRUCTURED QUERY LANGUAGE (SQL) SQL is an inter-active language used to query the database and access data in database. SQL has the following features: 1. It is a unified language. 2. It is a common language for relational database 3. It is a non-procedural language.
SYSTEM CONFIGURATIONS
The software requirement specification can produce at the culmination of the analysis task. The function and performance allocated to software as part of system engineering are refined by established a complete information description, a detailed functional description, a representation of system behavior, an indication of performance and design constrain, appropriate validation criteria, and other information pertinent to requirements. This project requires the following H/W and S/W equipment in order to execute them. They are as given below.
HARDWARE CONFIGURATION Processor Clock Ram Web Cam Head Set & Codec SOFTWARE CONFIGURATION : : : : : Pentium III 500 MHZ 128 MB JMF Supported Windows Supported
: Windows 98 : JAVA above V 1.4.0 or higher : JMF (Java Media FrameWork 2.1 )
System Analysis Introduction: To analysis and understand the system we have to analyze and specify the requirements first. Software requirement specification is the starting point of software development activity. The software requirements specification means of translating the ideas in the minds of the clients (input), into the formal document (output). Any formal translating processes producing a formal output must have a precise and unambiguous input .The SRS phase consists of two basic activities. Problem analysis. Requirement specification. FACT FINDING TECHNIQUES: In this system we are going to develop a facility to a user that he will not face any difficulty at the time of usage like data missing, one way contacts, one view contacts. As we are developing this system with an encoding technique of images the user will not be bothered on which camera supportance is using, as well in sound. As we are maintaining one technique of speed controlling the frame relay will not be a problem for the user like over speed display, hanged display. FEASIBILITY STUDY: A feasibility study is a high-level capsule version of the entire System Analysis and Design Process. The study begins by classifying the problem definition. Feasibility is to determine if its worth doing. Once an acceptance problem definition has been generated, the analyst develops a logical model of the system. A search for alternatives is analyzed carefully. There are 3 parts in feasibility study.
Operational Feasibility: Question that going to be asked are Will the system be used if it developed and implemented. If there was sufficient support for the project from the management and from the users. Have the users been involved in planning and development of the Project. Will the system produce poorer result in any respect or area.
This system can be implemented in the organization because there is adequate support from management and users. Being developed in Java so that the necessary operations are carried out automatically. Technical feasibility Does the necessary technology exist to do what is been suggested Does the proposed equipment have the technical capacity for using the new system Are there technical guarantees of accuracy, reliability and data security
The project is developed on Pentium III with 128 MB RAM. The environment required in the development of system is any windows platform The observer pattern along with factory pattern will update the results eventually The language used in the development is JAVA 1.4.0 & Windows Flavour of JMF 2
EXISTING SYSTEM
System definition is the process of obtaining a clear understanding of the problem space such as your business opportunities; user needs, or market environment and defining an application or system to solve that problem. Existing system definition: In the existing systems of video conferencing developed using Java, there is a problem of capturing images and audio as well. Because for capturing of these values the system needs to query the devices that are associated with the devices. As java does not support any system level programming we had to depend either on JNI ( java native interface) or depend on any of the third party utility that was developed and captures the video and stores that into a file. And these videos were being transferred and were displayed in the opposite side. This reduces the interaction of the programmer to develop the conferencing system. As like the audio. This paradigm often makes this problem of waiting the conference systems for the resources, and unnecessary maintains of queues to the conference connection etc. this may often causes the system hangs or so called dead locks. And if the receiving system is not at that much speed of display the video at that much speed that it can receive from the network. There they may be a possibility of data loss and often a dead lock at the receiver to over come all these problems we for a new video conferencing system. One more problem was there that would be raised depending on the camera or device compatibilities and video patterns as well. In the existing system, all the transaction like 1.user friendly.
2. Completely not improved quality conferencing system. 3. Data was being transferred as files 4.Capable of running in single or multi-user environment.
Proposed System:
In our system we are going to develop a conferencing system that depends on the JMFs libraries to capture the images as well the sound so that we are not bothered by the system level programs or any JNI (java native interface) to query the camera and sound codecs, so that we are not going to use any fixed file formats to send the data and as we are not depending on the file formats we are not going to use any third party utility to capture audio as well video, thus our system has given a chance to develop itself all the required libraries ( depending on visitor pattern ) . As our program is calculating the frames per second (Fps) ratio our system will automatically share this information with other conferencies so that they will maintain this system Fps& network transfer timings and send the video files calculating these timings. In our system we are going to use a JPEG encoder and a JPEG decoder to convert the images into one unique format JPEG to support all the cameras and devices.
eventually the information that is needed to the other threads who needs. Whenever we are trying to capture our video and audio the threads that are responsible for the transaction will be waiting for the information whether capturing is over or not , this information should be updated and notified to all needy. Thus we have done our observation and updation singular and as a bunch even. So we can say that we have properly used observer pattern as well the factory pattern . We are going to use JMF libraries to satisfy our requirements in means of physical device performance capturing. We are going to implement these libraries in our program but not developing them. So that we can say that we are inviting this JMF library as a visitor.
System Description
Introduction
Video Conferencing system will be a program designed to provide a multiplatform video conferencing solution on Microsoft Windows Environment. The motivation behind this project comes from the lack of platform independent solution for videoconference. Proprietary hardware and platform specific video formats require video conferencing applications to be tailored and rewritten for each computing platform. The emergence of java technology provides tools to create platform independent applications. However, it is the general belief among technologies is that java technology is not suitable for computational intensive tasks, such as encoding and decoding video or audio, which are required in a video conferencing application. The ultimate goal of this project is to explore the feasibility of creating video conferencing application using javas latest multimedia technology, java media frame work.
Description
This Video Conferencing System supports three data channels for its operations: a video channel for its video operations: an audio channel for audio operations and a background text channel for inter program communication session. A user who connects through the program to one or more will be able to share his video and audio with all the other conferencies that are presently connected to him . Users should have to connect to the other conferency by entering the IP address or the DNS name, then the system will try to search whether an instance of the program is running on that system or not. If it finds an instance running, our system will be allowed to connect provided that particular system is not already connected to MAXIMUM allowed conferences. Users, like wise will be controlled to join and start the conference with the max allowed number of the conferences at a time to protect that our system will not
disturb the system resources. If a user wants to connect to other user, the second one must not be connected at the max count.
Architecture
Video Conferencing Systems is designed using a layered architecture. There are three major layers: graphical user interface (GUI layer), control layer (includes both the persistent and volatile control layers) and data layer.
In this project there are six major components in the application, two of which are visible to the end users. The four visible components are GUI component in the GUI layer, and the video component, the audio component and. The other four components that are not transparent to the end users are the communication between the hosts with regarding the sound, video, the communication and the data binding and packing.
The Implementation
The control layer
The control layer consists of two sub-layers: the persistent control layer and the volatile control layer. In the persistent control layer, there will be one Connection Manager and Sound Manager at a time and the channel manager does not exit until the application itself exits. This layer is used to coordinate and exchange information between the groups. In the volatile control layer, there will be one Connection Manager, these components in this layer will not be available for all the time they will be invoked at the Managers and whenever one will be utilized when ever its needed.
Connection Manger
The persistence layers modules like:
1) Sound Manager 2) Camera Control 3) JPEGEInputStream 4) JPEGEOutputStream 5) The main frame 6) Video label 7) Message panel Are invoked and the objects are initialized by attempting this class.
Connection Manger
This class was designed to manage host connections and communication between respective hosts. The maximum number of host connections is 3 by default. When the first connection is attempted, three Server Sockets are created and start listening. If the connection attempt is successful, an Audio Socket, an Input Socket, and an Output Socket are created for data transfers for this one host. Three threads are started for this host as well: one for sending images, one for receiving images, and one for receiving audio. All the above are of volatile layer
Interface Listing
Audio Input Thread : This is a thread class for receiving audio data from one host. This classs Construction requires a link back to the object that's spawning us and an id number that is associated with one particular host. The run ( ) method in this class executes its content as long as other threads associated with this host are concurrently executing. The thread is usually blocking waiting for audio to be sent to it, and is run on low priority at that time. When audio is received, it is buffered until all of it is received, and then it is rendered. And finish ( ) method terminates this thread within a reasonable amount of time.
Audio Socket :-
This class encapsulates a standard tcp socket along with an InputStream and an OutputStream for the purpose of sending and receiving raw audio bytes. I hope to eventually filter the data streams with GZIP-type stream filters.
CalcFps :This class keeps track of the exact time at which it's updateFps() method is called. It assumes those method calls are made from within the paintComponent(Graphics g) methods in the Panel classes. Based on the times given, it calculates and then sends to the GUI the number of frames per second that are rendered.
CalcFpsListener : This interface is to be implemented by any class wishing to receive automatic updates of new calculated frames per second values from a CalcFps object.
Make sure to add a reference to an instance of this object to the CalcFps object using the add Listener method.
Camera Control: This class connects to a web cam using the com.objectguild.camera package. This class acts as an Observer for our Video Grabber, which is Observable. We start a thread for the Video Grabber, which constantly updates the camera. Each time the camera has new information; our update (Observable o, Object arg) is called, giving us the most current data.
ComSocket : This class is used for communication between two hosts. Communication is necessary only when hosts are transmitting audio data. When one host is ready to transmit, it tells the receiving host how many audio "buffers" to read over a separate socket class. I could not find a way to combine the socket in this class with the socket in the Audio Socket class: having multiple streams going in the same direction from one socket always fubared the data, even with synchronization.
Connection Manager : This class was designed to manage host connections and communication between respective hosts. The maximum number of host connections is 3. When the first connection is attempted, three Server Sockets are created and start listening. If the connection attempt is successful, an Audio Socket, an Input Socket, and an Output Socket are created for data transfers for this one host. Three threads are started for this host as well: one for sending images, one for receiving images, and one for receiving
GUI: This class is the main frame in the user interface for this application. It contains MAX_HOSTS Video Labels and a button for sending sound to all hosts.
Host Finder : This thread extension is designed to periodically announce it's presence on the local subnet via a multicast socket. The multicast socket in question is a member of our standardized group and when it receives packets bearing the signature of our protocol, we check to see if that host the host that sent that packet is
connected to us. If it isn't, we connect to it. If we are already connected to the host, we ignore the packet. We can also choose to ignore certain ip addresses. This can be useful for recently disconnected hosts whose packets may still be floating about.
ImageInputThread : This thread is used to repeatedly read images from one host across a socket. Terminates execution of this thread within a reasonable amount of time.
Input Socket : The class encapsulates a Socket and it's associated InputStream. The class is used solely to read images from a
JPEGEInputStream : A wrapper of input stream that decodes the image that came in the network.
JPEGEOutputStream : A wrapper of output stream that encodes the image that is to be delivered to the network.
NoTopLineBorder : Completely hacked from class javax.swing.border.LineBorder. The border is exactly the same as that in LineBorder, except that no top line is drawn on the rectangle.
Output Socket : The class encapsulates a Socket and it's associated OutputStream. The class is used solely to send images to one host.
Output Thread : This thread is used to repeatedly send images to one host across a socket.
Sound Manager : Class for managing capturing/rendering audio data in byte form. When this object is created, the Data Lines necessary for audio playback and capture are opened. The caller may record or play sound immediately. The StartRecording ( ) method returns the int array id represents any id number who should receive the recorded sound. A separate thread is started for this process so that the caller receives control back before we are done recording. The thread is terminated when the stopRecording ( ) method is called or when 15 seconds pass. Only one record thread may be running at once. The StopRecording ( ) method terminates any recording thread that is activated. The PlayData ( ) method contains the parameter frames, which is a list of byte arrays, which contain sound data. The id parameter represents which host sent this data.
The GetFormat ( ) Returns the AudioFormat object that sound associated with our system uses.
Video Label : This graphical component contains a JLabel to display images upon, and several other JLabels that label JButtons. Each VideoLabel is associated with a host id number. The SetImage ( ) method Sets the Image on this label to be image. The SetConnected ( ) method makes this panel aware that it is in a connected state. The SetDisconnected ( ) method makes this panel aware that it is in a disconnected state.
The SetFps ( ) method Sets the frames per second value for frames received from this host, to display. The SetIp ( ) method Sets the host's ip address to display The FlashOn ( ) method Sets our border red. The FlashOff ( ) method Sets our border black.
CONCLUSION: After completetion of this project we are satisfied that we have completed all the requirement of our system and the problems that are in the existing systems. And as we have used designing patterns we has reduced the system problems like hanging and late messaging. O that we suggest you to go thru the project and enjoy it
Bibliography
S No. PUBLICATION 1. 1994 REFERENCE JAVA 2 HERBERT SCHILDT HILL THE COMPLETE TITLE EDITION PATRICK NAUGHTON TATA McGraw AUTHOR
2.
JAVA 1998
JAWORSICK CERTIFICATION
COMPLETE JAVA 2
DPB
PUBLICATIONS