Welcome to Nubomedia-VTT-AR’s documentation!

Contents:

Readme

This project is part of NUBOMEDIA www.nubomedia.eu

ARModule contains marker detector filter utilizing ALVAR augmented reality library ie ALVAR markers can be detected from the video image. ARModule can render 2D and 3D augmentation with OpenCV and Irrlicht rendering engine above the detected ALVAR marker. ARModule can also and send events about markers to the Kurento Client.

The repository contains documentation for installing and utilising the ArModule. The repository contains description of the architecture of the ARModule and also the source code of the ARModule implementation.

Alvar Markers

Some Alvar markers can be found eg from: AlvarMarkers Eg the zero marker is defined as MarkerData_0.png

Artifacts:

Maven Central: http://repo1.maven.org/maven2/fi/vtt/nubomedia/armodule/arfilterdemo/

Npm: https://www.npmjs.com/package/fi-vtt-nubomedia-kurento-module-armarkerdetector

Licensing and distribution

ArModule is 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.

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 ARModule.

Clone repository:

sudo apt-get install git
git clone https://github.com/nubomedia-vtt/armodule.git

Setup the developing environment

cd armodule/misc
chmod u+x setup.sh
./setup.sh
cd ../ar-markerdetector

Create a folder to build the ARModule

mkdir build
cd build

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

To use the compiled results in Kurento just set into:

/etc/default/kurento-media-server-6.0

path to the armodule/build and ALVAR libarary, for example:

export DISPLAY=:0
NAME=$(logname)
export KURENTO_MODULES_PATH=$KURENTO_MODULES_PATH:/home/$NAME/nubomedia/armodule/build
export GST_PLUGIN_PATH=$GST_PLUGIN_PATH:/home/$NAME/nubomedia/armodule/build
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/$NAME/nubomedia/alvar-2.0.0-sdk-linux-gcc44/bin/

Please for details see also ARModule Demo for details and as an example how the ARModule can be utilized.

Installation Guide

AR marker detector filter with 3D

Installation instructions

version 2015-09-24

Tested on Ubuntu Server 14

Tested on Ubuntu Desktop 14

Recommend easy installation

These are the instructions to utilize the ar-markerdetector 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

Optional - ArMarkerDetectorDemo

Note that for each of these, installation instructions are given below.

Installing KMS

For installing Kurento Media Server (KMS),

please refer to

www.kurento.org/

It is better to first install KMS so that you do not have to manually modify KMS config file. But if you still install KMS afterwards ie after you have installed either Option apt-get or Option dpkg then after KMS is installed, add manually eg into /etc/default/kurento-media-server-6.0

export DISPLAY=:0

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/ubuntu trusty main" | sudo tee -a /etc/apt/sources.list
sudo apt-get update
sudo apt-get install ar-markerdetector
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 debian package: ar-markerdetector_6.4.0_amd64.deb

sudo dpkg -i ar-markerdetector_6.4.0_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.