alternative Software-Lösung für EOS-Kameras

Begonnen von MiR, Oktober 03, 2022, 21:20:23 NACHMITTAGS

Vorheriges Thema - Nächstes Thema

MiR

Hallo Freunde der Canon-Kameras,

neben der Möglichkeit mit EOS-Utility zu arbeiten, hält Canon auch noch das "Canon EOS Digital SDK" (Software-Development-Kit) parat.  Welche Kamera-Modelle unterstützt werden, siehe hier:
https://developers.canon-europe.com/developers/s/article/Latest-EOS-SDK-Version-13-x

Was kann man damit anstellen:
deutsche Version -> https://www.canon.de/pro/stories/eos-digital-sdk-explained/
Version in Englisch -> https://www.canon-europe.com/business/imaging-solutions/sdk/

Also wer mehr möchte, und vor allen Dingen sein eigenes Programm, ist mit dem SDK gut beraten.  (Nochmal) ein kurzer Auszug aus dem knapp 200-seitigen Begleitdokument zum SDK:

"1. Introduction
.... EDSDK provides the functions required to control cameras connected to a host PC, digital images created in digital cameras, and images downloaded to the PC. This document describes the collection of functions implemented in the EDSDK library.
EDSDK provides an interface for accessing image data shot using a Canon digital camera. Using EDSDK allows users to implement the following types of representative functions in software.
・ Allows transfer of images in a camera to storage media on a host PC.
・ Allows remotely connected cameras and the image being shot to be controlled from a host PC.
1.1 Basic Topics
EDSDK provides a C language interface for accessing Canon digital cameras and data created these cameras. EDSDK is designed to provide standard methods of accessing different camera models and their data. Using EDSDK allows users to implement Canon digital camera features in software.
There are two versions of EDSDK. One runs under a Windows environment, while the other runs under a Macintosh environment."
- Zitatende -  Quelle: EDSDK_API_EN.pdf, Seite 11

Allerdings steht ein wenig Arbeit an, um an das SDK zu gelangen. Man kann es nicht einfach herunterladen, sondern es ist eine Registrierung notwendig sowie einige Angaben, wie z.B., was man damit anfangen möchte ... Das wird dann geprüft (jedenfalls wird dies behauptet) und man erhält dann das Ergebnis der Prüfung. In meinem Fall nach 3 Tagen und mit positiver Bilanz  :D :)

Viele Grüße aus Berlin
Michael

MiR

Hallo Adi,

freut mich, wenn mein Beitrag auf Interesse stößt.  Hinsichtlich der Firmware kannst du ja mal bei Canon anfragen ... ;)

Viele Grüße aus Berlin
Michael

Aljoscha

Hallo,

Ein SDK als "alternative Software-Lösung" zu einer Anwendung wie den EOS-Utilities zu bezeichnen, setzt schon eine sehr spezielle Perspektive voraus. Das ist etwa so, als würde man Visual C++ eine alternative Software-Lösung zu Winword nennen. Schließlich kann man mit C++ ja selbst eine Textverarbeitung programmieren. Die Fräßmaschine wäre entsprechend eine alternative Lösung zum Mikroskop. Kann man sich ja selbst bauen.  8)

Ein Firmware-SDK gab es von Canon für die früheren Prozessoren bis zum Digic 5. Das sind die Kamera-Generationen bis zur 6D oder 60 D. Genau für diese Kameras gibt es auch Magic Latern, für modernere Kameras nicht. Wird es nie geben, auch wenn viele die Realität immer noch nicht sehen wollen. Ohne SDK reissen die ML-Leute nichts. Das Projekt ist tot.

Viele Grüße

Alexander

MiR

#3
Hallo,

ZitatEin SDK als "alternative Software-Lösung" zu einer Anwendung wie den EOS-Utilities zu bezeichnen, setzt schon eine sehr spezielle Perspektive voraus.
Das setzt in der Tat ,,schon eine sehr spezielle Perspektive voraus", zu behaupten, ich würde das ,,SDK als "alternative Software-Lösung" zu einer Anwendung wie den EOS-Utilities ..." bezeichnen.
Die Überschrift lautet: ,,alternative Software-Lösung für EOS-Kameras"  und nicht -alternative Software für die EOS-Utilities-, oder Ähnliches.
ZitatDas ist etwa so, als würde man Visual C++ eine alternative Software-Lösung zu Winword nennen. Schließlich kann man mit C++ ja selbst eine Textverarbeitung programmieren.
Die Fräßmaschine wäre entsprechend eine alternative Lösung zum Mikroskop. Kann man sich ja selbst bauen.  8)
Diese Vergleiche sollen cool sein? Wirklich ?? Insbesondere Ihr Fräßmaschine/Mikroskop-Beispiel scheint eher daneben ...
ZitatWird es nie geben, auch wenn viele die Realität immer noch nicht sehen wollen. Ohne SDK reissen die ML-Leute nichts. Das Projekt ist tot.
? ? ? ? ?

