djvibegga / open-telemetry-kit
不同 DJI 日志格式的转换
This package is not auto-updated.
Last update: 2024-09-27 21:37:50 UTC
README
Open Telemetry Kit (OTK) 是一个开源软件包,用于提取和解析与视频流相关的遥测数据,并将其转换为常用格式。它是为了满足对单一 API 的需求,该 API 可用于多种不同的视频遥测格式。
可解析的遥测数据包括:GPS、时间、相机信息、速度
特性
- 自动检测遥测格式
- 轻松操纵遥测数据
- 将遥测数据写入新格式
入门指南
依赖项
Python 版本: >=3.6
ffmpeg
和 ffprobe
。
在 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
分别从示例 srt
或 csv
文件中提取遥测数据
$ 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
其他
- 单元测试