GithubHelp home page GithubHelp logo

vimodev / dronemap Goto Github PK

View Code? Open in Web Editor NEW
8.0 1.0 0.0 141.44 MB

A web-based geographical footage explorer for footage shot with DJI drones.

License: GNU General Public License v3.0

Shell 0.03% TypeScript 0.23% HTML 59.19% JavaScript 39.56% CSS 0.23% Python 0.74% C 0.03% Dockerfile 0.01%
photography drones maps cinematography adonisjs openlayers

dronemap's Introduction

Warning

This repo is no longer maintained in favor of vimodev/drone-atlas. That application is the same in functionality but much better in usability since it does not rely on a Node process in a Docker container but instead on Java. This makes it easier to deploy and faster to run.

DroneMap

A web-based application to explore your DJI drone footage on a map. Point the server at the directory that contains your footage, press 'Synchronize Database' and the server will handle the rest.

(Developed and tested with DJI Mini 2)

Screenshots

Plain map view of data points Plain map view

Satellite view of data points Satellite view

Inspecting a single data point Inspecting a datapoint

Watching a video after clicking the thumbnail Watching a video

Inspecting an image Inspecting an image

Example use Example use

Current features

  • Directory scanning
  • Automatic analysis and parsing of scanned files
  • Plotting of footage data points / images onto OSM or Satellite view
  • Filtering plotted footage based on attributes
  • Inspecting data point / image information including camera settings
  • Opening and watching source footage at exact point of the data point in the footage

Potential future features

  • Improved layout on data point / image inspection pages
  • Improve marker visibility through coloring and positioning (mainly in high density areas)
  • Transcoded streaming, raw footage streaming is less than ideal for non-network streaming
  • Authentication for exposing service to internet
  • File / footage management page

Known issues (might or might not be working on these)

  • Thumbnail retrieval might be broken in docker deployment.
  • Parsing of particular videos might result in a fatal error (unknown what causes it atm)

Running with Docker

  1. Copy and adapt docker-compose.yml
  2. Run docker-compose up -d
  3. If the dronemap container's logs mention ECONNREFUSED, please execute node ace migration:run --force manually in the container after the database container has fully started.

Running (development)

  1. apt update && apt install ffmpeg
  2. git clone [email protected]:vimodev/dronemap.git
  3. Set up database
  4. Fill out .env and generate key with node ace generate:key
  5. npm run dev

dronemap's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

dronemap's Issues

Database issue?

Hi

I would love to get this amazing project working. However, whenever I click 'Synchronize Database' in the UI, I get the following error message on the docker logs:

Starting database file sync {"level":50,"time":1639565577215,"pid":19,"hostname":"9850ca5e87f5","name":"dronemap-backend","msg":"insert intofiles (created_at, file_path, id, sha256, size, updated_at) values ('2021-12-15 13:52:51', '/Drone Backup/DJI Mavic 2/2020-04-24/DJI_0528.MP4', 'efb7890c-c214-4afa-b44f-e85ebf2b31e8', '329ecbf5fd94c706dd0954375816618230e862cc47b77671ab00743ccdc8a2e0', 3758910266, '2021-12-15 13:52:53') - ER_WARN_DATA_OUT_OF_RANGE: Out of range value for column 'size' at row 1"}, Starting database file sync

Nothing happens on the web UI. The drone data doesn't get populated on the map. However, that error shows that it might be an issue with the database with the column 'size' being populated with out of range data.

Here's my docker-compose implementation:
`
services:
dronemap:
image: vimodev/dronemap:latest
ports:
- "3333:3333"
restart: unless-stopped
environment:
- DB_CONNECTION=mysql
- MYSQL_HOST=dronemap_database
- MYSQL_PORT=3306
- MYSQL_USER=dronemap
- MYSQL_PASSWORD=2024cad0b930c
- MYSQL_DB_NAME=dronemap
- TZ=Asia/Kuwait
volumes:
- dronemap_nfs_volume:/footage:ro
depends_on:
- dronemap_database
networks:
- dronemap-network

dronemap_database:
image: mariadb:10
environment:
- MYSQL_DATABASE=dronemap
- MYSQL_USER=dronemap
- MYSQL_PASSWORD=2024cad0b930c
- MYSQL_RANDOM_ROOT_PASSWORD=yes
- TZ=Asia/Kuwait
networks:
- dronemap-network
ports:
- "3306:3306"
restart: unless-stopped

networks:
dronemap-network:
driver: bridge
enable_ipv6: false
ipam:
driver: default
config:
- subnet: 10.10.10.0/24

volumes:
dronemap_nfs_volume:
driver_opts:
type: "nfs"
o: "addr=ds1819.*******.com,rw,noatime,rsize=8192,wsize=8192,tcp,timeo=14"
device: ":/volume1/Files/Drone"
`

Thank you.

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.