Welcome to Nubomedia-VTT-MsData’s documentation!¶
Contents:
Readme¶
This project is part of NUBOMEDIA www.nubomedia.eu
MultisensoryDataFilter (MsData)
The repository contains documentation for installing and utilising the MsData. The repository contains description of the architecture of the MsData and also the source code of the MsData implementation.
MsData implements multi-domain AR filter providing 2D graphics visualisation service to other modules through data pads. Data channels are utilized thus MsData Interface enables sending of different kinds of content based on the identification and variable arguments thus the format of the data is quite flexible. Developers can create new visualisations not yet known thus extending MsData. Example for drawing a graph is available. Because the filter needs to support data-pads, the filter is based on Kurento GStreamer module. Refer the Kurento documentation for a more complete view of the Kurento architecture.
The following image show the current visualisations provided ie heart rate, temperature and graph. In addition, speed meter visualisation is considered.



Licensing and distribution
Licensed under the Apache License, Version 2.0 (the “License”); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an “AS IS” BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Contribution policy
You can contribute to the Nubomedia community through bug-reports, bug-fixes, new code or new documentation. For contributing to the Nubomedia community, drop a post to the [Nubomedia Public Mailing List] providing full information about your contribution and its value. In your contributions, you must comply with the following guidelines
- You must specify the specific contents of your contribution either through a detailed bug description, through a pull-request or through a patch.
- You must specify the licensing restrictions of the code you contribute.
- For newly created code to be incorporated in the Nubomedia code-base, you must accept Nubomedia to own the code copyright, so that its open source nature is guaranteed.
- You must justify appropriately the need and value of your contribution. The Nubomedia project has no obligations in relation to accepting contributions from third parties.
- The Nubomedia project leaders have the right of asking for further explanations, tests or validations of any code contributed to the community before it being incorporated into the Nubomedia code-base. You must be ready to addressing all these kind of concerns before having your code approved.
Support
[NUBOMEDIA]: http://www.nubomedia.eu [Nubomedia Public Mailing List]: https://groups.google.com/forum/#!forum/nubomedia-dev
Developers Guide¶
This documents provides information how to develope the MultisensoryDataModule (MsData).
Clone repository:
sudo apt-get install git
git clone https://github.com/nubomedia-vtt/msdata.git
Create a folder to build the MsData
mkdir build
cd build
Kurento Client Interface¶
Now you have an option to generate either Java or JavaScript interface for the Kurento Client (or naturally both if you need)
Java version
cmake .. -DGENERATE_JAVA_CLIENT_PROJECT=TRUE
JavaScript version
cmake .. -DGENERATE_JS_CLIENT_PROJECT=TRUE
Developing Source Code¶
To use the compiled results in Kurento just set into:
/etc/default/kurento-media-server-6.0
for example:
NAME=$(logname)
export KURENTO_MODULES_PATH=$KURENTO_MODULES_PATH:/home/$NAME/nubomedia/msdata/build
export GST_PLUGIN_PATH=$GST_PLUGIN_PATH:/home/$NAME/nubomedia/msdata/builds
MsData Interface ie Data Pads¶
Both MsData and the filter that utilized MsData through data pads must naturally agree on the data that is delivered but flexible interface between modules is enabled. As a consequence functionality of the MsData can be increased without affecting the MsData interface.
Data Channel Demo¶
As an example about utilization of MsData with data channel, familiarize with a graph demo , ie ‘Hello World App’, which sends user defined data for drawing a graph.

The media pipeline is done with the following structure:
KmsMsData kmsMsData = new KmsMsData.Builder(mediaPipeline).build();
webRtcEndpoint.connect(kmsMsData);
kmsMsData.connect(webRtcEndpoint);
Currently the functionality is driven through interpretation of the given data. Explicit functionality can be added as necessary. The current implementation interprets the given data as a series of integers that are visualized as a graph. There are plans to develop some new applications which might eg instead of series of integers utilize JSON as data in the future.
Installation Guide¶
Recommend easy installation¶
These are the instructions to utilize the multisensorydata filter.
If you wish to have the most convenient installation, you should install the following in this order:
KMS (this refers to the latest KMS version eg KMS6)
Option apt-get
Note that for each of these, installation instructions are given below.
Installing with Option apt-get¶
Choose this if you wish to install with apt-get the latest release version (not necessarily contains the latest features).
Execute:
echo "deb [arch=amd64] http://ssi.vtt.fi/ubuntux trusty main" | sudo tee -a /etc/apt/sources.list
sudo apt-get update
sudo apt-get install msdata
sudo ldconfig
sudo /etc/init.d/kurento-media-server-6.0 restart
Installing with Option dpkg¶
Note that this is alternative to the Option apt-get.
Choose this if you wish to install with dpkg the latest release version (not necessarily contains the latest features).
Fetch and install the latest debian package (eg at the moment 6.6.1 or newer):
Check the folder for the latest one if needed
sudo dpkg -i msdata_6.6.1_amd64.deb
sudo apt-get -f install
sudo ldconfig
sudo /etc/init.d/kurento-media-server-6.0 restart
Licensing and distribution¶
Licensed under the Apache License, Version 2.0 (the “License”); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an “AS IS” BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
ALVAR 2.0.0 - A Library for Virtual and Augmented Reality Copyright 2007-2012 VTT Technical Research Centre of Finland Licensed under the GNU Lesser General Public License
Irrlicht Engine, the zlib and libpng. The Irrlicht Engine is based in part on the work of the Independent JPEG Group The module utilizes IJG code when the Irrlicht engine is compiled with support for JPEG images.