COMPARISON #1 Canon's RemoteCapture vs CHDKPTP: performance and usability, at the date of this post.
GENERAL OVERVIEW
I begin by extolling the fundamental virtue of CHDKPTP: in addition to support for PowerShot cameras that have RemoteCapture capability, CHDKPTP can enable liveview and PC remote camera operation in cameras that Canon had removed the RemoteCapture feature from, allowing photographers PC control of the most recent PowerShots while enjoying the other benefits the newer cameras offer. To my knowledge, the 9 Mpx SX110 is the last PowerShot camera that supported Canon's RemoteCapture and is being used for comparison here.
This means that the CHDKPTP client (working with on-camera CHDK server) accesses the camera LCD display buffer to do the job. By giving the photographer a live copy of the camera LCD on the PC, Canon icons and CHDK UI information are visible on the PC as it appears on the camera LCD. Canon RemoteCapture cannot do that. Hence this UI feedback gives the user enhanced performance for long distance remote photography.
Canon has two versions of their RemoteCapture application program: RemoteCaptureTask for lower-end PowerShots and RemoteCapture DC higher-end PowerShots. RemoteCaptureTask transfers the shot file from the camera, increments the file number, and saves it to PC updating ZoomBrowser automatically on the PC while RemoteCapture DC moves the shot file from the camera to a user-specified folder without updating ZoomBrowser display. For the DC version the user has to press F5 in ZoomBrowser to show the new photo. Both clients increment and name the new files. The default naming convention is Capture_NNNNN.* Canon does not write any files to the camera SD card during remote operation.
CHDK has one version of CHDKPTP for all cameras. A shot file (or 2 files if RAW is enabled) is saved to the SD card in the camera. Files are named in the same convention as under manual camera usage. Files can be downloaded from the SD card to the PC and then erased using the Files tab in CHDKPTP.
To enable CHDKPTP operation, needed are:
1) CHDK installed on camera,
2) libusb device driver (easy installation, replaces Canon driver),
3) CHDKPTP installed on PC,
4) USB 2.0 + Canon cable (with a "cable bubble" EMI suppressor)
5) Preferably an AC adapter.
At the time of this writing, here is how the two stack up.
RemoteCapture CHDKPTP
Live View Yes Yes
Play View No Yes
UI (ie OSD icons) No Yes *
* Switching UI ON|OFF does not disturb the OSD on the camera LCD. OFF gives the same appearance as RemoteCapture.
The only push-buttons common to both RemoteCapture and CHDKPTP are "Shoot" and "Viewfinder ON|OFF." RemoteCapture replicates other camera settings dropdown-select controls whereas CHDKPTP has buttons that mimic the buttons on the camera. CHDKPTP thus can access most or all of the camera's operations and settings whereas RemoteCapture accesses only the minimum subset required for shooting such as white balance, exposure compensation and A/F lock. However, accessing those settings and operations are easier and faster with RemoteCapture. RemoteCapture controls zoom by a vertical slider. CHDKPTP does not use sliders. The two common controls are MODE selection which are dropdowns in CHDKPTP and RemoteCapture.
PERFORMANCE DIFFERENCES
The tests here were done with camera set to M (MANUAL)
RemoteCapture: The application I am targeting requires changing Tv and ISO for every shot. To achieve this the actions I have to perform are:
a) Turn OFF viewfinder (to increase response)
b) Click ISO dropdown
c) Scroll to select desired ISO
d) Scroll to the desired Tv
e) Click Tv dropdown
f) Click SHOOT
CHDKPTP: The actions I have to perform are:
a)
Comments: Dropdown in RemoteCapture is direct access and is fast when changing Tv by a large amount. To change Tv by a large amount requires a click of the WHEEL buttons for every
RemoteCapture: can save one filetype per shot.
CHDKPTP: can save JPG and/or RAW per shot, naturally with CHDK settings applied to the RAW.
RemoteCapture: No SHOOT-HALF
CHDKPTP: SHOOT-HALF capable button.
RemoteCapture: crisp live image in 320x240
CHDKPTP: crisp live image in 360x270 (clearest image is obtained with ContexIsPlus enabled)
RemoteCapture: EXIF data Tv Av ISO are recorded
CHDKPTP: EXIF data Tv Av are recorded, ISO is not working yet.
PROGRAMMATIC CONTROL
RemoteCapture
RemoteCapture does not have programmatic control. My application requires very fast processing of a) set ISO b) set Tv and c) SHOOT. To simulate programmatic control on RemoteCapture I use a keystroke/mouse macro app that plays a series of recorded user-interface actions by a single call to a macro. Hence I have several dozen macros that I call to shoot the required ISO+Tv conditions on the camera. A macro call is simply what I would do with the keyboard and mouse on RemoteCapture but in fast time-compressed sequence. Both mouse and keyboard have to be used for programming the selections and unfortunately, not all dropdown choices can be selected this way. The worst case response before the camera reacts is approximately 3 seconds.
CHDKPTP
CHDKPTP has programmatic control, directly from the PC. This is done by issuing a lua command or built-in library function to the camera from the CHDKPTP command line. A splendid new function has been added by the CHDK team recently that addresses the setup-and-shoot requirement in one call:
shoot -tv=<v> -sv=<v> -av=<v> (see cli.lua for complete syntax)
-tv=<v> Shutter speed. In standard units (seconds) both decimal and X/Y accepted
-sv=<v> ISO value. In standard units, Canon "real" ISO
-av=<v> Aperture value. In standard units, f number
An example is:
shoot -tv=1/128 -av=5.6 -sv=200
The functionality is complete in that it supports all three basic shooting parameters in a single action. If a parameter is omitted, the currently-set parameter in the camera is used for the shot. If the parameter matches an in-camera Canon parameter, the Canon UI is updated after the shot and the update is immediately visible on the live view. The performance of this function is amazing: pressing the EXECUTE button on CHDKPTP to start the SHOOT operation on the camera is almost instantaneous, as opposed to RemoteCapture which is 3 seconds for the camera to respond.
CHDKPTP's use CHDK's extended Tv range is transparent. For example:
shoot -tv=32 -av=2 -sv=1600
does what one expects.
This performance of setting parameters in a shoot command gives CHDKPTP a "professional feel" and here I would say CHDKPTP+CHDK smokes RemoteCapture.