Viele Grüße
Michael

Aljoscha

Zitat von: MiR in Oktober 09, 2022, 21:09:58 NACHMITTAGS

ZitatWird es nie geben, auch wenn viele die Realität immer noch nicht sehen wollen. Ohne SDK reissen die ML-Leute nichts. Das Projekt ist tot.
? ? ? ? ?


Hallo,

Schon einmal darüber nachgedacht, warum es für keine einzige Kamera, die nach 2013 erschien, eine lauffähige Version von Magic Latern gibt? Die Version für die 70D kommt seit 9 Jahren nicht über das Ankündigungsstadium hinaus. Für alles danach gibt es nicht einmal Ankündigungen.

Das Projekt ist tot.

Viele Grüße

Alexander

MiR

Hallo,

ZitatSchon einmal darüber nachgedacht, warum es für keine einzige Kamera, die nach 2013 erschien, eine lauffähige Version von Magic Latern gibt?
Nein, weil es im Beitrag um das EOS Digital SDK geht und nicht um die Firmware von Kameras (oder was auch immer) zu ändern.

Viele Grüße
Michael


Florian D.

Hallo,

Entangle hat ganz gut funktioniert,
https://entangle-photo.org/
zumindest zuletzt mit einer Canon 600D.

Viele Grüsse
Florian

MiR

#7
Erste Erfahrungen mit dem  Canon EOS Digital SDK , Version 13.14.40

Für wen ist dieser Bericht gedacht ? 
Nutzer welche  a)   programmieren möchten oder zukünftig dies tun wollen   oder b)   einfach mal nur die Beispielprogramme des SDK testen möchten.

Grundlegende Bemerkungen zum SDK

Wie ein Blick in die Download-Liste von Canon zeigt, wird dieses Kit laufend erweitert. Grundlegend basiert das Kit auf zwei nativen DLL's, - ,,EDSDK.dll" und ,,EdsImage.dll"-,  für 32Bit und auch für 64Bit-Windows. Wie bereits in meinem Eingangsbeitrag erwähnt, gibt es auch eine Version für den Macintosh. Android-Geräte werden ebenfalls unterstützt.
Als Betriebssystemversionen werden Windows 8, 8.1 und 10 (32/64 Bit) vorausgesetzt. Bei mir läuft das SDK unter Windows 7, Prof., 32 Bit.
Obwohl die Dateinamen der SDK-DLLs und der EOS-Utils, als auch die Namen der Funktionen (überprüft mit dem Dependency Walker) identisch sind, lassen sich die SDK-Beispiele nur mit den SDK-DLL's betreiben. Möglicherweise gibt es neuere ,,Utilities"-Versionen die kompatibel sind. 

Programmier-Umgebung

Die im Paket enthaltenen Beispiele wurden einmal in CSharp, Visual Basic und Visual C++ verfasst. Da das VB-Beispiel kürzer ist, als das VC-Beispiel, kann man sich daran schneller einen Überblick (Programmierung) verschaffen.
Zur Ausführung bzw. Kompilierung der Beispiele wird Microsoft's Visual Studio benötigt, womit ich nicht sagen will, dass das SDK generell nur unter MVS zu betreiben ist. Für die nativen DLL's  wäre auch eine Anpassung der Funktionsdefinitionen (Typen usw.) für andere Programmierumgebungen gut vorstellbar.

