Skip to content

Java-library implementing the Picture Transfer Protocol (PTP) and its IP transport mode (PTPIP).

License

Notifications You must be signed in to change notification settings

Fimagena/libptp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 

Repository files navigation

libptp

Java library, implementing most of the Picture Transfer Protocol (PTP - used by many cameras and smartphones to transfer photos) and its IP transport mode (PTPIP). This library is licensed under the LGPL 2.1.

It is written to the PTP-spec and tested mostly with Sony cameras (with which it works flawlessly), but it should work with any PTP-compatible device.

The underlying PTP-transport layer is abstracted through the PtpTransport class but only PTPIP (e.g., for cameras' wifi connections) is implemented. Specifically, USB is currently not implemented.

All PTP-data types are implemented but not all PTP-operations are supported, focus is on listing and downloading files. Implementing some of the missing operations might be trivial - or not. Overview:

  • PTP-ops supported: GetDeviceInfo, OpenSession, CloseSession, GetStorageIDs, GetStorageInfo, GetNumObjects, GetObjectHandles, GetObjectInfo, GetObject, GetThumb, InitiateCapture
  • PTP-ops not supported: DeleteObject, SendObjectInfo, SendObject, FormatStore, ResetDevice, SelfTest, SetObjectProtection, PowerDown, GetDevicePropDesc, GetDevicePropValue, SetDevicePropValue, ResetDevicePropValue, TerminateOpenCapture, MoveObject, CopyObject, GetPartialObject, InitiateOpenCapture

The library is not well documented but the PtpTester-class gives an example on how to use most implemented functions.

Copyright (C) 2017 Fimagena (fimagena at gmail dot com)

About

Java-library implementing the Picture Transfer Protocol (PTP) and its IP transport mode (PTPIP).

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages