Giter Club home page Giter Club logo

Comments (11)

coderkalyan avatar coderkalyan commented on August 11, 2024 1

@JonasVautherin MAVLink does have an FTP type protocol, see here: https://mavlink.io/en/services/ftp.html. I think this is what @dogmaphobic is referring to

from mavsdk-proto.

hamishwillee avatar hamishwillee commented on August 11, 2024

@JonasVautherin Getting historical information about captured images or about the file system (other than available space) is not supported by the MAVLink Camera Protocol. You could not do this reliably unless the protocol is updated.

from mavsdk-proto.

JonasVautherin avatar JonasVautherin commented on August 11, 2024

Does that mean that if I make a video, there is no way to download it on my app?

And if I lose the connection to the drone for a while during the mission and miss some CameraInfo callabacks, then I won't know how many pictures have been taken unless I do some guessing on the client side, right?

from mavsdk-proto.

hamishwillee avatar hamishwillee commented on August 11, 2024

Yes, well to be precise there is now way to do it via the MAVLink API. All that does is give you a download URL when each photo is taken.

In many cases that is probably fine - you just pull the memory card and inspect after landing. It does seem like an unnecessary limitation though. Lets discuss a revision if this is a use case we want.

@dogmaphobic and @lbegani probably good people to talk to in first instance.

from mavsdk-proto.

dogmaphobic avatar dogmaphobic commented on August 11, 2024

Until now, this was never needed. That's why it doesn't exist. With that said, it wouldn't take much to add a new set of MAVLink messages to request a list of stored media (along with their URIs).

For what's worth, in my code, when you "take a picture" or when you "record a video", I do the same locally. I capture a frame off the video stream for when taking photos and I record the stream when recording videos. That gives me a copy of everything the camera is doing. This allows for a quick review of photos and videos, albeit at a much lower resolution (video stream resolution). That's because there isn't really enough bandwidth for a full download of all media straight off the camera. Of course this is all for "manually" triggered photo/video. If the capture is a result of a mission, I don't save anything and we're on the same boat.

from mavsdk-proto.

JonasVautherin avatar JonasVautherin commented on August 11, 2024

@dogmaphobic: thanks, that's helping

@thomasgubler: FYI. I'll wait for your insights about this requirement.

from mavsdk-proto.

hamishwillee avatar hamishwillee commented on August 11, 2024

@dogmaphobic

Until now, this was never needed. That's why it doesn't exist. With that said, it wouldn't take much to add a new set of MAVLink messages to request a list of stored media (along with their URIs).

Should this perhaps be a generic File management API - ie not Camera specific?

from mavsdk-proto.

dogmaphobic avatar dogmaphobic commented on August 11, 2024

There is already, if I'm not mistaken, an FTP type protocol. That sort of protocol however, implies iterating through directories and listing its files and subdirectories. For cameras, it may make more sense to have something specific: Give me a list of photos/videos and be done with it.

from mavsdk-proto.

lbegani avatar lbegani commented on August 11, 2024

One of the solution could be to put all the captured files in a directory and serve the directory over http like protocol. The URI of the directory could be queried using a MAVLink message. The client app on accessing the URI will see the list of files captured.

from mavsdk-proto.

JonasVautherin avatar JonasVautherin commented on August 11, 2024

There is already, if I'm not mistaken, an FTP type protocol.

@dogmaphobic: Are you referring to PTP (on which MTP is based, by the way)?

from mavsdk-proto.

julianoes avatar julianoes commented on August 11, 2024

MAVLink FTP was added to proto in #142.

from mavsdk-proto.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.