Skip to main content

OSF Format

The OSF format – Introduction

OSF is designed as a universal streaming format for measurement and process data. It answers the key questions of modern data acquisition: How can continuously streaming data be stored without loss? How can the format remain open and expandable without unnecessary complexity? And how can the requirements of embedded systems be combined with the efficiency of powerful analysis platforms?

OSF is currently available in version 4, while version 5 is currently being implemented. Although OSF4 and OSF5 differ only in a few respects, we have deliberately decided to jump a version: Above all, the switch to a new header format (JSON as standard) and the simplified handling of the control byte in the data justify this new major version. At the same time, OSF5 remains fully backward compatible with OSF4 and can read and process its files without restrictions, except for a few minor differences.

What OSF does in practical use

OSF is designed for the reality of modern measurement systems: data streams that flow continuously and need to be captured quickly and stored securely. The focus is on one thing: seamless recording without data loss, even if systems shut down abruptly or the power supply is interrupted.

But OSF doesn't stop at writing: it is also optimized for further processing. Instead of storing individual values one after the other, OSF stores data in blocks. This enables:

  • efficient and fast storage even at high data rates,
  • fast loading and evaluation of large amounts of data,
  • consistent structures that perform well on both embedded systems and analysis platforms.

Advantages at a glance:

  • Loss-free, continuous data recording on embedded devices.
  • Robustness against power failures or unexpected shutdowns.
  • Efficient block structure for fast saving and loading.
  • Flexible for all time-related data: single values, vectors, matrices, images, and audio data.
  • Open and easy to implement with a clear structure.
  • Uniform—one format for edge, lab, and cloud.

OSF is therefore not just a storage format, but a tool for accompanying data streams losslessly and efficiently throughout their entire lifecycle – from the first measurement to analysis.

OSF is designed as a universal streaming format for measurement and process data. It answers the key questions of modern data acquisition: How can continuously streaming data be stored without loss? How can the format remain open and expandable without unnecessary complexity? And how can the requirements of embedded systems be combined with the efficiency of powerful analysis platforms?

The answer is a clear, open structure that applies equally to OSF4 and OSF5:

  • Magic header for identification and fast processing.
  • Metablock (XML or JSON) for describing channels, data types, and context information.
  • Binary data blocks for continuous, robust streaming.
  • Block-oriented storage for efficient writing and fast reloading of large data sets.

Basic OSF file structure

The core architecture allows all time-related data to be stored in a single, consistent format. OSF is openly documented, easy to implement, and scalable from edge devices to the cloud.

OSF Dateistruktur.

What's different about OSF5

  • JSON as the standard for the header (with backward compatibility to OSF4/XML).
  • Simplified use of the control byte in the data block for reduced implementation effort.
  • Elimination of the trailer in favor of a clearer file structure.
  • Flexible magic headers (OCEAN_STREAMING_FORMAT4, OSF4, OSF5) with automatic detection of XML (<) or JSON ({).

The following describes what defines OSF as a format – generally applicable to OSF4 and OSF5. Details on specific functions and vector or matrix channels can be found in separate documents.