Comments (11)
@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.
@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.
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.
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.
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.
@dogmaphobic: thanks, that's helping
@thomasgubler: FYI. I'll wait for your insights about this requirement.
from mavsdk-proto.
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.
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.
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.
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.
MAVLink FTP was added to proto in #142.
from mavsdk-proto.
Related Issues (20)
- Create proto file for followme plugin HOT 1
- Create proto file for logging plugin HOT 20
- Is it a drone, a system, a vehicle, a robot? HOT 4
- tag a first version? HOT 2
- More explanation in the pb_plugins README HOT 3
- Add camera proto
- > I am still having troubles about the C++ files generation. Also how do I proceed from there ? HOT 1
- Differentiating between Fixedwing, Multicopter and VTOL (and others?) HOT 13
- The fpt.proto hasn't a primitive to upload files HOT 2
- "mavsdk_options.proto: File not found" error with default example HOT 12
- Add callbacks that provide a result (for server commands) HOT 4
- semantic version identifiers should use unsigned integers HOT 3
- Design camera server implement discussion HOT 2
- Consistently capitalize names in jinja2
- Provide type conversions between languages HOT 3
- Create proto file for gimbal plugin
- Create proto file for offboard plugin HOT 1
- Autogenerate documentation HOT 2
- In which module to place the subscription. HOT 5
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from mavsdk-proto.