README File for Cambozola V0.68
Cambozola is a very simple (cheesey!) viewer for multipart jpeg streams
that are often pumped out by a streaming webcam server, sending over
multiple images per second. Netscape will display and refresh these
automatically, but Internet Explorer and other browsers do not - they
will only display the first image.
Cambozola is a cross-browser replacement that displays the image streams
correctly. Without a signed jar, it is only able to connect to the same
server that it was downloaded from. It may also be used from the command
line to connect to any server.
Cambozola supports pluggable 'accessories' that may be used to display
information about the stream or change its appearance on the fly.
NOTE: This release of Cambozola does not need to be recompiled with a 1.1.8 JVM specifically for the default Internet Explorer JVM. When the default JVM is used in IE, it will only be
able to connect to the originating server unless the code is signed in a way that this JVM can understand [moral of the story, please use the Java plugin!].
An example of Cambozola in use, plus information about network configurations.
If you like it, hate it, or have any questions/comments/bugs or you would like
to show your appreciation by buying me an Axis 2100 (beg, beg), then feel free to email me at andrew_wilcock@bigfoot.com
Downloading
Download Cambozola as a .tar.gz file or a .zip file.
Building
Building Cambozola requires ant (
http://jakarta.apache.org/ant/). To build Cambozola, use:
ant
This will create two files in the dist/ directory:
- cambozola-server.jar - A test server that repeatedly pumps out a short set of images
- cambozola.jar - The client-side code for use in a web page, or from the command line
Usage - Web page
The HTML snippet for a Netscape-readable page would be as follows:
<img src="/cgi-bin/w3cam.cgi?refresh=0.0" width="352" height="288">
The equivalent HTML snippet using the Cambozola viewer is:
.
.
.
<applet code="com.charliemouse.cambozola.Viewer" archive="cambozola.jar" width="352" height="400">
<param name="url" value="/cgi-bin/w3cam.cgi?refresh=0.0">
</applet>
.
.
.
As it is specified, the cambozola.jar file should be in the same
directory as the web page. Due to applet security restrictions, Cambozola can only connect to the machine that the web page was downloaded from.
Usage - Command line
To run the test server (on localhost, port 2020), use:
java -jar dist/cambozola-server.jar
To connect to the test server, use:
java -jar dist/cambozola.jar http://localhost:2020/
This server can accept multiple connections, and sends a short repeating
loop of GIF images at around 30 frames per second. Move the mouse to the
left-hand side of the image, to see the accessories.
Usage - Controlling Accessories
Cambozola comes with a default set of accessories:
- ZoomIn
Zooms in on the image
- ZoomOut
Zooms out of image
- Home
Shows all the image
- Pan
Pan around a zoomed in image (click the arrows to pan)
- ChangeStream
Swap to another stream without leaving the window
- Info
Displays information about the stream
- WWWHelp
Displays Web page with application help [this]
These are specified using the '-accessories' parameter on the command line, some examples:
- -noaccessories
- Will not display any accessories
- -accessories=none
- Will not display any accessories
- -accessories=default
- Will display the default set of accessories
- -accessories=ZoomIn,ZoomOut
- Will display only the specified accessories
- -retries={number}
- Will attempt to connect to the server for the specified number of times
- -delay={num}
- Will wait the specified number of milliseconds (1/1000 sec) before retrying
- -failureimage={url}
- Will display the specified URL when unable to connect
- -watermarks=image_url|location|link_url
- Will display the image URL in the specified corner (top/bottom/right/left/north/south/east/west). When used in a browser, using a link url will make the watermark clickable.
To specify the accessories in a web page, use the 'attributes' applet parameter:
- <param name="accessories" value="none"/>
- Will not display any accessories
- <param name="accessories" value="default"/>
- Will display the default set of accessories
- <param name="accessories" value="ZoomIn,ZoomOut"/>
- Will display only the specified accessories
- <param name="retries" value="5">
- Will attempt to connect to the server for the specified number of times
Real Examples
Just a couple of examples of streaming webcam URLs [they will not work in all browsers, but will in Cambozola - just right-click on the image, select copy image location, and use that as the Cambozola URL]:
Webcam software
If you want to stream from your own server, you'll need to use some
streaming webcam software, some Linux-friendly package are:
Users of Cambozola
Older Versions
Version 0.50 as a .tar.gz file or a .zip file.
Version 0.34 as a .tar.gz file or a .zip file.
Version 0.25 as a .tar.gz file or a .zip file.