PHPackages                             djvibegga/open-telemetry-kit - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. djvibegga/open-telemetry-kit

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

djvibegga/open-telemetry-kit
============================

Conversion between different DJI log formats

v0.3(4y ago)05MITPython

Since Feb 17Pushed 4y agoCompare

[ Source](https://github.com/djvibegga/open-telemetry-kit)[ Packagist](https://packagist.org/packages/djvibegga/open-telemetry-kit)[ RSS](/packages/djvibegga-open-telemetry-kit/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependenciesVersions (3)Used By (0)

Open Telemetry Kit
==================

[](#open-telemetry-kit)

[![Image of Open Telemetry Kit](https://raw.githubusercontent.com/Hivemapper/open-telemetry-kit/master/OTK.jpg)](https://raw.githubusercontent.com/Hivemapper/open-telemetry-kit/master/OTK.jpg)

The Open Telemetry Kit (OTK) is an open source package for extracting and parsing telemetry associated with video streams and converting to common formats. It comes out of a need for a singular API that can be used for multiple different video telemetry formats.

Telemetry that can be parsed includes: GPS, time, camera information, speed

Features:

- Automatically detect telemetry format
- Manipulate telemetry with ease
- Write telemetry to a new format

Getting Started
---------------

[](#getting-started)

### Dependencies

[](#dependencies)

Python version: `>=3.6`

`ffmpeg` and `ffprobe`.

On Debian systems these can be installed with:

> $ sudo apt install ffmpeg

`dateutil`

On Debian systems this can be installed with:

> $ pip3 install python-dateutil

### Installation

[](#installation)

> $ pip3 install open-telemetry-kit

### Importing

[](#importing)

The OTK package can be imported into your python3 project with:

> import open\_telemetry\_kit as otk

### Quick Start

[](#quick-start)

#### Download the OTK Quickstart package with sample data

[](#download-the-otk-quickstart-package-with-sample-data)

Download the OTK quickstart package (~90 MB). (Mac users can install `wget` using [these instructions](https://www.maketecheasier.com/install-wget-mac/))

> $ wget [https://hivemapper-sample-videos.s3-us-west-2.amazonaws.com/OTK/OTK\_quickstart.tgz](https://hivemapper-sample-videos.s3-us-west-2.amazonaws.com/OTK/OTK_quickstart.tgz)

This includes a sample `.csv`, `.srt`, and `.mov` with embedded telemetry. It also contains `quickstart.py` which you can use to extract the telemetry from the sample files.

Extract the package:

> $ tar xzvf OTK\_quickstart.tgz

This will extract everything into a new directory called `OTK_quickstart/`

The `quickstart.py` script accepts a standalone `.csv` or `.srt` or a video file with an embedded `.srt`. It will read in the data, convert it to JSON, and write it to the provided destination.

#### Telemetry extraction and conversion example

[](#telemetry-extraction-and-conversion-example)

In your terminal go to the new `OTK_quickstart` directory.

Extract telemetry from the sample video:

> $ python3 quickstart.py embedded\_srt\_example.mov embedded\_srt\_example.json

Extract telemetry from the sample `srt` or `csv` files respectively:

> $ python3 quickstart.py srt\_example.srt srt\_example.json

> $ python3 quickstart.py csv\_example.csv csv\_example.json

*Note: This process will create a new JSON file containing the telemetry extracted from the sample file. The data is organized into an array of objects (or, in python terminology, a list of dictionaries)*

#### Data manipulation example

[](#data-manipulation-example)

For an example of simple data manipulation, open `quickstart.py` and uncomment the lines:

```
# gps = Telemetry()
# for packet in telemetry:
#   gps.append({ k:v for k, v in packet.items() if k in ['latitude', 'longitude', 'altitude']})

# write.telemetryToJson(gps, dest)

```

Rerun the script with one of the provided commands above.

### Current Functionality

[](#current-functionality)

#### Input Formats

[](#input-formats)

The OTK currently supports the following forms of telemetry:

- `.csv` files
- `.srt` files
- Most videos file with embedded telemetry encoded as a `.srt` (e.g. video taken with some DJI drone models)
- `.gpx` files
- `.kml` files
- KLV/MISB embedded data
- Open Camera `.srt`

#### Output Formats

[](#output-formats)

- JSON
- CSV

### Future Releases

[](#future-releases)

Planned expansions and updates for the OTK include:

#### Input Formats

[](#input-formats-1)

#### Output Formats

[](#output-formats-1)

- geoJSON

#### Other

[](#other)

- Unit Tests

###  Health Score

20

—

LowBetter than 14% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity4

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity40

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 93.9% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~0 days

Total

2

Last Release

1545d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/2e1cca9545f557cf570f82a7358700654fd3bcda4b48fd026146afe14ed03247?d=identicon)[djvibegga](/maintainers/djvibegga)

---

Top Contributors

[![jdriscoll319](https://avatars.githubusercontent.com/u/26491159?v=4)](https://github.com/jdriscoll319 "jdriscoll319 (276 commits)")[![aseidman](https://avatars.githubusercontent.com/u/3408732?v=4)](https://github.com/aseidman "aseidman (17 commits)")[![ethan-vanandel](https://avatars.githubusercontent.com/u/19393002?v=4)](https://github.com/ethan-vanandel "ethan-vanandel (1 commits)")

### Embed Badge

![Health badge](/badges/djvibegga-open-telemetry-kit/health.svg)

```
[![Health](https://phpackages.com/badges/djvibegga-open-telemetry-kit/health.svg)](https://phpackages.com/packages/djvibegga-open-telemetry-kit)
```

###  Alternatives

[prodigyview/prodigyview

Complete PHP Toolkit

648.2k](/packages/prodigyview-prodigyview)[pingpong/oembed

Laravel 4 - Retrieve page info using oembed, opengraph, etc.

142.1k](/packages/pingpong-oembed)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
