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
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/
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.
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 {
}
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 |
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:
Fig. 5: Detail of a WebShow interface |
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.
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.
http://www.crs4.it/~gavino/TV/esit.cgi Fig. 6: WebSlide, an example of use |
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].
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/.
Research and development described in this paper have been carried out with the financial contribution of Sardinia Regional Authorities.
[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.