BDLCAM - Webcam Control Software


If you find BDLCAM useful and would like to make a donation, please click the link. Any donations I receive will be used to enhance the program still further and increase the number of cameras supported.

IMPORTANT: How to get BDLCAM working with Windows 7 (Nov 15th 2009)

On investigation there is a dependency on a Directx9 element that is not inclueded with the Diectx11 that comes with Windows 7. There is information available on the Microsoft site here and the answer for me was to install the DirectX End-User Runtime Web Installer mentioned at the bottom or the article.

Full Setup

(July 2nd 2009)

V3.4.0.73 BETA (1.83Mb)

- Built in streaming video support - Visit test site (Not always online)
- Motion Detection (JPG stills saved on motion)
- Blackout/Privacy Mode - Block video during certain hours
- Joystick Support
- Support for Prolite LED Scrolling Screen
- Added support for PelcoD cameras
- Added support for HACS ESS audio switch
- Option to restart BDLCAM everyday at a set time to keep everything running smoothly
- Option to send macro from local command window


Incremental Updates

(...) None currently available - All updates are included in latest build

Optional Utils

(December 2005) Command line interface - Refer to included readme for instructions

History of Changes

V3.4.0 (February 2007) bdlcam-v340-setup.exe (1.68Mb)

- Fixed a bug with default macro that caused BDLCAM not remember the macro if it was the first macro in the list
- Fixed bug that caused BDLCAM to crash when id00x10b02off was received
- Changes to data-arrival code to redraw htm files when when page exists to left of ? in HTML request
- Added support for Rain8 (currently not documented)
- Initial support for VCC3
- Added error handling to cope with problem identified in 3.3.3 with ws.dataarrival = 0 byte
- Added preset recall support for PTZ4, uses camtyp09.ini file (format of file shown in italics below)
The value is 4 digits for each pan, tilt and zoom and I think the ranges are
pan=0800-2800 (left-right)
tilt=0780-1200 (up-down)
zoom=0660-0054 (nozoom-fullzoom)

V3.3.0 (February 2006)

- First full install since V2.4.1 (Mainly due to work to add video streaming support)
- Changes to template files ready for streaming support (now three files per template)
- Support for M&S USB Missile Launcher
- Added button to re-read list of macros without needing to restart BDLCAM
- Correct link to valid commands on 'Help About' page
- Added seconds since last command to control panel
- Added commands for PT30/PTZ4N (poweron/poweroff , focusa/focusm , focusn/focusf , irisa/irism , iriso/irisc , whitea/whitem , whitei/whiteo)
- PTZ4N Zoom until added
- Added support for parallel port video switcher (still needs more work)
- Changed from to for find WAN address ( kept changing the page to often)

V3.2.0 (November 2005)

-Added an easy setup option ('View Streaming Setup') for some of the popular streaming programs. This removes the need to edit the HTML templates and helps users with items such as establishing their WAN IP address.

For WebcamXP v1.04.790 use webcamxp.apl
For WebcamXP PRO v1.07.080 use webcamxp-2.apl
For Active WebCam from use activewebcam.apl
For Webcam32 use webcam32.ap

-Added 'cmove' command. Format is cmoveddss (where dd is direction: is rt,lt,up,dn or st and optional ss=speed for Sony cameras)
-Added ini file setting of defaultspeed for sony G20/D30/D100. If the defaultspeed entry is missing then 11 is used for D30/D100 and 1E for G20. The documented range of speed is from 01-14 as a hex value for D30/D100.
-Fixed a problem with presets not being saved in Enhanced mode (PTCC related)
-Added basic support for MIC1-300, left,right,up,down and zoom+/- and raw are working
-Added ne, nw, se, sw controls for Sony cameras

V3.0.1 (October 22nd 2004)

Bug fixes

Very minor update to make BDLCAM shutdown cleanly when machine is shutdown.

V3.0.0 (September 17th 2004) - Doesn't really deserve to be V3 but it comes after 2.9 :-)

New Supported Devices

