WebcamSat and Satcam - Frequently Asked Questions


Last Updated - 4 April 2005 17:59:15 gmt

This document contains the most frequently asked questions (FAQs) on WebcamSat and Satcam products.  If you don't find an answer to your question, consider searching or asking on our live Bulletin Board - WebcamSat & Satcam

Most Asked Questions ...



Most Asked Questions -

Q: What's the difference between WebcamSat and Satcam ?

A: WebcamSat is Java-based server software that manages a collection of webcams. Satcam is Windows or Mac-based webcam software that captures images from a camera and sends them to WebcamSat. Note: WebcamSat and Satcam can both run on the same machine.

Q: What are the sytem requirements for running WebcamSat ?

A: WebcamSat will run on any system that supports Java 1.4.1 or later, including Microsoft Windows, Mac OS-X, and Linux. You can download Java from http://java.sun.com.

You should have 50-100kbps of bandwidth available for each live camera feed viewer, and approximately 500k bytes of memory for each camera feed. WebcamSat does not use a lot of CPU power, so pretty much any modern processor should be adequate.

Q: What are the system requirements for running Satcam ?

A: The Windows version of Satcam uses Microsoft's "DirectShow" capture architecture, so you'll need a system that supports Microsoft DirectX version 8.1 or later. A reasonably fast processor - 400MHz or faster Pentium is recommended. The Mac OS-X version of Satcam uses Java and Quicktime. We don't yet have minimum system recommendations for the Mac.

Q: Does WebcamSat support Webcam32 ?

A: Yes - In WebcamSat Version 2.0, support for Webcam32 as well as IP-addressable network cameras has been added. Note that Satcam may still be a better solution for the camera interface, as

  • Webcam32 does not support DirectShow capture devices
  • Webcam32 does not support GSM or MP3 audio
  • Webcam32 works well for client pull, but not for server push. Satcam is totally based on server push, so it works well with firewalls and routers as well as dynamic IP's, and also has an "on demand" feature so it only sends images when a viewer has requested them through WebcamSat

    Q: Every time I start Satcam, a login dialog appears. Is there a way to make the login automatic, since I'm always connecting Satcam to the same server ?

    A: Yes - since Satcam version 1.1, there's a file called scriptURL.txt in the main Satcam directory. Edit this file to include your server IP, port, feed ID and password, and the login will be automatic when you launch Satcam.

    Note - Satcam's handling of this case is ambiguous. If scriptURL.txt contains a complete URL (without substitution values) this URL will be used without regard to the user's input in Satcam's dialog. In other words, clicking 'Connect' will cause your hard coded URL to be used. Anything entered in the text fields will be ignored. We plan to make this less confusing in a future release.

    An alternate approach is to create a batch file or shortcut containing a reference to satcam-d.exe with your URL as its sole command line parameter, ie:

    > satcam-d.exe http://123.123.123.123:8888/cgi-bin/wcs/get_script.cgi?id=1&pass=xxxx

    Q: What is the maximum pixel resolution supported by Satcam ?

    A: We've tested Satcam with resolutions beyond 640x480 including a variety of DV cameras.

    Q: In Satcam, how can I change my camera settings such as brightness, resolution, etc, or select a different capture device ?

    A: Once Satcam is running, look for the Satcam icon in the system tray. Right click on this icon, and you'll find a menu of camera features, including camera source selection, camera settings, camera capture resolution, and a preview window.

    Q: Satcam dies just after it starts. How do I figure out what is going on ?

    A: Currently, the best tool for tracking down Satcam issues is a debug monitor called "DebugView". You can download it from here. Eventually, we'll build error message logging into Satcam, but this tool does a nice job of logging.

    Q: What does WebcamSat use for a database, and how can I access that database from another program ?

    A: WebcamSat has a full SQL database built in called Hypersonic SQL. This database can be externally accessed - a sample Java program called WstreamdDBSample.java is included with the WebcamSat distribution. It's now also possible to direct WebcamSat to access an external database.

    Q: How can I change the frame rate, resolution, or image quality of a feed ?

    A: Satcam is completely controlled by scripts that it downloads from WebcamSat upon login. You'll find tha actual scripts in script_templates subdirectory of your main WebcamSat installation. Take a look, for example, at the "video.wcs" script. Capture frame rate is set by "frequency =", image quality is set by "quality =" in the jpegenc filter definition, and image resolution is set in the videoscale filter definition. For more information on the Satcam modules and their parameters, see modules.html

    Q: What are viewer accounts on WebcamSat ?

    A: On each camera feed, the WebcamSat administrator can specify access permissions for viewers. If a camera is set to allow "ALL" to view it, there are no access limitations. However, if the administrator creates a set of user accounts, and then defines which user accounts have access to which cameras, user name/password will be checked when viewers attempt to access the protected camera feeds.

    Q: Does WebcamSat / Satcam support motion detection ?

    A: Yes - we currently have a test version of a motion detection filter for Satcam called motiondetect.mdc. Details can be found here.

    Q: Can WebcamSat actively manage bandwidth usage ?

    A: Yes - as of Satcam Version 1.1a, we added a feature called "on demand". Satcam checks with WebcamSat every few seconds to see if anyone wants to view its stream, and only sends video if there is an active viewer.

    Q: How can I archive WebcamSat feeds ?

    A: WebcamSat Version 2.0 has archiving support built in, where capture is scheduled and saved to an AVI file. You can capture and archive individual frames from any feed - the syntax in Linux is:
    shell_exec("wget --ignore-length -O /var/wcs/folder1/frame.jpg http://www.blah.com:8888/1.jpeg?frames=1");
    where "1.jpeg" is the feed id in this example.

    In addition, with WebcamSat Version 2.0, we've added an archiving module to automate this process.

    Q: Can the server resize frames for capture ?

    A: Yes - like the example above for single frame capture, you use the same syntax with addition of width and height values:
    shell_exec("wget --ignore-length -O /var/wcs/folder1/frame.jpg http://www.blah.com:8888/1.jpeg?frames=1&width=xxx&height=yyy");

    Q: Under Linux, why is the CPU load of WebcamSat so high ?

    A: The problem is an implementation issue with the Sun's Java for Linux. The Sun Java VM process appears to be using a lot of CPU because of the way it is polling the sockets for data, but the Java process should be yielding to other processes on the system. The CPU load seems to be the same whether it's 1 stream or 100.

    However, there is a solution ! There are several alternatives to Sun's implementation of Java on Linux, including optimized open source Java Virtual Machines as well as IBM JRE's, which comes with RH Advance Server. The specific one that's been most recommended is called "Blackdown", and can be downloaded from: http://www.blackdown.org/java-linux/mirrors.html

    You'll need to download Blackdown version 1.4.1_01 of either j2re or j2sdk (j2re is probably all you need, unless you have a need to compile things)