djvibegga/open-telemetry-kit

不同 DJI 日志格式的转换

安装: 2

依赖: 0

建议者: 0

安全: 0

星星: 0

观察者: 0

分支: 3

语言:Python

v0.3 2022-02-17 11:08 UTC

This package is not auto-updated.

Last update: 2024-09-27 21:37:50 UTC


README

Image of Open Telemetry Kit

Open Telemetry Kit (OTK) 是一个开源软件包,用于提取和解析与视频流相关的遥测数据,并将其转换为常用格式。它是为了满足对单一 API 的需求,该 API 可用于多种不同的视频遥测格式。

可解析的遥测数据包括:GPS、时间、相机信息、速度

特性

  • 自动检测遥测格式
  • 轻松操纵遥测数据
  • 将遥测数据写入新格式

入门指南

依赖项

Python 版本: >=3.6

ffmpegffprobe

在 Debian 系统上,这些可以通过以下命令安装:

$ sudo apt install ffmpeg

dateutil

在 Debian 系统上,可以通过以下命令安装:

$ pip3 install python-dateutil

安装

$ pip3 install open-telemetry-kit

导入

可以使用以下代码将 OTK 包导入到您的 python3 项目中:

import open_telemetry_kit as otk

快速开始

下载 OTK 快速入门包及示例数据

下载 OTK 快速入门包(约 90 MB)。(Mac 用户可以使用这些说明安装 wget

$ wget https://hivemapper-sample-videos.s3-us-west-2.amazonaws.com/OTK/OTK_quickstart.tgz

此包包含示例 .csv.srt.mov 文件,其中包含嵌入式遥测数据。它还包含 quickstart.py,您可以使用它从示例文件中提取遥测数据。

解压包

$ tar xzvf OTK_quickstart.tgz

这将把所有内容解压到一个名为 OTK_quickstart/ 的新目录中

quickstart.py 脚本接受独立的 .csv.srt 文件,或者包含嵌入式 .srt 的视频文件。它将读取数据,将其转换为 JSON,并将其写入指定的目标位置。

遥测提取和转换示例

在终端中进入新的 OTK_quickstart 目录。

从示例视频中提取遥测数据

$ python3 quickstart.py embedded_srt_example.mov embedded_srt_example.json

分别从示例 srtcsv 文件中提取遥测数据

$ python3 quickstart.py srt_example.srt srt_example.json

$ python3 quickstart.py csv_example.csv csv_example.json

注意:此过程将创建一个新的 JSON 文件,其中包含从示例文件中提取的遥测数据。数据组织成对象数组(或,在 Python 术语中,字典列表)

数据操作示例

对于简单的数据操作示例,打开 quickstart.py 并取消注释以下行:

# 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)

使用上述提供的命令之一重新运行脚本。

当前功能

输入格式

OTK 目前支持以下形式的遥测

  • .csv 文件
  • .srt 文件
  • 大多数带有嵌入式 .srt 编码的带有遥测信息的视频文件(例如,某些 DJI 无人机型号拍摄的视频)
  • .gpx 文件
  • .kml 文件
  • KLV/MISB 嵌入式数据
  • Open Camera .srt

输出格式

  • JSON
  • CSV

未来版本

OTK 计划增加的功能和更新包括

输入格式

输出格式

  • geoJSON

其他

  • 单元测试