Added support for PT PowerCam 30
Added support for inline video switch
Added support for CM12/11 (ActiveHome communications bridge required)


Now displays the camera version of PTZ2N when using enhanced config
Added support for favicon.ico
Added exit option to right click on system tray
Added inactivity Q (iQ) in addition to standard Q
Any commands added to main Q will clear iQ
On the "macro after" option you can now select whether to add macro to main Q or iQ
Added new inactivity commands isleep, imacro (isleep and imacro are interrupted/cancelled if standard is received)

Bug fixes

Made devices/options screen wider to be able to display longer camera names

V2.9.0 (January 28th 2004)

New Supported Devices

Kramer video switch
iVista VS400 and VS800 video switches


Added the concept of CamTypxx.ini to store camera specific data (This is currently only being used to store preset positions for CLI cameras)
Support for CLI presets
added vsel command in addition to asel to make the command for video switching more generic

Bug fixes

Fixed a problem where virus attacks on Web Server could cause BDLCAM to crash when trying to process the http request (users with BDLCAM set to port 80 would be more likely to have seen this problem)
Changes to 'show log' and 'show settings' options to correct problems when running at 640x480 resolution

V2.8.9 (December 24th 2003)

Added local 'move until release' buttons for local control of all cameras

V2.8.8 (December 19th 2003)

New Supported Devices

Early support for Vicon Surveyor Cameras
Support for CLI Cameras
Support for XBOB ( )


Changed logic so local commands are written to queue to avoid potential conflicts between local and web commands

Removed CPO function but added default camera page. You can now select any page as the default
Created a general.htm template with most functions included.

Added an ini setting of sleepmethod
0 = VB Timer - A variation of the original method. Somewhat of a CPU hog during pause but very stable
1 = API Sleep call - DO NOT USE as it Causes problems with webserver
2 = New Timing method - Low CPU usage and hopefully no side effects (DEFAULT)

Changed screen layout
Moved settings frames to the right and added an options to show/hide the settings and log frames
Replaced arrows with graphics for local controls
Added activeid to localscreen

Added shortcut keys
CTRL+S for Settings
CTRL+L for Log
CTRL+A for Local ASEL control panel
CTRL+X for Local X10 control panel

Added Version of BDLCAM and link to the 'Your IP' comment

Added view localhost option to view menu

Bug fixes

Fixed problem the ActiveidSync setting not being saved in ini
changed default movement size to 060 for PictureTel PTZ2
Corrected near and Far manual focus commands for Canon VCC1

V2.7.4 (November 23rd 2003)

Changes to movement command: Currently the syntax of the movement command is Movexxyy (where xx = direction and yy = size) . Now in addition to numeric values for yy, you can use 'fn' (fine) and 'lg' (large). These are then changed to the values that are configured in the camera local control window. This change is primarily in support of the multi-camera support, where users want a single control panel to be compatible with different camera types.

There is now an option in the setup of the ASEL device to sync activeid with selected input of asel. With this option selected, changing the input of the ASEL will automatically change the activeid. Activeid is (asel input) -1, so 'cmd=asel011' would set activeid to 00, 'cmd=asel021' would set activeid to 01 and so on. For more details on activeid see Advanced Features

V2.7.2 (November 15th 2003)

Added support for Macros and multiple camera support (see Advanced Features for more details)

V2.6.2 (October 29th 2003)

Correctly a problem with BDLCAM not terminating correctly when it was closed with the 'X' on the main form.

V2.5.7 (October 13th 2003)

Added fine controls for local camera control.

V2.5.6 (October 4th 2003)

Added support for an additional Canon VCC1 command which allows for advanced testing (cmd=vcc1xxxxx where xxxxx=hex string to be sent to the camera)

V2.5.5 (September 14th 2003)

Although all of the Canon VCC1 commands are not fully functional yet I have as requested removed the beta
warning when selecting the Canon VCC1. This allows the program to be used without human interaction.

V2.5.4 (September 1st 2003)

