======================================================================
  This package contains binaries of the Personal Web Media (PWM)
  system for the Windows 95/NT operating system
======================================================================

developed at the Distributed Systems Dept, University of Ulm.
For licence information read the file licence.txt.


What is it?
===========

PWM is a live video and audio server that looks like a web server to 
web clients. It grabs images from your local camera and distributes it 
as an inline realtime-movie. Audio is recorded from the sound input
device and provided as a GSM or ADPCM stream. PWM includes a small 
WWW server (HTTP server).


Requirements:
=============

To use WebMedia you need a Windows95 PC with framegrabber and camera.
(PWM will run with NT too but we did not that much testing.)

The video has been tested with these framegrabber-cards:
 - MiroDC 1, MiroDC 20, MiroDC 30
 - FAST Movie Machine, Movie Machine II
 - Creative Labs Video Blaster SE100 (Bernie Breton<bcb@eng.cam.ac.uk>)
 - Creative Labs Video Blaster RT300
 - Winnov Videum (Blake Stewart <blake@mail.ntu.edu>)
 - Intel Smart Video Recorder III (Blake Stewart <blake@mail.ntu.edu>)
 - PCI Stinger videoboard (M.E. Kraan <info@widexs.com>)
 - Connectix ColorQuickCam, B/W QuickCam
 - Cardinal SnapshotPlus (tele monster <telmnstr@norfolk.infi.net>)
It works with other grabber cards. Please drop us a note if you 
succeeded using other cards.

A soundblaster 16 compatible soundcard is required to record audio.
Fullduplex audio communication is possible with soundblaster driver
version 4.30 (win 95) and 4.04 (NT) or higher.


Who did it?
===========

Heiner Wolf <wolf@informatik.uni-ulm.de>
Travis Heppe <>
Rainer Birkenmaier <rbirkenm@hydra.informatik.uni-ulm.de>
Theo Gross <tgross@hydra.informatik.uni-ulm.de>  
Stephan Schmid <sschmid@hydra.informatik.uni-ulm.de>

Thanks to:

Konrad Froitzheim <frz@informatik.uni-ulm.de> for lots of comments and advice
Holger Boenisch <hb@vs.informatik.uni-ulm.de> for testing and optimisations
Steven Duntley Halpape <Username@ix.netcom.com> for the IRIX port
Scott Furman <fur@netscape.com> for integration of GIF-streams into NETSCAPE 
Tom Lane <tgl@netcom.com> for the JPEG library
Thomas Boutell <boutell@boutell.com>
... and hundred thousends of beta testers who operated the interactive 
    model railroad http://rr-vsinformatik.uni-ulm.de/rr/


Files:
======

README.txt:                this file
LICENSE.txt:               another file to read
pwm.cfg	                   settings file
webmedia.exe   <----       executable binary
notify.wav                 Notification sound
htdocs\JPEGtest.html       html text example for video with MJPEG
htdocs\GIFtest.html        html text example for video with animated GIF
htdocs\comm.html	   html text example for combined audio/video
htdocs\[other files]       default web conferencing files
webmedia.hlp               Windows online help file


Usage:
======

- The unpacked archive is ready to use, simply start 'webmedia.exe'.

- Currently there are two video output modes:
  1) a server-pushed sequence of JPEG compressed frames. Use this one, 
     if more than half of the image is changing between frames. 
  2) a infinite animated GIF sequence. Use this if only small regions (1/3) are
     changing between frames.
  MPEG output and diference JPEG is under development.

- If the grabber card provides JPEG compression and you want to serve 
  in mode 1) then set the compression of the grabber card to JPEG.

- If you want to serve in mode 2) then set the grabber card to 24 bit
  RGB-data output. 

- There are three example files for testing the WebMedia server:
  1) JPEGtest.html
  2) GIFtest.html
  3) comm.html (JPEG+audio)

- Access them at http://webmediahost.domain/JPEGtest.html

- WebMedia writes some log files while running.

- The WWW file server will serve html, htm, gif, jpeg, jpg, sdf and class files 
  with a proper Content-type. The WWW server's toplevel directory is relative
  to the working directory of the binary: $WORKING_DIRECTORY_OF_WEBVIDEO\htdocs
  Paths below this directory are allowed. There are no cgi's and no ways to 
  configure the built-in WWW server beyond the basic functionality and the
  server's toplevel directory.

- Settings are read at startup from the config file. The file is written 
  at shutdown time. Do not edit it while WebMedia runs. Your changes will be 
  overwritten. 

