4.    ANNEX

4.1    The Web-VCR

The Web-VCR is an application which can be dynamically loaded into an appropriate Web browser such as the Netscape one, which enhances the browser with VCR-like capabilities, allowing to play video streams coming from the network, recording them on the Combo tape with the option of recording text and graphics on the associated Web.

The main benefits of this application for the user can be summarized as follows:

The development environment for this application is the JAVA programming language under Windows95.

The application has been designed with a layered architecture using the JAVA paradigm as shown in the following figure:

Figure 11 Layered Structure using JAVA

The JAVA applet implements the Graphical User Interface of the application while the software functionality has been implemented in a JAVA "Package" called StreamVideo. A JAVA Package is a way to categorize and group classes .

Due to the fact that the application have to interface with a Win32 API of functions either to interact with the Combo or with the MPEG decoder card, the methods of the StreamVideo package have been implemented as "JAVA native methods", that is a method whose code is written in a different language from JAVA as C or C++.

Hereafter follows a brief description of how the WEB-VCR application works.

The application can have two different types of interaction depending from the context where it works:

INTERNET INTERACTION

Figure 12 WEB-VCR Internet Interaction

 

COMBO INTERACTION

Figure 13 WEB-VCR Combo Interaction

The standard VCR interface, simulated by the applet JAVA, provides different commands for the two environments.

During the so called "Internet Interaction" the user can select a video link thus enabling the activation of the JAVA applet which simulates a VCR user-interface with the functionality of play, pause, stop, record and record page. In particular the play function starts a connection between the remote server and the local PC and allows the transfer and play-back of the selected MPEG file from the WEB server to the PC. The record function acts in a similar way as the play function, but the stream video beside being played is also stored in a Combo file and a reference is added to the "ComboIndex" page.

The record page function allows to record in the COMBO system an entire HTML page with all its first level video-links.

During the "Combo Interaction", the VCR user-interface shown by the JAVA applet, provides the functionality of play, pause, stop and delete. In particular the play function starts a buffered connection between the Combo device and the local PC to enable the buffered data flow from the Combo towards the decoder board. In a first release of the application prototype the video data are transferred form the Combo to the application PC using a Ethernet connection, and then, for the final demonstration, the 1394 Bus connection will be used. The delete function allows canceling a video stream from the COMBO together all the references to it.

As regards to the "Internet Interaction", the record function is not available because it is not meaningful in a Combo context.

The following figure shows the links between the Home PC running the WEB-VCR application and the SMASH COMBO device.

                                               Figure 14 WEB-VCR PC/ COMBO connections

The exchanged information between the two systems belongs to different data type, and for this the WEB-VCR application needs to ask the COMBO for the following operation:

4.2    The usage of the SMASH API by the DVB-VCR application

The DBV-VCR (Digital Video Broadcasting – Video Cassette recorder) uses the SMASH Combo as an advanced video recorder, that can e.g. record and play back simultaneously. As such, it utilises the SMASH streaming API to handle the video streams.

The DVB-VCR would be operated by a consumer through its graphical user interface (GUI) displayed on a television. This TV is connected to the digital home network, to which a wide range of other equipment may be connected (see figure 15 below). In our case, the TV will communicate with the Combo server, which need not necessarily be in the same room. In fact, more TV’s in the same home may use one Combo.

Figure 15: SMASH Combo server in a home network environment

The consumer will be presented a GUI that offers possibilities to select The consumer will be presented a GUI that offers posibilities to select future programs for recording, or select previously recorded programs for viewing. The information on available programs, both future broadcasts and recordings, is retrieved form a ‘multimedia database’ (MMDB). The MMDB content and access is not currently contained in the API, because it is very application-specific, and is expected to be subjected to many changes in the near future.

After the consumer has made his selection from the menu, say to play back the movie Jurassic Park, appropriate commands are sent to the Combo to start the playback process. The MMDB contains all information required to issue the correct streaming API calls, e.g. correct reference to the Jurassic Park file(s) on the available tapes.

During playback, the consumer may issue further commands, e.g. to pause and later resume the playback, using his remote control. Again, this will result in the appropriate API calls to achieve the desired action.

In a similar fashion other equipment connected to the network may utilise the Combo. One could imagine PC’s accessing the Combo to retrieve (parts of) movies for playback or editing. Similar to video, audio data could be retrieved to be played anywhere in the house, and many other possibilities exist.

4.3    The Usage of the SMASH API by the Remote Education Application

The Remote Education Application (REA) is based on the WWW to use the network connection and to be supported by a local mass storage device as well. A graphical user interface is built under the a WWW browser (Netscape or Microsoft Internet Explorer) because the idea is to keep the application as general as possible. This means that the same concept of the educational tool can be used with or without a local mass storage device. To achieve such goal, the REA should a clear interface between the application level and the storage device to hide the storage system from the application. A complete concept of the interactions between the REA, the SMASH Combo as a mass home storage system and the network access has been shown in Figure 15.

All data requests from the REA are sent to the simple WWW server, which is running on the same computer as the REA. Local file requests are checked by the WWW server, all other requests are passed to the network. The same situation is when data comes through the server back to the REA.

When the simple WWW server receives a file request from the REA (WWW browser), it tries to get the file from a hard disk of the Combo, which is mounted as a local disk on the client PC. If the file is on the hard disk, the WWW server sends it to the WWW browser. However, if the file is not on the hard disk, the WWW server receives an error message and after this, it sends a request for a file to the tape controller running on the Combo system. When the file is on a hard disk, the WWW server sends the file to the Netscape. If the tape controller for any reason cannot retrieve the file, it sends an error message to the WWW server.

At the moment, the client PC is connected to the Combo system by the Ethernet using the TCP/IP protocol. This means that all commands and all data are exchanged between the client PC and the Combo using IP packets. The communication between the REA and the Combo is defined by the SMASH API. Because the REA is based on the WWW it needs only API commands that can be used with the WWW browser. This is the reason that the stream API, defined as a part of the SMASH API, is not used in the REA.

The communication between the client PC and the hard disk of the Combo is performed by the file system API, which is the same as for any other NFS and it will probably remain the same in the future. The communication between the simple WWW server on the client PC and the tape controller on the Combo system is performed over Internet and it is also based on the TCP/IP protocol, but it can be changed in any other better connection supported by Java in the future. The simple WWW server communicate with the tape controller using low level and operational management API defined in the Deliverable 8.


Back to table of contents