Jump to content

Leica T app and DNG files


Recommended Posts

  • 3 months later...

The following may be of interest especially if anyone has a communication line with their preferred iOS or Android RAW development/processing application developer.

The T has two wi-fi modes: application control, and image gallery. In the gallery mode the camera serves as a web server providing a simple web UI to browse images, view previews and download full size images, all in JPEG format.

Seemingly there's no way to get the DNGs.

However, this is easily circumvented: for example, my T now gives me a full size JPEG at this address: http://192.168.178.27/DCIM/100LEICA/L1000071.JPG

Simply using the URL http://192.168.178.27/DCIM/100LEICA/L1000071.DNG (just a file extension change) will download the raw file.

This information could be used to import DNGs over the wi-fi connection into any application quite easily.

  • Like 2
Link to post
Share on other sites

Here's a bit more info, for the tinkering minded.

Thankfully this seems all pretty nicely done - there won't be any need for nasty HTML parsing.

We can request two JSON URLs which return camera and file information respectively.

Requesting

http://192.168.178.27/status.json

I get 

{
 "camera_name": "Leica-4920773",
 "total_image": "7"
}
 
And requesting
http://192.168.178.27/fileinfo.json
I get:
 
[{
  "folder": "DCIM/100LEICA/",
  "date": "Fri Jul 12 2013 13:19:19 GMT+0200 (CEST)",
  "album": [{
    "date": "Tue Feb 24 2016 11: 4:21 GMT+0200 (CEST)",
    "type": "image",
    "thumb": "thumb/100LEICA/L1000071.JPG",
    "preview": "preview/100LEICA/L1000071.JPG",
    "full": "DCIM/100LEICA/L1000071.JPG",
    "portrait": "0"
   },
   {
    "date": "Tue Feb 24 2016 17:43:26 GMT+0200 (CEST)",
    "type": "image",
    "thumb": "thumb/100LEICA/L1000072.JPG",
    "preview": "preview/100LEICA/L1000072.JPG",
    "full": "DCIM/100LEICA/L1000072.JPG",
    "portrait": "0"
   },
   {
    "date": "Tue Feb 24 2016 17:45:34 GMT+0200 (CEST)",
    "type": "image",
    "thumb": "thumb/100LEICA/L1000073.JPG",
    "preview": "preview/100LEICA/L1000073.JPG",
    "full": "DCIM/100LEICA/L1000073.JPG",
    "portrait": "0"
   },
   {
    "date": "Tue Feb 24 2016 17:45:56 GMT+0200 (CEST)",
    "type": "image",
    "thumb": "thumb/100LEICA/L1000074.JPG",
    "preview": "preview/100LEICA/L1000074.JPG",
    "full": "DCIM/100LEICA/L1000074.JPG",
    "portrait": "0"
   },
   {
    "date": "Tue Feb 24 2016 17:46:13 GMT+0200 (CEST)",
    "type": "image",
    "thumb": "thumb/100LEICA/L1000075.JPG",
    "preview": "preview/100LEICA/L1000075.JPG",
    "full": "DCIM/100LEICA/L1000075.JPG",
    "portrait": "0"
   },
   {
    "date": "Tue Feb 24 2016 18:20:20 GMT+0200 (CEST)",
    "type": "image",
    "thumb": "thumb/100LEICA/L1000076.JPG",
    "preview": "preview/100LEICA/L1000076.JPG",
    "full": "DCIM/100LEICA/L1000076.JPG",
    "portrait": "0"
   },
   {
    "date": "Tue Feb 24 2016 18:20:54 GMT+0200 (CEST)",
    "type": "image",
    "thumb": "thumb/100LEICA/L1000077.JPG",
    "preview": "preview/100LEICA/L1000077.JPG",
    "full": "DCIM/100LEICA/L1000077.JPG",
    "portrait": "0"
   }]
}]

This is all very neat and easy to generate the appropriate previous and DNG download links.

Hmm, I'm tempted at the thought of making a simple import app that would allow one to download any or all of the available files...

Link to post
Share on other sites

Advertisement (gone after registration)

I like the idea of creating an app to simply grab the DNGs. I am a developer so I may dig into this over the next few weeks. I was thinking we could simply download the images and then save them to the camera role using the new iOS APIs for saving raw photos. Lightroom would then be able to simply grab the DNGs from the camera role. Do you have a list of the APIs that you have discovered from the camera?

Link to post
Share on other sites

There's nothing apart from what you see above, but it's enough and pretty simple.

In order to automatically import everything from the last import, all you need is the camera's IP address, then:

- download the status.json to get the presumably unique camera_name value, which should be used to store all other information under in case the app is used with multiple cameras;

- if exists, load the previously stored last imported file name for this camera, or perhaps even store all the previously imported file names;

- download the fileinfo.json, from which you get all the "full" values;

- generate the download URLs from the IP address, the "full" value and replace JPG with DNG, and download!

You could add lots of things on top of that, such as previews and manual selection before the automated import combined with (as mentioned above) remembering all previously imported names per camera.

 

Actually I wrote a quick bash script to download all DNGs on the camera (by creating the correct URLs from the "full" values and the base http address) but the wi-fi performance is abysmal, and the web server on the camera stopped serving files after about 4 downloads; the download speed as well is such that it takes at least 30 seconds, but I think closer to a minute to download a single DNG.

In short, it's a lot faster to just get the card out and import the old fashioned way.

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...