Virtual Media


Published on

  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Virtual Media

  1. 1. Virtual Media & Entertainment House C. K. Yeo, B. S. Lee, V. Anand, Pathik Gupta, Arun Puri, Amol Dhabolkar School of Computer Engineering Nanyang Technological University Nanyang Avenue S 639798 Republic of Singapore Email: {asckyeo, ebslee} Abstract 1. Introduction This paper focuses on the design and Today's Internet that all of us use is a development of a framework that provides a lonely experience. People seldom browse or one-stop location to cater to media and watch movies on the computer together. This entertainment needs of users over the is a limitation of the computer itself, that it is internet. The framework provides a virtual a one-to-one experience. There is a need for environment whereby users can come a medium where people can do things together to form a community. The together on the Internet, forming online framework provides various services to the communities. The proposed virtual media users which include Virtual Cinema Hall, and entertainment house does exactly this. It Virtual Presentation, Virtual Whiteboard and serves the needs of users on broadband Virtual Conferencing. The framework has networks from all over the globe using been implemented using Java [1] hence multiple platforms. The system comprises providing the support for heterogeneous the following features: environment. It uses Java Media Framework (JMF) version 2.1.1b [2]. The framework • A Virtual Cinema Hall where users can also uses high level protocols such as Java watch together media clips (movies, based RMI and Real Time Protocol (RTP) interviews, personal events etc) and [3]. The framework has a full support for the provide for interaction between the users Multicast network, hence making it highly using chat and video conferencing scaleable. applications. Keywords: broadband multimedia • A Virtual Presentation Application applications,video-conferencing, whiteboard, where corporations (and individuals) can shared presentations present their power point presentations
  2. 2. over their corporate networks (or web) to viewers irrespective of their location and Section 2 of this paper covers the platform. Virtual Cinema Hall. Section 3 describes the design and implementation of virtual • A Virtual Videoconferencing Application presentations while sections 4 and 5 deal where people can get together with virtual whiteboard and virtual irrespective of their platforms. conferencing respectively. Section 6 explores the commercial potential of the proposed • A Virtual Whiteboard Application which system while section 7 concludes the paper. is integrated with the videoconferencing application to simulate virtual classrooms and other virtual discussions. 2. Virtual Cinema Hall The proposed framework uses Java for Figure 1 shows the Client-Server development as Java is a suitable candidate Architecture of the Virtual Cinema Hall for creating a highly secure, robust and Application. The Client and the Server are graphically oriented application for multi- Java-based systems that are built on top of platforms applications. JMF is used to Java Media Framework (JMF) and provide the functionality needed to transfer communicate with each other using two large media files over the Internet by separate protocols - basic communication streaming. Streaming is a method whereby implemented using Remote Method the media is transported over the network Invocation (RMI) and the media streaming connection such that it can be retrieved by implemented using Real Time Streaming the user and played instantly. This is in Protocol (RTP). contrast with caching whereby the entire media has to be downloaded to the user RMI is a high-level protocol used in machine before playing it. The ability of modeling of classes and objects in a JMF to provide media streaming, support for distributed (multiple JVM) computing heterogeneous environment and support for environment. The RMI registry acts as a various kinds of media formats makes it a proxy between the remote objects, allowing very good choice for the development of them to invoke remote methods on each such framework. The users book “rooms” other [4]. JMF is a part of Sun’s Java Media which are based on the number of users and Communication APIs that are used to using it and amount of time it is booked for. design an object oriented feature rich The other applications i.e. Virtual multimedia architecture that can handle a Whiteboard and Virtual Presentation also vast collection of multimedia processing [5]. use Java technology. The framework also The Server uses SQL Server as a database to uses Java’s Remote Method Invocation perform housekeeping. (RMI) so as to create a scaleable and extensible distributed system.
  3. 3. Virtual Cinema Client «JVM/JRE » Peer-Peer Peer-Peer RTP/ RMI Registry RMI over TCP RTCP @ Port 1099 « Proxy » over IP/UDP Virtual Cinema Server SQL Server Figure 1: System Architecture Design 2.1 Overview • Provides Synchronization between the streams of multiple clients, thus This architecture supports two kinds of providing an effect of a cinema hall. streaming – Server Side Streaming and • A chat session is maintained among all Client Side Streaming. the clients in a particular room, thus allowing them to converse while Server Side Streaming: The media files are watching the media clip. stored on the server and are streamed to • The host authorizes each guest entering multiple clients using RTP/RTCP. the room. • The host controls (start, stop, pause, Client Side Streaming: The media files are rewind) the media that is being played. stored on a client and is streamed to multiple • System provides Multicast support, thus clients using the servers high bandwidth even further reducing the bandwidth network. The media file is streamed from constraints on the clients and the server. the client to the server using RTP/RTCP and is further routed to multiple clients by the server, thus reducing the load on the client’s 2.2 Flow Analysis bandwidth. Figure 2 shows the flow analysis of the The features of the system are as follows: application. The description is given as follows: • Exclusive booking of virtual rooms thus maintaining privacy within groups. a. The Host (the user who books a room • Booking charges of rooms are based on and initiates the media transfer) logs number of guests invited and the time on to the System. The login and involved. (These two factors determine password are sent over to the server the bandwidth utilized over the network). (optionally over SSL) for authorization. This step uses RMI protocol for communication with the server.
  4. 4. b. The Server authorizes the user and • Client Side Streaming: The host acknowledges the user as a host by specifies the file on the local sending him the details of his booking. system that is to be streamed and These include the room number, the the host application starts streaming maximum number of guests that can be the file on the port specified in step accommodated and the duration of the b. booking. The server also informs the host application of the port number on In both cases the media file is streamed which the media is to be received. In using RTP/RTCP over a UDP (User this step the server again uses RMI to Datagram Protocol) channel. invoke a method on the client and returns all the data pertaining tod.the d. A guest logs on by specifying the booking using a Java serializable username and password as in steps a and b. object. Likewise, RMI protocol is used for this step. a. c. The two-way arrow signifies the e. two e. Here, the guest is provided with the streaming scenarios: rooms that are currently being used by some group. The server also provides the guest • Server Side Streaming: The host application the port numbers of all the valid specifies the file on the server, rooms on which the streams are to be which is to be streamed and the received. The server again sends a server starts transmitting the file serializable object with these details. using RTP/RTCP on the port specified in step b. f. f. The guest identifies and chooses a room to enter and sends an authorization request Host 1 2 3 7 Virtual Cinema Server 4 5 6 8 Guest Figure 2: Flow graph of the Virtual Cinema Hall
  5. 5. to the host of that particular room via the conferencing application explained in the server. next section. g. g. The host may or may not authorize the guest to enter the room. In the case the permission is denied, the guest can book a 3. Virtual Presentations room or try another room. Figure 3 shows the architecture of the h. h. In the case the guest has been presentation module. The Presentation host authorized, the guest application will start starts the presentation application before receiving the streams. In case of server side starting the presentation. The application will streaming, the server directly uses the same convert the presentation slide into a jpeg RTP session that is being used to serve the format and transmit it to the server over a host for the guest. For client side streaming, socket connection. The server in turn streams the server receives the RTP stream from the these images to the guests of the host and then routes the stream to the presentation. The guest application will guest via the port specified in step f. convert the images into Java images and display over an applet interface. Integrating with a video conferencing application can further extend this The features of the application are: application. Using JMF, live audio & video • Fully customizable for corporate on all client sides can be captured and networks with the dedicated presentation streamed to the other participants in the same server to improve performance. room. This is done by starting another client • Highly economical business solution that side stream for each client and routing the saves travel time and expenditure. appropriate streams to the participants in the • Easily integrable with video room. This is similar to the virtual conferencing application. Presentation Host Socket Level Connection Virtual Presentation Server Socket Level Socket Level Connection Connection Guest 1 Guest 2 Guest 3 Figure 3: Presentation application Architecture
  6. 6. Sharing of Powerpoint presentations over a f. The server then identifies the guest in heterogeneous environment is accomplished the particular room and converts through the following stages: these jpeg images to java images. These Java images are sent over to a. The host, who is the user who books the guest application. a room and initiates the media transfer, logs on to the system. The g. The guest application then uses the login and password are sent over to applet interface to display these Java the server (optionally over SSL) for images. authorization. This step uses RMI protocol for communication with the server. 4. Virtual Whiteboard b. The server authorizes the user and acknowledges the user as a host by Figure 4 shows the architecture of the sending him the details of his virtual whiteboard. The WhiteBoard booking. These include the room application is a value-added application to number, the maximum number of the Virtual Media/Entertainment House. The guests that can be accommodated and whiteboard is built on a chat application and the duration of the booking. In case users can draw objects, flow charts, the user has not made the booking, diagrams, free hand draws etc for other users he/she has the option of booking a to see and discuss. room. The system has been implemented c. The client application connects with using Java network programming by making the presentation server using a socket connections between the server and TCP/IP based socket level the clients connected via an Applet interface. connection. The DListServer maintains a list of the active connections in an IMList. Any action d. The client application converts the performed by any of the clients invokes an presentation slides to the jpeg images updateEvent on the client which identifies in real time and streams it over to the server using the established socket connection. e.
  7. 7. Figure 4: The Virtual Whiteboard Architecture the action performed and sends an To begin with, the guest/host decides to addElementString event notifying the other initiate the virtual conferencing application. clients to update their whiteboards. A request is then sent to the server specifying the port number on which the The whiteboard would optionally client performs the live media streaming. include a video conferencing application The server obtains the request and starts to where the users can videoconference with listen on the specified port for the stream. each other while using the whiteboard. Once the server obtains the client stream, it obtains the information about the other participants in the same room. It then starts streaming the client stream over a certain 5. Virtual Conferencing port. The server also notifies each of the other participants about the new stream that The conferencing application allows all is available for receiving on the particular the participants in a room to view each other port. The other participants will initiate the and at the same time chat with each other. receiver session on their local machines. At The application uses RMI to communicate the same time, server also informs the client between the clients and the server and the sending the new stream about the port video capture is streamed using RTP/RTCP numbers of the other participants in the room protocol. who are sending the live streams. This will invoke the receiver session on the client for When the client initiates the streaming, each of the other participant in the room the application detects a video capture device allowing the client to view all the other and starts the Client side streaming as participants. These steps are performed for explained in the previous section. The server all the clients who enter the room and initiate handles all the details of routing the the live video streaming. appropriate streams to the participants in the room. Client 1 Client 2 Virtual Conferencing Server Client 3 Client 1 feed Client 2 feed Client 3 feed Figure 5: Video Conferencing Stream Flow
  8. 8. As can be seen from the steps, this Potential from corporations and distance application performs the client side learning centers streaming (refer to Section 2.2) but on very large scale whereby the server has the • The Virtual Presentation application can responsibility of handling the various help large and small corporations, save streams. The virtual conferencing application travel expenditure, which is one of the can work both as a stand-alone application highest expenditures for any corporation and can also be integrated with the existing with international market. virtual cinema hall system. It can also be integrated with the virtual whiteboard and • The presentation application is fully the virtual presentation applications. This customizable for MNCs and other provides high scalability and extensibility to corporations that may want to have a this application. Dedicated Presentation Server behind their firewall. This would help to keep offices in different regions connected more effectively and economically. 6. Commercial Potential • The presentation application is easily The commercial potential of this integrated with the video conferencing system can be divided into 2 categories: application to provide interactive presentations (appropriate when dealing Potential from Individual & Home Users with remote customers). • The Virtual Cinema Hall is an • Using the video conferencing and the application that brings together relatives presentation applications would also all over the world to have some fun benefit Distance Learning Centers. together for a small fee. • Security cameras can be easily integrated • From data over telephone lines to with the system and the application can telephony over data lines - technology be used to monitor areas using the has come a long way and is moving security cameras remotely. towards extensive use of video conferencing (including video conferencing in 3G phones) in areas such as Customer Relationship Management 7. Conclusion (CRM), conferencing with near and dear ones who are away. The Virtual Media & Entertainment House provides a complete media solution • In today's busy world, people get less and for the home as well as business users. The less time to attend religious gatherings. system is designed to provide a community Not all people make it for family based service by allowing the users to functions and ceremonies. These events interact with each other using virtual can be covered on a video camera and conferencing and virtual whiteboard. The directly streamed in real time to let the system also provides a complete media ones away participate in the event solution by allowing the user to play files remotely. from the local machine over the Internet or from the server itself. The system reduces
  9. 9. the client side bandwidth requirement by routing all the streams via the server to the other participants. The system also supports the multicast media transmission and reception. The clients need only to specify the multicast address that they want to join and the server can stream the media accordingly. This kind of arrangement provides a highly scalable solution as multicast is one of the upcoming technologies in the Internet world. ______ References [1] Sun’s Java Website, The Source for Java™ Technology, http://www. ( [2] Java Media Framework, http:// index.html [3] IETF RFC 1889, RTP: A Transport Protocol for Real Time Applications. Current revision, http:// avt-rtp-new-04.txt [4] Java Remote Method Invocation by Suresh Raj Gopalan, http:// java_rmi.html [5] Linden deCarmo, Core Java Media Framework, 1999 Prentice-Hall.