droneframe


Namedroneframe JSON
Version 0.1.1 PyPI version JSON
download
home_pagehttps://github.com/anwaraliahmad/droneframe
SummaryExtract frames from drone footage along with their EXIF data.
upload_time2023-09-11 02:28:14
maintainer
docs_urlNone
authorAnwar Ali-Ahmad
requires_python
licenseMIT
keywords
VCS
bugtrack_url
requirements argparse
Travis-CI No Travis.
coveralls test coverage No coveralls.
            ![PyPI - Version](https://img.shields.io/pypi/v/droneframe)
![GitHub release (with filter)](https://img.shields.io/github/v/release/anwaraliahmad/droneframe)
![GitHub](https://img.shields.io/github/license/anwaraliahmad/droneframe)
# Droneframe
A simple CLI tool to extract frames from drone footages with EXIF data included.

## Installation
You can install DroneFrame from either from PyPI using `pip` or directly through GitHub releases.
### Pip
```bash
$ pip install droneframe
```
### GitHub 
#### Install From Source
```bash
$ git clone https://github.com/anwaraliahmad/droneframe.git
$ cd droneframe 
$ pip install
```
#### Install From Release
1. Navigate to [releases page](https://github.com/anwaraliahmad/droneframe/releases)
2. Download either `.tar.gz` or `.whl`
3. Navigate to your download
```bash
$ pip install droneframe-version.<tar.gz or whl>
```
## Running
#### Arguments
| Argument/Option 	| Description                                              	| Flags                	| Default                                        	| Required                        	|
|-----------------	|----------------------------------------------------------	|----------------------	|------------------------------------------------	|---------------------------------	|
| **video**       	| Path to drone video file (`.MP4`)                        	|                      	|                                                	| **Yes**                         	|
| `meta`          	| Path to metadata file (`.SRT`)                           	| `-m`, `--meta`       	| Same pathname (sans file extension) as `video` 	| No                              	|
| `frame_rate`    	| The rate for frame extraction                            	| `-f`, `--frame_rate` 	| 30                                             	| No (but **highly** recommended) 	|
| `output`        	| Target path to output folder (will generate a folder named after the video file there) 	| `-o`, `--output`     	|  Working directory              	| No                              	|
| Help            	| Display help message                                     	| `-h`, `--help`       	|                                                	|                                 	|
## Example: Photogrammetry

### Process
1. Use `droneframe` to get frames filled with GPS & timestamp data.
```bash
$ droneframe path/to/DJI_001.MP4 -f 3 # Large drone video of subject.
```
2. Import the generated `./DJI_001` folder into your photogrammetry software of choice.
3. Enjoy your 3D recreation.
> If constraints permit, you can always extract more with a higher framerate or generate an additional batch of frames from another video you have of the target.

### End Result
<center> <div class="sketchfab-embed-wrapper"> <iframe title="Abandoned Railyard Flue" frameborder="0" allowfullscreen mozallowfullscreen="true" webkitallowfullscreen="true" allow="autoplay; fullscreen; xr-spatial-tracking" xr-spatial-tracking execution-while-out-of-viewport execution-while-not-rendered web-share src="https://sketchfab.com/models/3c92d642af34444dadc83f1d2d0dd07d/embed"> </iframe> <p style="font-size: 13px; font-weight: normal; margin: 5px; color: #4A4A4A;"> <a href="https://sketchfab.com/3d-models/abandoned-railyard-flue-3c92d642af34444dadc83f1d2d0dd07d?utm_medium=embed&utm_campaign=share-popup&utm_content=3c92d642af34444dadc83f1d2d0dd07d" target="_blank" rel="nofollow" style="font-weight: bold; color: #1CAAD9;"> Abandoned Railyard Flue </a> by <a href="https://sketchfab.com/anwaraliahmad?utm_medium=embed&utm_campaign=share-popup&utm_content=3c92d642af34444dadc83f1d2d0dd07d" target="_blank" rel="nofollow" style="font-weight: bold; color: #1CAAD9;"> anwaraliahmad </a> on <a href="https://sketchfab.com?utm_medium=embed&utm_campaign=share-popup&utm_content=3c92d642af34444dadc83f1d2d0dd07d" target="_blank" rel="nofollow" style="font-weight: bold; color: #1CAAD9;">Sketchfab</a></p></div>
</center>

This is a model of an abandoned structure that was created by running `droneframe` and uploading the resulting frames onto [WebODM Lightning](https://webodm.net/) for 3D reconstruction.


## License
This project is licensed under the MIT License. See the LICENSE file for details.




            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/anwaraliahmad/droneframe",
    "name": "droneframe",
    "maintainer": "",
    "docs_url": null,
    "requires_python": "",
    "maintainer_email": "",
    "keywords": "",
    "author": "Anwar Ali-Ahmad",
    "author_email": "contact@anwaraliahmad.tech",
    "download_url": "https://files.pythonhosted.org/packages/83/46/d78e36b4282e4be27b28a3fa55e1a3694f3e47d24cb6e1b23548745c71ad/droneframe-0.1.1.tar.gz",
    "platform": null,
    "description": "![PyPI - Version](https://img.shields.io/pypi/v/droneframe)\n![GitHub release (with filter)](https://img.shields.io/github/v/release/anwaraliahmad/droneframe)\n![GitHub](https://img.shields.io/github/license/anwaraliahmad/droneframe)\n# Droneframe\nA simple CLI tool to extract frames from drone footages with EXIF data included.\n\n## Installation\nYou can install DroneFrame from either from PyPI using `pip` or directly through GitHub releases.\n### Pip\n```bash\n$ pip install droneframe\n```\n### GitHub \n#### Install From Source\n```bash\n$ git clone https://github.com/anwaraliahmad/droneframe.git\n$ cd droneframe \n$ pip install\n```\n#### Install From Release\n1. Navigate to [releases page](https://github.com/anwaraliahmad/droneframe/releases)\n2. Download either `.tar.gz` or `.whl`\n3. Navigate to your download\n```bash\n$ pip install droneframe-version.<tar.gz or whl>\n```\n## Running\n#### Arguments\n| Argument/Option \t| Description                                              \t| Flags                \t| Default                                        \t| Required                        \t|\n|-----------------\t|----------------------------------------------------------\t|----------------------\t|------------------------------------------------\t|---------------------------------\t|\n| **video**       \t| Path to drone video file (`.MP4`)                        \t|                      \t|                                                \t| **Yes**                         \t|\n| `meta`          \t| Path to metadata file (`.SRT`)                           \t| `-m`, `--meta`       \t| Same pathname (sans file extension) as `video` \t| No                              \t|\n| `frame_rate`    \t| The rate for frame extraction                            \t| `-f`, `--frame_rate` \t| 30                                             \t| No (but **highly** recommended) \t|\n| `output`        \t| Target path to output folder (will generate a folder named after the video file there) \t| `-o`, `--output`     \t|  Working directory              \t| No                              \t|\n| Help            \t| Display help message                                     \t| `-h`, `--help`       \t|                                                \t|                                 \t|\n## Example: Photogrammetry\n\n### Process\n1. Use `droneframe` to get frames filled with GPS & timestamp data.\n```bash\n$ droneframe path/to/DJI_001.MP4 -f 3 # Large drone video of subject.\n```\n2. Import the generated `./DJI_001` folder into your photogrammetry software of choice.\n3. Enjoy your 3D recreation.\n> If constraints permit, you can always extract more with a higher framerate or generate an additional batch of frames from another video you have of the target.\n\n### End Result\n<center> <div class=\"sketchfab-embed-wrapper\"> <iframe title=\"Abandoned Railyard Flue\" frameborder=\"0\" allowfullscreen mozallowfullscreen=\"true\" webkitallowfullscreen=\"true\" allow=\"autoplay; fullscreen; xr-spatial-tracking\" xr-spatial-tracking execution-while-out-of-viewport execution-while-not-rendered web-share src=\"https://sketchfab.com/models/3c92d642af34444dadc83f1d2d0dd07d/embed\"> </iframe> <p style=\"font-size: 13px; font-weight: normal; margin: 5px; color: #4A4A4A;\"> <a href=\"https://sketchfab.com/3d-models/abandoned-railyard-flue-3c92d642af34444dadc83f1d2d0dd07d?utm_medium=embed&utm_campaign=share-popup&utm_content=3c92d642af34444dadc83f1d2d0dd07d\" target=\"_blank\" rel=\"nofollow\" style=\"font-weight: bold; color: #1CAAD9;\"> Abandoned Railyard Flue </a> by <a href=\"https://sketchfab.com/anwaraliahmad?utm_medium=embed&utm_campaign=share-popup&utm_content=3c92d642af34444dadc83f1d2d0dd07d\" target=\"_blank\" rel=\"nofollow\" style=\"font-weight: bold; color: #1CAAD9;\"> anwaraliahmad </a> on <a href=\"https://sketchfab.com?utm_medium=embed&utm_campaign=share-popup&utm_content=3c92d642af34444dadc83f1d2d0dd07d\" target=\"_blank\" rel=\"nofollow\" style=\"font-weight: bold; color: #1CAAD9;\">Sketchfab</a></p></div>\n</center>\n\nThis is a model of an abandoned structure that was created by running `droneframe` and uploading the resulting frames onto [WebODM Lightning](https://webodm.net/) for 3D reconstruction.\n\n\n## License\nThis project is licensed under the MIT License. See the LICENSE file for details.\n\n\n\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Extract frames from drone footage along with their EXIF data.",
    "version": "0.1.1",
    "project_urls": {
        "Homepage": "https://github.com/anwaraliahmad/droneframe"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "bb4eb6f059cc4082424ad02bbafe6c82f87a65f7dbeba6bee6feaf5410bf2d2c",
                "md5": "8c480b4b215707fc796039b80cf4b122",
                "sha256": "fad9bfc6beb32c78fa8c384744de97a490ab9d279852885a9e3de2c6181c4696"
            },
            "downloads": -1,
            "filename": "droneframe-0.1.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "8c480b4b215707fc796039b80cf4b122",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": null,
            "size": 8046,
            "upload_time": "2023-09-11T02:28:11",
            "upload_time_iso_8601": "2023-09-11T02:28:11.320053Z",
            "url": "https://files.pythonhosted.org/packages/bb/4e/b6f059cc4082424ad02bbafe6c82f87a65f7dbeba6bee6feaf5410bf2d2c/droneframe-0.1.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "8346d78e36b4282e4be27b28a3fa55e1a3694f3e47d24cb6e1b23548745c71ad",
                "md5": "e3bcb00b55730c79510f499508d6e003",
                "sha256": "550924f145077459a5fbfa187828fecae8a333dec4d309f72770dc03d27593f1"
            },
            "downloads": -1,
            "filename": "droneframe-0.1.1.tar.gz",
            "has_sig": false,
            "md5_digest": "e3bcb00b55730c79510f499508d6e003",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 7275,
            "upload_time": "2023-09-11T02:28:14",
            "upload_time_iso_8601": "2023-09-11T02:28:14.253872Z",
            "url": "https://files.pythonhosted.org/packages/83/46/d78e36b4282e4be27b28a3fa55e1a3694f3e47d24cb6e1b23548745c71ad/droneframe-0.1.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-09-11 02:28:14",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "anwaraliahmad",
    "github_project": "droneframe",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "requirements": [
        {
            "name": "argparse",
            "specs": []
        }
    ],
    "lcname": "droneframe"
}
        
Elapsed time: 0.17107s