Added local control panels for NCD ASEL Video Switcher and X10 Firecracker.
The ASEL control panel contain an option to use the ASEL as 16 x 2 or 8 x 2 stereo switcher.

V2.5.3 (August 31st 2003)

The main screen has started to get a bit crowded and with support for many more devices planned, I
have moved the camera configuration to a single configuration window along with the other devices.

The firecracker can now be used on the same comport as a camera or the the ASEL devices.

V2.5.2 (August 31st 2003)

As requested, added support for ASEL devices to enable 8x1 switching without having to issue two commands
This can now be achieved using the following commands:
16x2 command format is 'aselxxy' (where xx = input 01-16 and y = output 1 or 2)
8x1 command format is 'aselxx' (where xx = input 01-08)

asel011 Would switch input 01 to output 1
asel01 Would switch input 01 to output 1 and input 09 to Output 2)

V2.5.1 (August 30th 2003)

Started to add support for HTML forms with GET method to allow the easy use of dropdowns, eg:

<form name="form1" method="get" action="">
<input type="submit" name="Submit" value="Submit">
<select name="cmd">
<option value="poweroff">Power Off</option>
<option value="poweron">Power On</option>
<option value="x10a02on" selected>Living Room Light On</option>
<option value="x10a02off">Living Room Light Off</option>

V2.5.0 (August 29th 2003)

Added support for NCD Video Switch.
Remember a list of all the supported commands is available under the 'help about' screen
Also remember the blocked.txt file is available if you want to restrict use

V2.4.1 (August 24th 2003)

Added support for X10 FireCracker device. Now you can control your X10 devices with BDLCAM
Remember a list of all the supported commands is available under the 'help about' screen
Also remember the blocked.txt file is available if you want to restrict the use of the X10 control

V2.3.2 (August 23rd 2003)

Several internal debugging options added to track down a problem that can cause the BDLCAM program
to crash after extended periods of time (or sometimes when commands are issued very quickly).

Two potential causes of the problem have been identified and fixed. I am unable to reproduce the
problem, so we will have to wait and see whether the problem is in fact solved

V2.3.1 (August 22nd 2003)

Corrected problem in logfile code where the same request was being added to the logfile twice

V2.3.0 (August 22nd 2003)

Added beta support for the Canon VCC1 camera

V2.2.1 (August 16th 2003)

Added support for the Sony EVI-D30 Auto Tracking commands
Added support for the Sony EVI-D100 Effects commands
Remember a list of all the supported commands by camera type is available under the 'help about' screen
Also note you can restrict groups of commands with the blocked.txt file. As an example placing 'effect'
in the blocked.txt file would block all the effect commands

V2.2.0 (August 15th 2003)

You now have the ability to restrict commands from general users
This is achieved by placing the commands in a blocked.txt file in the same folder as the bdlcam.exe

Added an admin facility
This is a password protected folder /camadmin/ which allows you to add any html files you want
protected. In addition you are able to use any commands that you may have restricted general viewers
from accessing

V2.1.7 (August 10th 2003)

Added support to call the commands with http://x.x.x.x/cmd=... in addition to the
previous http://x.x.x.x/panacmd.asp?cmd=.. All future templates will use the new
calls but BDLCAM will continue to support the panacmd format to ensure backwards

BDLCAM now support files >4Mb when used as a webserver.

V2.1.6 (August 10th 2003)

Additional support for the EVI-D100 advanced command set (thanks Joe for the help with testing)
A list of all the supported commands by camera type is now available under the help about screen
System tray feature is working with no reported problems
Support for Sony daisy chain addressing
Correct a problem with support for PictureTel cameras which effected the defaults for normal and fine movements.

V2.1.1 (August 4th 2003)

Started to add support for Canon VCC1 (I am waiting on a camera to really get going with this)

Correct a problem with support for PictureTel cameras and the defaults for normal and fine movements.
-Normal now defaults to a movement size of 015, I have updated the templates to make the fine movement to be 05.
(If a manual movement size is passed it can be 2 or 3 digits, for 2 digit a leading 0 will be added)

Program by: Brian Langley (2003)