Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Camera support #2

Open
homerjam opened this issue Jun 26, 2023 · 7 comments
Open

Camera support #2

homerjam opened this issue Jun 26, 2023 · 7 comments

Comments

@homerjam
Copy link

Hello!

This project looks great! Do you have any plans to support Sony/Canon/Nikon cameras in future, or do you know of any blockers for this?

Thanks : )

@baku89
Copy link
Owner

baku89 commented Oct 6, 2023

Sorry for replying so late.

Of course, I'd like to support all of the major products as much as libgphoto2 does, but it takes lots of effort to fill the gap between the vendor-specific extensions for the PTP standard, and it's kind of difficult to be done by only myself.

If you have any specific camera that you want the library to support, please let me know just in case, and I'll perhaps implement the vendor-specific implementation for that when I have enough time.

And I'd appreciate it if you'd consider supporting my project by committing to the library or becoming my GitHub Sponsors.

@Adesin-fr
Copy link

Hi

Just found this project, and I'm very interrested !

Do "standard PTP" commands allows to retrieve pictures stored in the camera ?
So, if the user takes a picture from the camera, it can then be retrieved directly in the browser ?

@savikko
Copy link

savikko commented Jun 18, 2024

If you have any specific camera that you want the library to support, please let me know just in case, and I'll perhaps implement the vendor-specific implementation for that when I have enough time.

We would love to see Canon EOS cameras (5D, 7D, 600D etc) supported. If I have understood correctly, they all have similar (identical?) PTP protocol implementation. We would like to take photo and get that photo as image.

And I'd appreciate it if you'd consider supporting my project by committing to the library or becoming my GitHub Sponsors.

To support your project, we just sponsored you. Thanks for all the hard work you have already done.

Also, If you could write out simple instructions how the support should be added (just the basic idea), that would help others to contribute.

@baku89
Copy link
Owner

baku89 commented Jun 27, 2024

@Adesin-fr

Do "standard PTP" commands allows to retrieve pictures stored in the camera ? So, if the user takes a picture from the camera, it can then be retrieved directly in the browser ?

The PTP specification also mentions how to represent “objects” (an arbitrary data structure for representing images and videos) in camera storage and retrieve them from a host device (mostly the browser).

So if the camera precisely complies with the standard, you can download any pictures in the camera by using methods such as [TethrPTPUSB.takePhoto], [TethrPTPUSB.getStorages], and [TethrPTPUSB.getObject]. Unfortunately, most cameras seem to adapt their own protocols, so you might still have to implement some vendor-specific codes anyway.

@baku89
Copy link
Owner

baku89 commented Jun 27, 2024

@savikko

Thank you so much for sponsoring me ;)

Since I've received requests from people in the stop-motion industry for support of Canon cameras, I'll consider them positively. Although I sold my 7D few yrs ago, I'm planning to borrow a camera and implement vendor-specific code sometime this summer.

FYI, here's the guide for supporting new cameras. I hope it'll be useful for you or the developers around you.

https://github.com/baku89/tethr/wiki/Guide-for-supporting-a-new-camera

@baku89
Copy link
Owner

baku89 commented Jun 27, 2024

@savikko

We would love to see Canon EOS cameras (5D, 7D, 600D etc) supported. If I have understood correctly, they all have similar (identical?) PTP protocol implementation. We would like to take photo and get that photo as image.

Also, do you have any requests for the specific model? Though I guess every model from Canon has similar vendor-specific extensions to PTP standards, I just wanted to know which model you want to be supported.

@savikko
Copy link

savikko commented Jun 27, 2024

Also, do you have any requests for the specific model? Though I guess every model from Canon has similar vendor-specific extensions to PTP standards, I just wanted to know which model you want to be supported.

Thanks for the instructions for supporting new camera, I somehow missed the document earlier.
(btw, link is missing first h letter so link is not clickable currently :) )

Anyways, we can use multiple models here, but I now have here on "development lab" the 600D so that would be easiest to support that as a first model (so I can test everything by myself).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants