Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 

README.md

telemetry-parser-py

Library to parse real-time metadata embedded in video files or telemetry from other sources.

Supported formats:

  • GoPro (HERO 5 and later)
  • Sony (a1, a7c, a7r V, a7 IV, a7s III, a9 II, a9 III, FX3, FX6, FX9, RX0 II, RX100 VII, ZV1, ZV-E10, ZV-E10 II, ZV-E1, a6700)
  • Insta360 (OneR, OneRS, SMO 4k, Go, GO2, GO3, GO3S, GOUltra, Caddx Peanut, Ace, Ace Pro)
  • DJI (Avata, Avata 2, O3/O4 Air Unit, Action 2/4/5/6/Nano, Neo, Neo2)
  • XTRA (Edge, Edge Pro)
  • Blackmagic RAW (*.braw)
  • RED RAW (V-Raptor, KOMODO) (*.r3d)
  • Canon (C50, C80, C400, R6 Mk3, R5 Mk2) (*.mp4, *.mov, *.mxf, *.crm)
  • Freefly (Ember)
  • Betaflight blackbox (*.bfl, *.bbl, *.csv)
  • ArduPilot logs (*.bin, *.log)
  • Gyroflow .gcsv log
  • iOS apps: Sensor Logger, G-Field Recorder, Gyro
  • Android apps: Sensor Logger, Sensor Record, OpenCamera Sensors, MotionCam Pro
  • Runcam CSV (Runcam 5 Orange, iFlight GOCam GR, Runcam Thumb, Mobius Maxi 4K)
  • Hawkeye Firefly X Lite CSV
  • XTU (S2Pro, S3Pro)
  • WitMotion (WT901SDCL binary and *.txt)
  • Vuze (VuzeXR)
  • KanDao (Obisidian Pro, Qoocam EGO)
  • CAMM format
  • TODO DJI flight logs (*.dat, *.txt)

Example usage:

import telemetry_parser

tp = telemetry_parser.Parser('sample.mp4')
print('Camera: ', tp.camera)
print('Model: ', tp.model)

# return all telemetry as an array of dicts
print('Telemetry', tp.telemetry())

# format the values with units etc
print('Telemetry formatted', tp.telemetry(human_readable = True))

# return only gyro and accel with timestamps, normalized to a single orientation and scaled to deg/s and m/s2
print('Normalized IMU', tp.normalized_imu())

Building

  1. Setup virtual env: python -m venv .env ; source .env/bin/activate
  2. Install maturin: pip install maturin
  3. Build python wheels: maturin build --release
  4. Resulting wheels will be in target/wheels/ directory
  5. Install using pip: pip install telemetry_parser_py-0.1.0-cp39-none-win_amd64.whl