Comparison: CHDKPTP vs Canon's RemoteCapture - page 10 - RAW Shooting and Processing - CHDK Forum

Comparison: CHDKPTP vs Canon's RemoteCapture

  • 129 Replies
  • 45942 Views
*

Offline SticK

  • *****
  • 779
Re: Comparison: CHDKPTP vs Canon's RemoteCapture
« Reply #90 on: 27 / August / 2012, 23:32:00 »
Advertisements
Thank you // first performance comparison hopefully tomorrow, without my silly typos I hope.

*

Offline SticK

  • *****
  • 779
Re: Comparison: CHDKPTP vs Canon's RemoteCapture
« Reply #91 on: 28 / August / 2012, 22:35:04 »
This is for your community.  I have camera in M mode and testing client GUI controls. 

1) With UI overlay ON on startup, the UI is responsive in the liveview.  For example, WHEEL L and R operate Tv and I see it.  However, after I press SHOOT the Canon UI disappears but the CHDK UI remains up and  functional, eg. clock is ticking.  Unchecking/checking UI overlay does not bring the Canon UI back.  Pressing SHOOT HALF does bring back the Canon UI and I can proceed to set the Tv.

2) Your GUI is missing the "+/-" and "face" buttons.  To be able to set focus on Av so that WHEEL can change it, the "+/-" has to be pressed first.  That is, "+/-" toggles between Tv and Av.

*

Offline reyalp

  • ******
  • 14126
Re: Comparison: CHDKPTP vs Canon's RemoteCapture
« Reply #92 on: 28 / August / 2012, 23:12:32 »
1) With UI overlay ON on startup, the UI is responsive in the liveview.  For example, WHEEL L and R operate Tv and I see it.  However, after I press SHOOT the Canon UI disappears but the CHDK UI remains up and  functional, eg. clock is ticking.  Unchecking/checking UI overlay does not bring the Canon UI back.  Pressing SHOOT HALF does bring back the Canon UI and I can proceed to set the Tv.
This is probably because vid_get_bitmap_active_buffer is not implemented yet in the sx110 port. I'll look into adding it.

Quote
2) Your GUI is missing the "+/-" and "face" buttons.  To be able to set focus on Av so that WHEEL can change it, the "+/-" has to be pressed first.  That is, "+/-" toggles between Tv and Av.
Based on the picture here http://chdk.wikia.com/wiki/SX110, I'd guess +/- is erase, which has a button in the gui.

If you need to send face, you can probably use click('face') in lua.
Don't forget what the H stands for.

*

Offline SticK

  • *****
  • 779
Re: Comparison: CHDKPTP vs Canon's RemoteCapture
« Reply #93 on: 28 / August / 2012, 23:18:47 »
Yes "erase" functions as "+/-".

*

Offline reyalp

  • ******
  • 14126
Re: Comparison: CHDKPTP vs Canon's RemoteCapture
« Reply #94 on: 28 / August / 2012, 23:49:26 »
Here's a test build with vid_get_bitmap_active_buffer implemented.

I notice this port also doesn't have the palette functions. Do the colors in the UI overlay match what appears on the camera fairly well ?
Don't forget what the H stands for.

*

Offline SticK

  • *****
  • 779
Re: Comparison: CHDKPTP vs Canon's RemoteCapture
« Reply #95 on: 29 / August / 2012, 00:56:45 »
Thanks .. I will check it out tomorrow as it's 1am here and I'm getting sleepy.

Quote "Do the colors in the UI overlay match what appears on the camera fairly well ?"

In fact not ... palette problem yes ...  I was to bring this to your attention, but it was not on my high priority list.  If you'd like a dump let me know and I will send one tomorrow morning.

*

Offline SticK

  • *****
  • 779
Re: Comparison: CHDKPTP vs Canon's RemoteCapture
« Reply #96 on: 29 / August / 2012, 01:05:33 »
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. 




*

Offline SticK

  • *****
  • 779
Re: Comparison: CHDKPTP vs Canon's RemoteCapture
« Reply #97 on: 29 / August / 2012, 01:06:52 »
WEAKNESS

There is one area where CHDKPTP is weak compared to RemoteCapture and could use some consideration from the CHDK team.  The rationale is that when I am remote, my prime objective is shoot-and-view immediately on PC, without concerning myself with.  RemoteCapture does that automatically by transferring the photo to the PC after shoot without saving to SD as explained above.  At present CHDKPTP saves the files to SD.  A single shot can exceed 20 MB, requiring several seconds for the save to SD.  I have to open Files tab, copy the file to PC, and then erase it from SD, doubling or even tripling the time for the transfer and wearing out the SD card.  Most important, the immediate transfer RemoteCapture has helps keep my focus on the imaging task rather than being distracted to do file handling.  I thus propose a file transfer mechanism and naming convention that is like to RemoteCapture, where CHDKPTP+CHDK handle moving file data directly from the camera to the PC, and CHDKPTP looks at the last file in the destination directory, for example Capture_00034.DNG and saves the new one as Capture_00035.DNG.  Useful is that RemoteCapture has an Options tab that allows me to:
   a) set the target directory,
   b) give a file prefix such as "My_Capture_NNNNN, and
   c) give an arbitrary starting number for the first file saved.

*

Offline reyalp

  • ******
  • 14126
Re: Comparison: CHDKPTP vs Canon's RemoteCapture
« Reply #98 on: 29 / August / 2012, 01:08:43 »
In fact not ... palette problem yes ...  I was to bring this to your attention, but it was not on my high priority list.  If you'd like a dump let me know and I will send one tomorrow morning.
No, the palette isn't defined, so there's would be no palette in the dump. In this case, chdkptp uses a hard coded copy of the a540 palette.

I'll look into finding that.

edit:
Regarding the weakness above:
You can script downloading and deleting in chdkptp lua, just like all the other functions. However, there isn't currently a really convenient way to get the most recently shot image. There are ways to do it, for example, You could list all the files in the DCIM/NNNCANON directory and download the last one. If you delete after each download, then it will always be the only file in the list. Adding a more convenient way is on my todo list.

As I mentioned earlier, srsa_4c is working on capturing direct over USB. There is no ETA, but for raw/dng at least it should be supported at some point.

edit:
Attached a build with the palette set. It also includes the change in the previous build. The colors may be wrong, but if you make a dump it should give me something to work with.
« Last Edit: 29 / August / 2012, 02:06:32 by reyalp »
Don't forget what the H stands for.

*

Offline SticK

  • *****
  • 779
Re: Comparison: CHDKPTP vs Canon's RemoteCapture
« Reply #99 on: 29 / August / 2012, 09:38:28 »
Oops!  I hadn't realized that the pen fell out of my hand half way through ... so for completeness:

COMPARISON #1 - revisited -  2/3 down:

CHDKPTP:  The actions I have to perform are:
  a) Enable UI overlay if not enabled,
  b) Get focus on the Tv parameter if not enabled using the CHDKPTP camera navigation buttons,
  c) Use WHEEL L and R to set the new Tv,
  d) Get focus on the ISO parameter (for SX110 it's the UP button),
  e) Use WHEEL L and R to set the new ISO
  f) Press SHOOT

Comments:  Dropdown in RemoteCapture is direct access and is fast when changing Tv by a large amount.  To change Tv by a large amount in CHDKPTP requires a click of the WHEEL buttons for every Tv value.  Overall, manual setting up the shot takes longer in CHDKPTP than in RemoteCapture.

WEAKNESS - revisited - 2nd sentence:

... without concerning myself with file transfer operations.

 

Related Topics


SimplePortal © 2008-2014, SimplePortal