Da ich ,,nur" die Express-Version 2010 installiert hatte, habe ich die ersten Versuche damit durchgeführt. Das VB-Beispiel konnte, nach automatischer Anpassung, ohne Probleme kompiliert werden. Debugging, nach Verweis auf die DLL's, war ebenfalls möglich.
Das VC-Beispiel bemängelte das ,,falsche" Tool(frame)set. Es gibt zwar die Möglichkeit dieses zusätzlich zu installieren, aber keine Garantie dass damit das Problem gelöst ist.
Da ich überhaupt kein Experte bin, was das MSVS anbelangt, wurde deshalb ,,Microsoft Visual Studio Community 2017" installiert (Beispiele sind mit dieser Hauptversion erstellt), was natürlich ziemlich viel Geduld erfordert.
Nach Laden des VC-Projekts, wurden fehlende Systemdateien durch den Installer automatisch nachgeladen. So stand einer erfolgreichen Kompilierung bzw. ein Start im Debug-Modus nichts mehr im Weg.

Das VB und VC-Beispiel

Zum Test wurde die Kamera EOS 1200D benutzt. Während sich das VB-Beispiel auf den ,,linken Teil des VC-Beispiels" also von ,,AEMode – ImageQuality" + ,,Take Picture" beschränkt, erlaubt das VC-Beispiel (rechte Seite im Foto) einige Versuche mit dem elektronischen Sucher ,,EVF", sowie bei Objektivbetrieb, die Fokussteuerung per PC. 

Folgend, sollten eigentlich die kompilierten Dateien der Beispiele zu finden sein. Da das System nur Dateiendungen für Bilder akzeptiert, könnte ich die "Sample.exe" in "Sample.jpg" umbenennen, was eben vom System akzeptiert wurde ... Ich habe diese Datei trotzdem vorläufig wieder gelöscht ... Es gibt jetzt eine Sample.pdf !!

Grüße aus Berlin
Michael

PS: Es gibt einige Seiten welche sich mit dem SDK beschäftigen (Beispiel für Android: https://dev.epicgames.com/docs/game-services/platforms/android).

MiR

Hallo Adi,

ja, funktioniert, siehe Bericht  ;)
Die kompilierten Dateien könnte ich hochladen, so wie beschrieben, getrau mich aber nicht ...

Viele Grüße aus Berlin
Michael

MiR

Hallo Adi,

möglicherweise schreiben wir aneinander vorbei, was genau meinst du mit  "Klappt es auch mit Visual Studio Code ?". Ich dachte, du meinst die mitgelieferten Beispiele ...

VG Michael

MiR

Hallo Adi,

aaah, langsam kommen wir auf einen grünen Zweig. Ganz schöne Falle mit der "Visual Studio Code"- Programmierumgebung und einem "Visual Studio"- Code ... :)  Auch wenn deine Formulierung (eigentlich) eindeutig war, aber leicht zu überlesen resp. schwer zu deuten.
Danke für den Hinweis, kannte ich bisher überhaupt nicht, läuft aber bei mir (Win7, Prof. , 32Bit) nicht. Laut MS, sollen wohl nur die Namen eine gewisse Übereinstimmung haben, das war es dann aber auch schon. Da ich es nicht testen kann, bleibt mir nur die Frage zu stellen, ob native DLL's in "Visual Studio Code" eingebunden werden können ...
Um kostenfrei zu bleiben, benutzt ich halt nur die Express- bzw. die Community-Versionen. Und solange man mit der Community-Version keine kommerziellen Anwendungen stricken möchte ...
Ich selber bin auch nicht der "Visual Studio"-Anwender, sodass ich abwägen muß, ob sich eine Portierung in "meine" Programmiersprache (GFA-Basic32) lohnt oder doch mich ein wenig in die VS-Oberfläche einarbeiten sollte. Auch wenn es sich überwiegend "nur" um Hobby-Anwendungen handelt.

Viele Grüße aus Berlin
Michael

engineer

Tja, das wäre ja nun genau das Richtige für mich gewesen - nur sind meine beiden 600D und 1000D(a) nun ausgerechnet nicht dabei. Nutzt das Paket gfs jemand zufällig und weis ob die trotzdem unterstützt werden? Oder kennt den Grund für die Limits? Die 600 kann eigentlich soweit digital funktionell alles was die 700er auch kann und die ist unterstützt.
Jürgen

MiR

#12
Hallo engineer,

ich nehme mal an, dass die Annahme anhand der offiziellen Liste festgestellt wurde, da die Kameras nicht aufgelistet sind. Einfach mal testen, z.B. mit "Sample.pdf" (siehe Beitrag #7)...

Viele Grüße aus Berlin
Michael