WebVideo: Simple Web Tools
for Video Viewing and Browsing

Francesco Benevento, Enrico Gobbetti
CRS4 - Center for Advanced Studies, Research and Development in Sardinia
Via Nazario Sauro, 10 - Cagliari, ITALY
http://www.crs4.it/
france@crs4.it, gobbetti@crs4.it

Abstract

In this paper, we describe WebVideo, a library of simple tools for video browsing and viewing. The library offers a solid basis for developing web applications to view and browse video sequences and slide sets, as well as for distributing videos and images from real-time video sources. Since video transmission is based on a de-facto standard technology, the server-push method, remote users do not need any specific hardware or software in addition to a web browser. The tools offer an adequate support for applications where image quality and simplicity of use are more important than high frame rates and perfect audio synchronization. WebVideo is available in the public domain and has been used for over one year in applications such as distance learning, slides presentations, and Internet TV broadcasting.

Keywords: Image browsing, Web tools, Hypermedia, Server Push, Live video


Table of Contents


Introduction

The constant growth of popularity of the World Wide Web is due to the ability to distribute documents containing texts, images, sounds and movies. The multimediality of the web makes it possible to use that platform as a basis to develop applications in a particular number of areas. In particular, a large number of applications, such as multimedia libraries, private video communication systems, and applications involving distance learning, need transmission of slide show presentations, live images or even browsing of video sequences.

When dealing with video, most of these applications currently use files encoded in MPEG, Quicktime or AVI format. For this kind of video distribution it is necessary first to provide users with a suitable player and then, when using external viewer, to download the whole file before viewing it, which is very cumbersome especially for long sequences. This problem is partially solved by some of the most recent plug-ins, which allow the user to view the in-line video during downloading.
Among the most widespread plug-ins available, there is InterVU [4] that permits to view in-line MPEG video, Clearfusion [6] for the AVI files and for Quicktime files a plug-in is directly provided by Apple [5]. Sequences of still images are not handled well by this technique.

Another solution is the use of a video server for the transmission of continuous stream videos. In this case, as a video encoding algorithm is being used, it is necessary to provide the server with an encoder which, on demand, sends the video stream to a client while the remote user must have a decoder (external player or plug-in) [14]. Examples of video servers are VDOLive [2], by VDOnet Corporation and StreamWorks [3] by Xing Technology. Along the same lines, a specific protocol and a related browser for incorporating real-time audio and video into a hypertext pages is presented in [12].

Private users generally have a limited connection to the internet, with no specific hardware or software for video receiving and decoding. Therefore, many of the solutions provided are either inaccessible or cumbersome for end users. This is especially true in applications such as distance learning [10].

WebVideo Lab (WVL) comes out to provide simple web tools for video browsing and viewing, slide show and live images. Its purposes are:
- to spread on the web series of images captured in real-time that can be viewed as animated sequences;
- to store on a disk, frame by frame, video sequences with the subsequent possibility to easily browsing on the stored frames and then to review that sequence as a animation.
- to index and classify any frame sequence, combining them with additional multimedia information.

The storing of frames on a disk, their indexing and the browsing operation might show the disk as a kind of laserdisc, as if it were a repository of single frames retrievable afterwards in the desired sequence.

The use of WVL tools does not require the remote user to have specific hardware and software besides a standard web browser. It is not necessary, therefore, to use specific players or additional plug-ins. In order to reach this objective in the development of the WVL, we based video transmission on a technology called server-push method [1]. With this technology it is possible to avoid the download of the complete video file, as in the case of external viewer, or the storage in a temporary file while the video is showed, as in the case of plug-ins. With the server-push method, instead, images are directly displayed within the web browser while they are received [8].

It is important to stress that WVL videos do not use any encoding algorithm and, actually, what is distributed is not a compressed stream video but only a sequence of "blocks" of images.

We believe that WVL offers an adequate support for video browsing and viewing each time image quality and simplicity of use are more important than high frame rates and perfect audio synchronization.

This paper is aimed at describing CRS4's WVL. Further information and applications based on this technology can be found at the following internet address: http://www.crs4.it/~france/webvideo/

Project Components

WebVideo Lab originates with the purpose of creating a lab for the experimentation of new techniques for audio and video transmission on the Web.
The WVL is composed of a group of different modules having different functions. So, it provides an amount of tools which, on the whole, could solve a wide range of problems.

The modules that compose the current structure are showed in the figure below. The functional characteristics offered by such a system include remote access to audio and image streams and the browsing of multimedia information stored on the disk.

Fig. 1: WebVideo Lab components

Here, details about WebVideo Lab components will be given. Two of the components, WebLive and WebSnap, are devoted to the distribution of video source signals as sequences of images captured in real-time. WebShow and WebSlide are specifically targeted to the browsing of video saved on disk, while WebFrame includes a set of routines for the acquisition, compression and storing of video in a format suitable for the previous two modules.

WebLive

WebLive is the module dedicated to the distribution of live video.
Substantially it offers a web interface to access a video source. Using this interface it is possible to receive sequences of frames coming from a dedicated input in real-time.

In addition to making video available, there is the possibility for remote users, to interact with the acquisition system to adapt the frame reception to the connection speed. The remote user has the possibility to interact with three parameters: frame quality, frame size and frame rate.

The resulting application depends on the used video source. That should be a video-camera, a VCR, a TV receiver, a laser disc, etc. In figure 2, for example, it is showed an example on how to use WebLive for a video-camera live.

An example on how to use WebLive is a kind of control panel with different views, that is to have a layer that collects outputs from different video sources. For example, a matrix collecting frames from different video servers.

http://www.crs4.it/~france/livecam/
Fig. 2: A Live Camera using WebLive

The program that works as video server is a CGI which performs the grabbing operations, the compression and sends the frames to the client.

The basic technology adopted by WVL for dealing with streams is called server-push method [1] and it has been introduced with Netscape Navigator 1.1.
By means of this device the web server sends to the client the data organized in blocks. On the other side, shows the data received, block by block, as they arrive in a previously fixed number of blocks, or until the client interrupts the communication.
The possibility to avoid additional plug-ins or external players is something that makes the device interesting.

The MIME type used with server push is called "multipart/x-mixed-replace", where the word "replace" means that the new data blocks will replace the ones previously sent.

Below is the clearest description of such device:

print "Content-type: multipart/x-mixed-replace;boundary=---ThisRandomString---"
print "---ThisRandomString---"

while true {

print "Content-type: image/jpg"
grabbing and compressing <image>
print <image>
print "---ThisRandomString---"
}

By means of this technology it is even possible to put image sequences at user's disposal on the Web, providing the user with the instruments required to analyse and select the part of the video they are interested in.
The video server presented here has been made develops was made on Silicon Graphics INDY machine using the IRIS Video Library (VL) for the real-time frame grabbing and JPEG's libraries for the image compression.

One of the most important system characteristics is that acquired frames are sent without intermediate disc recording. This allows us to have higher frame rate and less work for the server. As we show in figure 3, the CGI that works as video server performs grabbing and compression using memory buffers, sending to the standard output the resultant frames.

In order to install WebLive server, you need an HTTP daemon running on the machine physically connected to the acquisition card. The remote user must use a web browser able to support the server-push method.

Fig. 3: WebLive structure

WebShow

WebShow is a tool for performing browsing operations on frames of a video previously stored on a disk.

At the moment, the only possibility to make videos available on the web without the use of specific servers is to store them in video files.

WebShow has not been conceived as an alternative to the system of video distribution through files but it is able to provide a solution to a series of problems that would otherwise remain unsolved.

WebShow is useful each time it is necessary to publish filmed sequences on the web without worrying about their length. Moreover, by means of the server-push method you do not have to perform the downloading before viewing the video and you do not need a specific player.

http://www.crs4.it/~france/webvideo/webshow/webs.cgi/4/5/checedinuovo
Fig. 4: WebShow, an example of use

Figure 4 shows the web interface as presented by the WebShow. It pictures video of an Italian TV show.

Let's see the operations available with WebShow. Each single frame is distinguished by two parameters: a progressive index, related to the whole video stored and a capture time, that is the time and date associated to each frame. The latter is of interest either as time counter or as time, according to the kind of video you are examining.

WebShow starts from the fact that each frame of the original video is stored on the disk in JPEG in the three sizes: half, quarter and eighth.

Here follow the main objectives we tried to reach:

Browsing
To make browsing among video frames easier and functional.
The search of a specific video segment turns out to be easier thanks to the possibility to change the line and column number of the frames matrix according to the power of the monitor in use. Moreover, it is possible to move among a certain amount of frames, to zoom-in and zoom-out, to move back and forth at determined intervals of frames.

Video
To view the whole video or a sequence of it.
Once you have selected the desired frame sequence, it is possible to playback the video by pressing the "watch video" button (see figure 5). A further interaction it provides is the possibility to choose the size of the video frames.
When the "Timed" checkbox is set, the server adapts the frame rate so as to meet timing constraints. In practice, on a slow connection or with a low-performance client, some frames will be skipped to maintain a synchronization between capture time and presentation time.

Fig. 5: Detail of a WebShow interface

Hyperlink
To add further information to single frames of video sequences.
It is possible to add further information reachable through a hyperlink to the various frames, as shown in picture 5.
In order to do that, coloured small bars are associated to each frame. Each bar is a link to a URL significant for that frame, which could point to another section of the WebShow, to an audio/video file, etc.. Of course, the colour of the bar changes as the related information does.
Together with hyperlinks related to video sequences, WebShow introduces the idea of multimedia track. This way, in browsing a video the user can carry out searches on the video track ( the frames stored on the disk), on an audio track and on a multimedia track (hyperlinks) that uses pieces of information connected to the World Wide Web.
This feature makes WebShow a useful device for the development of new applications. More specifically, the use of a multimedia trace comes out to be a precious element in applications related to distance learning through the WWW, where it is important to collect contextual information [10].

Audio
To provide the filmed sequence with an audio track.
The solution given to provide the video with an audio track uses a RealAudio server [7]. To receive the audio related to the video stored on disc, a Java applet has been used which launches the RealAudio player simultaneously with the video player. As you can see in picture 5 it is possible to qualify this feature with a checkbox element.
To solve the problem related to the audio-video synchronization, you need to set the "Timed" checkbox too.

To give you an idea of the room required on disk for storing a video for WebShow, a one-hour video recording with a frame rate of one frame per second takes an average of 80 mbytes.

WebSnap

This module uses the same technology of WebLive, with the difference that it captures a single image in JPEG format in real-time. The advantage of using this solution, is that it can be used also by web browsers that do support the server-push method. In this case, a support for in-line JPEG images is sufficient.

WebFrame

WebFrame is a collection of command-line utilities that allows the acquisition, compression and disk storing of a video, frame by frame, giving the user many choices in the options setting.

Among the available options there are: the frame rate setting, the initial time to be associated to a video sequence, the image quality and the number of frames to be acquired.

The goal of WebFrame is to give the user all the appropriate tools for the production of data to be used with WebShow and WebSlide.
Thus, beyond the frame generation, WebFrame produces also a set of description and configuration files.
During this phase, an index number, a time flag, a description and an hyperlink is associated to each frame produced.

WebSlide

WebSlide allows the presentation of the frames stored on disk via WebFrame. All the frames are displayed on the monitor screen as a sequence of slides. The slide make-up has been realized with the program "montage" of the ImageMagick [9] package (see figure 6).

http://www.crs4.it/~gavino/TV/esit.cgi
Fig. 6: WebSlide, an example of use

Applications examples

At CRS4 several applications have been derived from tools provided by WVL and at moment there are over 400 registered users for the WebLive software distribution.
One of the contribution addresses distance learning with Iperler [10], an integrated system which makes use of a Web browser, 3D viewers and other tools for collaborative learning over the network. Analyzing the behaviour of the users during the collaborative working sessions, in which they were provided with different tools, it has been noticed a wide utilization of the WVL tools, in particular in the first phase of exploration of the system [11].

An application of interest using WVL tools, is InterneTV (see figure 7), available on line since November, 1995. The application is realized by WebLive, using a TV tuner as video source and provides the continuous distribution of a live signal from Italian TV channels.

http://www.crs4.it/~france/TV/
Fig. 7: InterneTV, an example of WebLive application

In August 1995 , InterneTV was used in order to diffuse in real-time grabbed images of the Miss Italy 1995.
To avoid situations of stall, with high number of concurrent connections, WebLive system contains features to control the number of concurrent connections.

The 3-Dimensional navigations offered by Virtual Sardinia [13], are available on the net thanks to WVL's tools. The interaction with the 3D world are allowed by i3D, a viewer for large 3D scenes integrated with the web, that offers high performances on machines such as the Silicon Graphics Onyx Reality Engine2. The large amount of data and the strong hardware requirements prevent to put on line this service and so the WVL's tools have been used to realize a www presentation of project's capabilities.

