Download photos automatically without changing to DOWNLOAD (or read exif in MSDK)

Comments

9 comments

  • William Wong

    If you are using M300RTK+H20 series, you can download photos while shooting photos. It is ok to not calling enterPlayback and then refresh-fetch photos. The latest H20 series firmware allows you to do that.

    0
    Comment actions Permalink
  • Kenneth Argo

    Does getXMPFileData() work for the M300 RTK and can I access it from MediaFileInfo (the new return from setNewGeneratedMediaFileInfoCallback)?  

    Is there a way to read exif data (also without downloading the entire image locally)?  I've been unable to locate what the value CUSTOM_INFORMATION in the FetchMediaTaskContent() method returns 

    Basically, what I am trying to do it run calculations on the exif and xmp data for each inspection photo taken during the waypoint flight.

    0
    Comment actions Permalink
  • William Wong

    The getXMPFileData does not work from MediaFileInfo. You still need to download the photos and then read the EXIF information by 3rd party library.

    0
    Comment actions Permalink
  • Kenneth Argo

    I noticed that the DJIAlbumFileInfo includes innerFileInfo.extExif.  Is there a way to get that populated?

    Basically, we are using the exif information to validate the quality of images taken during a mission (3 images per waypoint).

    If that is not possible, then is there any alternative method to retrieve the exif data WITHOUT downloading the full-size zoom image?  For example, does the thumbnail include the exif data from the full-sized image?

    0
    Comment actions Permalink
  • Alexander Broekhof

    Hi William Wong, would you mind detailing how exactly you download photos while flying a survey mission (using distance interval triggering) with an M300RTK? Can you just use the MediaManager class as though the drone were in `DOWNLOAD` mode?

    For example (while drone is flying mission):

    1. Configure `setNewGeneratedMediaFileInfoCallback`: gets alerted each time a new image is captured
    2. Call `getIndex` on MediaFileInfo returned by above callback
    3. Call `getSDCardFileListSnapshot` to retrieve a list of files
    4. Get the `MediaFile` at index returned in #2
    5. Call `fetchFileData`
    0
    Comment actions Permalink
  • William Wong

    You missed a refresh method. Everything is the same as before just deleting the enterPlayback method will work. DJIAlbumFileInfo is not open to public and I am not familiar with it, as far as I know, you cannot read EXIF info without downloading the actual photo.

    0
    Comment actions Permalink
  • Alexander Broekhof

    Ah, thank you William Wong. Are there other drones/cameras that support this feature (or are planning to support in the future)? Is this feature documented anywhere?

    0
    Comment actions Permalink
  • William Wong

    Start from H20 series, M30 series and Mavic 3 Enterprise series should all support this. This feature is crucial for enterprise solutions.. 

    0
    Comment actions Permalink
  • Kenneth Argo

    Using `setNewGeneratedMediaFileInfoCallback` is very inefficient, as I understand how it works, at least if you want to download images during flight because the refresh method will download the complete list of ALL image files.  This means the longer the flight and more images, the more time spent refreshing the list and starting a download.

    The benefit from the, now deprecated callback was that it was called for each new image.

    Do I understand that the ONLY way to validate exif data in near-realtime would be to use the OSDK and some processor like the Raspberry Pi?

    0
    Comment actions Permalink

Please sign in to leave a comment.