Skip to main content

The FFMPEG for proprietary data file formats

Project description

🗿 Jeff the Sipper

The infamous brother of John the Ripper. The man we all need but don't deserve. Father to murdered son, husband to a murdered wife. And he will have his vengeance, in this life or the next.

I'm not sure how well this will turn out, but the package is intended to be the FFMPEG analog for proprietary data file formats for highly specialized software systems, especially those on MS Windows which commit an extraordinary amount of sacrilege against the UNIX philosophy.

Contributing

I would love for anyone to contribute their implementation of a proprietary data file parser to enable users the option of using standardized, powerful data processing tools which, more likely than not, may overshadow the proprietary counterpart completely. If you feel inclined, fork the repository, implement it, and submit a pull request.

If you would like to implement the data parser in a different programming language, that is completely fine, but it would be best to integrate it into Python if at all possible.

AVANTES AvaSoft 8 AVS84

My attempt to reverse engineer the AVS84 (i.e ".raw8" or RAW 8) file format generated by the AVANTES AvaSoft 8 spectrometer analyzer.

My internet searches yielded quite literally nothing regarding the structure of the AVS84 file, so the format is hypothesized through the analysis of several such files against their renditions into Excel, CSV, and plaintext through AvaSoft itself. The sole resource found regarding this format was by another GitHub user @padmer who also extracted only the parts they cared about.

Format

As of this commit, the format currently known is as follows:

HEADER

address type description size (bytes)
0x0000 ascii-string "AVS84" 5
0x0005 block ? 9
0x000e ascii-string spectrometer serial ID 9
0x0017 block ? 1
0x0018 ascii-string spectrometer serial ID 9
0x0021 block null padding? 3
0x0024 block ? 292

SERIES

address type description size (bytes)
0x0148 f32 [] X axis 13600 ?
0x3668 f32 [] Y axis 13600 ?
0x6b88 f32 [] Z axis ? 13600 ?

FOOTER

address type description size (bytes)
0xa0a8 block null padding? 13612 ?
0xd5d4 f32 constant 1.0f? 4
0xd5d8 block null padding? 5
0xd5dd block constant 10.0f array? 1884
0xdd39 block null padding? 1883

Observations

Data is stored in little endian (LE) format with allegiance to the IEEE-754 floating point standard.


Per @padmer's implementation, the size of the data series is clearly arbitrary, but my attempts of finding the address related to the series size has been unsuccessful. My presumption is that this size must be of an Int32 type located somewhere in the HEADER.


Most MYSTERY chunks are consistent accross different data files, but the 6-byte MYSTERY chunk in the HEADER appears to change with each file. My presumption is that it is either a hash of the data series, or a timestamp in some encoding. My observations noted that this MYSTERY chunk appears to be 6 bytes in length, which is rather peculiar.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sipper-0.0.6.tar.gz (22.4 kB view details)

Uploaded Source

Built Distribution

sipper-0.0.6-py3-none-any.whl (22.8 kB view details)

Uploaded Python 3

File details

Details for the file sipper-0.0.6.tar.gz.

File metadata

  • Download URL: sipper-0.0.6.tar.gz
  • Upload date:
  • Size: 22.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.5.0 pkginfo/1.7.0 requests/2.22.0 requests-toolbelt/0.9.1 tqdm/4.61.1 CPython/3.8.10

File hashes

Hashes for sipper-0.0.6.tar.gz
Algorithm Hash digest
SHA256 759f701b3aedc80e044d956a8e62baa85cac56bfd62ad210578a02ec9a8f4c19
MD5 86c5a7f2d7d93cde1a2c79dbf7cb9464
BLAKE2b-256 7e1294215d1228bd168d00d62f2cf1edd8ce25888091b72861d9ca427fe64eae

See more details on using hashes here.

File details

Details for the file sipper-0.0.6-py3-none-any.whl.

File metadata

  • Download URL: sipper-0.0.6-py3-none-any.whl
  • Upload date:
  • Size: 22.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.5.0 pkginfo/1.7.0 requests/2.22.0 requests-toolbelt/0.9.1 tqdm/4.61.1 CPython/3.8.10

File hashes

Hashes for sipper-0.0.6-py3-none-any.whl
Algorithm Hash digest
SHA256 5d65f3eccc6a7295abb1b463153e656d8964046e358d7c8c015bff836fd5eb63
MD5 6ae9a356764660c6db1f6fea1f67174a
BLAKE2b-256 49818588a5a6a54e2960725dc49dfb2a07f1b95c4d46fc76406a156d6626f2de

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page