WebShow is used also to present the CRS4 VideoProducts, a collection of video previews from our multimedia laboratory.

Because of its appeal for teleteaching applications, WebVideo will be integrated in the Virtual Auditorium system for synchronous and asynchronous presentation under development at the Swiss Center for Scientific Computing [15].

Conclusions and Future Work

We have presented WebVideo, a library of simple tools for video browsing and viewing. Since video transmission is based on a de-facto standard technology, the server-push method, remote users do not need any specific hardware or software in addition to a standard web browser. We believe that our tools offer an adequate support whenever image quality and simplicity of use are more important than high frame rates and perfect audio synchronization.

We've chosen to implement WVL as a collection of tools, instead of a monolithic product, in order to allow its use as a basis for the creation of new applications, leaving space to enhancements on several lines. Two of this lines are the audio aspect and advanced search features on audio, video and multimedia WebShow's tracks.

Binary files of WebLive software are available as free download for SGI systems at URL: http://www.crs4.it/~france/webvideo/weblive/.

Acknowledgments

WebVideo Lab has been designed and developed by Francesco Benevento. The Java applet of the WebShow module has been written by Gabriele Masili, while the WebSlide module has been developed by Gavino Paddeu. All this people are part of the Center for Advanced Studies, Research, and Development in Sardinia (CRS4), Cagliari, Italy. The authors would like to thank Emanuela Locci for her contribution to the first draft of this paper.

Research and development described in this paper have been carried out with the financial contribution of Sardinia Regional Authorities.

References

[1] An exploration of dynamic documents
http://www.netscape.com/assist/net_sites/pushpull.html

[2] VDOLive by VDOnet Corp.
http://www.vdo.net/

[3] StreamWorks by Xing Technology Corp.
http://www.xingtech.com/

[4] InterVU MPEG player by InterVU, Inc.
http://www.intervu.com/

[5] Apple Quicktime plug-in by Apple Computer, Inc.
http://www.quickTime.apple.com/sw/

[6] Clearfusion by Iterated Systems
http://www.iterated.co.uk/

[7] RealAudio by Progressive Networks
http://www.realaudio.com/

[8] J.C.Soo: "Live Multimedia over HTTP" - Electronic Proceedings of the Second World Wide Web Conference '94: Mosaic and the Web. (1994)
http://www.ncsa.uiuc.edu/SDG/IT94/Proceedings/DDay/soo/www94a.html

[9] ImageMagick - X11 Image Processing and Display Package
http://www.wizards.dupont.com/cristy/ImageMagick.html

[10] Iperler, IPERmedia e Lavagna Elettronica in Rete, Hypermedia and Network Blackboard http://www.crs4.it/~calis/IPERLER/ C.Salis, A.O. Leone "Hyperobjects on the Web: Guidelines for an Instructional Model Application", - Educational Technology Review, Association for the Advancement of Computing in Education. (1997). To appear.

[11] C.Salis, A.O. Leone "Hyperobjects on the Web: Guidelines for an Instructional Model Application", - Educational Technology Review, Association for the Advancement of Computing in Education. (1997). To appear.

[12] Z.Chen, S.M.Tan, R.H. Campbell, Y.Li: "Real Time Video and Audio in the World Wide Web" - Proceedings WWW95, Boston, 333-348 (1994)
http://www.w3.org/pub/Conferences/WWW4/Papers/211/

[13] E.Gobbetti, A.O.Leone - "Virtual Sardinia: a Large-Scale Hypermedia Regional Information System" - Computer Networks and ISDN Systems, 28(7-11), Elsevier. Special Issue on Proceedings Fifth International World Wide Web Conference, Paris, France. (1996)
http://www5conf.inria.fr/fich_html/papers/P56/Overview.html

[14] P.England, R.Allen, R.Underwood - "RAVE: Real-Time Services for the Web" - Computer Networks and ISDN Systems, 28(7-11), Elsevier. Special Issue on Proceedings Fifth International World Wide Web Conference, Paris, France. (1996)
http://www5conf.inria.fr/fich_html/papers/P57/Overview.html

[15] A.Mangili, N.Pedrozzi (1997) "Web Slide Show: a Virtual Auditorium for Synchronous and Asynchronous Presentations". Submitted for publication.



Return to Top of Page
Return to Posters Index