OpenViBE Documentation



The writing of the OpenViBE project documentation is in progress and far from complete at the moment. The way the documentation is structured may also change over time. However, existing documentation files are already made available to users and developers since they contain valuable information, albeit in a not very organised fashion. This is a start...

Don't forget to read the Frequently asked questions !

Have a nice reading!


This website describes the OpenViBE software platform. OpenViBE enables to design, test and use Brain-Computer Interfaces. Brain-Computer Interfaces (BCI) are communication systems that enable users to send commands to computers only by means of brain activity.

OpenViBE is free and open source (under the term of this Licence). The whole software is developed in C++. It consists of a set of software modules that can be integrated easily and efficiently to design BCI applications. Key features of the platform are:

  • Modularity and reusability. Our platform is a set of software modules devoted to the acquisition, pre-processing, processing and visualization of cerebral data, as well as to the interaction with virtual reality displays. OpenViBE being a general purpose software implies users should be able to easily add new software modules in order to fit their needs. This is ensured thanks to the concept of box algorithm, a "black box" in charge of a fraction of the whole processing pipeline, that allows to develop reusable components, reduces development time and helps to quickly extend functionalities (See Box algorithms list for a list of the existing box algorithms).
  • Different types of user. OpenViBE is designed for different types of user: developers, clinicians, BCI researchers, etc. Their various needs are addressed and different tools are proposed for each of them, depending on their programming skills and their knowledge in brain processes.
  • Portability. The platform operates independently from the different software and hardware targets. It includes an abstraction allowing to run with various acquisition machines, such as EEG or MEG. It can run on Windows and Linux and also includes different data visualisation techniques. Also, it is based on free and portable softwares (e.g., GTK+, IT++, GSL, VRPN, GCC).
  • Connection with virtual reality (VR). Our software can be integrated with high-end VR applications. OpenViBE can serve as an external peripheral to connect a BCI system to any kind of VR application. It also takes advantage of VR displays thanks to a light abstraction of a scenegraph management library, allowing to visualize cerebral activity more efficiently or to provide incentive training environments (e.g., for neurofeedback).

As compared to other BCI softwares, the OpenViBE platform is highly modular. It addresses the needs of different types of users (programmers and non-programmers) and proposes a user-friendly graphical language which allows non-programmers to design a BCI without writing a single line of code. Moreover, OpenViBE is portable, is independent of the hardware or software, can run on both Windows and Linux and is entirely based on free and open-source softwares.

User Documentation

Developer Documentation

Details on EBML

  • Doc_WhatIsEBML
  • Doc_ParsingEBMLStreams
  • Doc_FormatingEBMLStreams

Ongoing Documentation

  • Connector Types (should be completed - YR)
  • Doc_SoftwareArchitectureOverview (should be completed - YR)
  • Doc_VisualisationManager (orphaned page - VD)
  • Doc_VisualisationContext (orphaned page - VD)
  • Data visualisation (orphaned page - VD)