ptp versus mtp image file transfer

General Discussion about digiCamControl and related photography techniques.
Post Reply
niman
Posts: 2
Joined: Wed Aug 23, 2017 1:34 pm

ptp versus mtp image file transfer

Post by niman » Wed Aug 23, 2017 1:54 pm

Hi Duka - this is primarily a question about image transfer from multiple Canon point&shoot cameras that you may, perhaps, be able to usefully increase my understanding about.

So,
I think i'm pretty sure that you use the standard Canon/Nikon DSLR drivers which has ptp built in and then implement a customised set of the standard ptp command set that Canon / Nikon provide to implement digicamcontrol - is that correct?

If that is incorrect - do you actually use the MTP protocol for image transfer from camera to PC?

In any case:
with standard Canon (point&shoot) driver installed on a single PC do you have any idea (for a large number of point&shoot Canon cameras connected to that PC) if / how it could be possible to automate the image transfer from all cameras to the PC under MTP?

Would appreciate any comment.

ptp versus mtp image file transfer

Advertisment
 

Duka Istvan
Posts: 684
Joined: Sat Oct 03, 2015 7:57 pm

Re: ptp versus mtp image file transfer

Post by Duka Istvan » Wed Aug 23, 2017 6:30 pm

Hi, for non DSLR canon cameras i use the standard wia driver, because canon don't provide any sdk or documentation about how this cameras communicate with a pc.
The ptp and the mtp protocols are very similar, why is mater for which one is used ?

niman
Posts: 2
Joined: Wed Aug 23, 2017 1:34 pm

Re: ptp versus mtp image file transfer

Post by niman » Thu Aug 24, 2017 11:48 am

Thanks Duka.

Apologies, I couldn't get url's to be accepted in the post here so had to strip them to bare text.
Duka Istvan wrote: Wed Aug 23, 2017 6:30 pm The ptp and the mtp protocols are very similar, why is mater for which one is used ?
A brief overview:

The Canon Hack Development Kit (chdk.wikia.com/wiki/CHDK) for point&shoot cameras implements (amongst a lot of extra functionality) a synchronised multicamera shooting method. Very briefly described, the camera shooting process is stopped just prior to the start of exposure until a hardware change from 5V to 0V is monitored on the USB 5 Volt power line.

CHDK also has a number of ptp clients all of which require the libusb driver (rather than the Canon supplied / WIA compliant driver) for their implementation.

The most powerful of these ptp clients is called chdkptp (app.assembla.com/spaces/chdkptp/wiki) created by another superb developer with username "reyalp"

chdkptp, over usb, has extensive tether capability including image download. It also has multicamera support via it's "multicam.lua"module. Interestingly, that supports synchronised shooting, to within a small number of tens of millisecs, via a ptp method which, in a calibration routine, measures and records the difference between the PC System time and the tick counter on each camera. This information is used in subsequent future shots to send an appropriately calculated future tick time, to each camera, in order that all cameras shoot at a synchronised tick [you may be interested to look at the code in case it could be of interest for digicamcontrol ;)].

With a suitably modified usb cable it is also possible to use the D+/D- of the usb cable for normal tether operations while taking advantage of synchronised shooting via a change from 5V to 0V on the usb 5 volt power line as previously derscribed.

Phew 8-)

Anyway,
I have a large number of compact canons and am currently facing some instability with the use of chdkptp (particularly for image download) and while investigating those am also considering other potential options.

Having uninstalled the libusb drivers for a couple of my cameras (i.e reverting to the normal Canon provided WIA enabled drivers) these two cameras now appear as portable devices in Windows (via MTP). If I now open two windows to view the 2 portable devices beside one another I can drill down to their relevant image directories but cannot then simultaneously (by use of the keyboard "Ctrl" key) select an image from both devices to copy to the Win7 Pro 64 bit PC.

While the unique serial number of each camera is available via Windows Portable Device property "WPD_DEVICE_SERIAL_NUMBER" (msdn.microsoft.com/en-us/library/windows/desktop/dd319322%28v=vs.85%29.aspx) developers using the Windows Portable Device Application Programming Interface (msdn.microsoft.com/en-us/library/dd389005(v=vs.85).aspx) have difficulty enabling simultaneous download from multiple devices as not all flavours of portable devices have serial numbers associated with them.

The developer of "multicommander" (multicommander.com/), Mathias, has described the challenge here forum.multicommander.com/forum/index.php/topic,2050.msg7881.html#msg7881 :
I know.. But the problem is that not all portable devices report a serial number. (and some fake it by returning same for all of them)
But there are other way. but it must also map into the virtual file system
.
Other similar software to multicommander I have reviewed also face the same challenge.

I hope my description is fairly clear but please let me know if I have confused you.

Have you come across (or understand) any method whereby, using the normal Canon WIA enabled drivers (for compacts), I might be able to reliably and simultaneously download images from multiple connected cameras, via the MTP protocol that the Canon WIA enabled drivers use?

While I understand this is probably a long shot, i'd appreciate any of your further comment.

Post Reply