Tips:
=====
- Adapt the file comm.html to your needs, but leave it where it is. 
  People try to reach you by accessing your default commpage (comm.html). 
  WebMedia will provide audio and call answer capabilities in order to 
  serve as a WWW based picturephone.

- The default personal information files contain a structured version of
  the information, which is available on many users' homepages. The 
  information will be used by conferencing services. E.g. the personal 
  image/icon is used to represent the user. Provided information will 
  be used to enhance conferencing services, but there is NO means to store
  or change information from the network. REALLY.

- Default names of personal images are:
  image.jpg, image.jpeg, image.gif and icon.gif
  You can replace the provided icon.gif with your picture. An icon is the 
  small version (32x32), an image is the large version of your picture.

- The notification sound can chosen by a file select dialog. the default is  
  notify.wav.

- You can create your image.jpg easily using the "file/save image" menu 
  command. Hint: save it into WWW server directory (this is the default). 

- Don't be confused, if you read about a program called sswin. Once upon
  a time it was called sswin. But it grew up, married and became the Win95
  version of WebMedia.


Changes:
========
1.6.2
new GUI (menu structure and dialogs)
second version of framerate control
PWM related directories/files (e.g. notification sound file) may now contain
space characters
some NT debugging

1.6.1
first stable PWM version due to various bug fixes
first version of dynamic framerate control
MMX support added for differential GIF

1.6 
Marriage of WebVideo and WebAudio to Personal Web Media (PWM)

1.5.2
less load while no client connected and if local display off 

1.5.1
support for !(JPEG || RGB) grabber. works hopefully for VideoBlaster RT300
several algorithmic optimisations in GIF encoding
write JPEG image.jpg snapshot even with RGB grabbers
enhanced file select boxes
removed YUV-based motion detection

1.5
fixed memory leak in the difflib (affects gif-part).
streams are triggerd by the connections -> reduced system load.
separated connect notification and acknowledge.
choose video input device from config file
a lot more minor fixes.

1.4.5
added support for B/W QuickCam
added .sdf as MIME-type application/x-sdf to WWW server
fixed memory leak in makeDiff

1.4.4
support for ColorQuickCam
HTTP server: better support for user detail files 

1.4.3
fixed HTTP reply header for animated GIF

1.4.2
menu cosmetics

1.4.1
beep, when acknowledge dialog appears
icon cosmetics

1.4
added list of connections
acknowledge connections
save and restore settings in a single settings file
rearranged menus
added http server
debugging
enhanced online help

1.3
added animated GIF

1.2
first release of WebVideo as http server

1.2 - 1.0
grabs video and sends it to the Unix streamserver


Known Bugs:
===========

- The connected host display does not always update, if clients leave.
- Many, many clients drive the program crazy. Even disconnecting them 
does not help.


Troubleshooting:
================

if (webvideo starts) then
   if (crashes immediately) then
      restart Windows 95
      try {
         change the grabbed data format to RGB 24 bit or MJPEG (if available)
         using the MSDOS-box program vidconf.exe . Vidconf will show the 
         source and format control panels of any frame grabber driver if 
         they are supplied by the driver.
      } else {
         send email to rbirkenm@hydra.informatik.uni-ulm.de or
                       wolf@informatik.uni-ulm.de 
      }
   else if (no local video visible) then
      video input might be wrong
      try {
         changing the video input using the options/source menu
      }
   else if (no video in Netscape) then
      URL in HTML file might be wrong
      change the hostname of the IMG SRC URL to the host running webvideo
   endif
endif

History:
========
05.11.96 Rainer Birkenmaier rbirkenm@hydra.informatik.uni-ulm.de created
05.11.96 Heiner Wolf wolf@informatik.uni-ulm.de changes
07.11.96 hw added FAST card, Troubleshooting and WWW server description
12.11.97 hw added Quickcam
21.01.97 hw added Creative Labs Video Blaster SE100
10.02.97 hw adapted for version 1.4
12.02.97 hw added 2 grabber cards
13.02.97 hw added Changes section
17.02.97 hw ver 1.4.3
25.02.97 hw fiddled around to prepare for next version
03.03.97 hw ver 1.4.4
22.04.97 hw ver 1.4.5
09.04.97 rb new beta version (1.5.beta1) released.
08.05.97 hw 1.5
21.05.97 hw 1.5.1
26.05.97 hw 1.5.2
31.07.97 rb + S. Schmid merged WebVideo and WebAudio
20.08.97 H. Boenisch added MMX support
31.08.97 rb + hb 1.6.1
15.09.97 hb 1.6.2


