/Movid

A real-opensource tracker for touch, fiducials...

Primary LanguageCOtherNOASSERTION

###################################################
# About
###################################################

Movid is an acronym for Modular Open Vision Interaction Daemon. 
Movid a crossplatform and Open Source tracker, designed to be as modular as possible.

For more information see: http://www.movid.org



###################################################
# Features
###################################################

* Crossplatform
Movid is fully cross-platform. It runs on Windows, Linux, MacOSX and FreeBSD. You can share and use the same "pipeline presets" for every platform. 

* Daemon
As the acronym suggests, Movid runs as a daemon process. That means you can launch it on a headless computer if you want. 

* Threading
With Movid, you have the ability to enable threading for any module you want. That means you are finally able to use your Core 2 Duo / Quad Core to its full potential. :) Obviously, you can still use non-threaded mode if all you got is a single-core processor. 

*Remote API
Movid has a JSON remote API to control all the settings and adjust your pipeline in real time! 

*HTML5 Administration
Movid Web administration makes use of the most recent developments in web programming with open standards like HTML5. No heavy flash or Java required, although one sure could create a frontend using those platforms. All that is required is a compatible HTML5 web browser. As of today, Firefox 3.6, Safari and Chromium have successfully run Movid Web Administration.



###################################################
# License
###################################################
Movid Copyright (C) 2010 Movid Authors (see AUTHORS file).  All rights reserved.
Movid may be used and distributed under the terms of the Q Public License as appearing in the LICENSE file distributed with this software.



###################################################
# Compiling Movid
###################################################

+++++++++++++++++++++++++++++++++++++++++++++++++++
+ Linux Compile Notes
+++++++++++++++++++++++++++++++++++++++++++++++++++

The following instructions are for Ubuntu/Debian.
They should be easily transferable to other linux distributions.
Building from source on these distributions is really easy.

First, you have to install the opencv headers, git and the build-tools:
sudo apt-get install libcv-dev libcvaux-dev libhighgui-dev git-core build-essential

Then, you get the current development version of Movid:
git clone git://github.com/tito/Movid.git

Afterwards, we change to the Movid repo you just cloned:
cd Movid

It is time to compile, let's run make!
make

Now you should be able to use movid already. Try the simple-video preset:
./movid -l presets/simple-video.txt

Now that the daemon is running, you can simply open your webbrowser
(needs to be Firefox 3.6 or some other browser with HTML5 and support for
the canvas object. Javascript has to be enabled.) and navigate to the admin interface:
http://127.0.0.1:7500/


+++++++++++++++++++++++++++++++++++++++++++++++++++
+ Windows Compile Notes
+++++++++++++++++++++++++++++++++++++++++++++++++++

There is a visual studio solution in the Movid.visualstudio folder.

Before you can open it and compile without errors, you need to install OpenCV.  You can compile openCV 2.0 yourself.  The official binary distribution will not work because teh libs and dlls are build with mingw, dont work with visual studio, and dont include the blob tracking stuff in cvaux.

If you dont want to compiel yourself, do teh following:

*download http://tehansen.de/OpenCV.zip
*unzip to C:\OpenCV  

it must go in C:\OpenCV, otherwise you need to change the library include directory in teh Movid Visual Studio project, also teh VS studio set teh PATH environment variable to include c:\OpenCV\bin.  If you dont know what this paragraph is talking about, just make sure you unzip it into C:\OpenCV, so that the dll files are in C:\OpenCV\bin, and the lib files in C:\OpenCV\lib


+++++++++++++++++++++++++++++++++++++++++++++++++++
+ OSX Compile Notes
+++++++++++++++++++++++++++++++++++++++++++++++++++

On OSX, you must build OpenCV before buildiong Movid, see OpenCV compile instruction further down if you dont know how to do this yourself


==================================================
To build Movid on OSX:
==================================================
The included XCode project should be set up for you to just build and run Movid
The Xcode project is set up to use the regular Makefile to build Movid.  

The XCode project has some environment variables defined for the Makefile build configuraton.  
(To see or change the build variables: double click the Movid Tagrget in XCode and see the Build Setting section)

The custom setting that have been changed from the default Makefile XCode are:
	CXX = g++-4.0
	PATH = ${PATH}:/opt/local/bin
	PKG_CONFIG_PATH = /usr/local/lib/pkgconfig
	

The only reason why you would have to change these, is if you istalled openCV or pkg-config to non standard locations on your system. 
Here is what they are set to in the Movid Project, and why:

CXX: 
    is set to g++-4.0, because OpenCV has to be compiled with that on OSX, 
	so you need to  compile your programs using it too if you link against OpenCV
	
PATH: 
    /opt/local/bin is added, becasue otherwise XCode can't find the 
	'pkg-config' program (installed by fink)
	
PKG_CONFIG_PATH 
    /usr/local/lib/pkgconfig is added becasue thats where OpenCV 
	installs its opencv.pc (for pkg-config) file by default.


==================================================
To build OpenCV on OSX:
==================================================
*install macports (http://www.macports.org/)

*install svn and cmake (run in terminal the following):
    sudo port install subversion
    sudo port install cmake

*Get OpenCV source code (run in terminal the following):
    svn co https://code.ros.org/svn/opencv/trunk opencv

*Configure OpenCV (run in terminal the following):
    cd opencv
	mkdir opencv/build
	cd opencv/build
	cmake ..
	ccmake .    <--starts cmake config, you must change CMAKE_CXX_COMPILER, and CMAKE_C_COMPILER !!

IMPORTANT!!! : 
On Snow Leaopard (OSX 10.6), you must change which compiler is being used for OpenCV to build.  
Inside the cmake config do the following:
    press 't'  (now advanced options are also shown)
    find 'CMAKE_CXX_COMPILER' in the list of variales. (use up/down keys)
        change the value to '/usr/bin/g++-4.0' (was /usr/bin/g++ before, hit enter to edit, and again to finish editing)
    find 'CMAKE_C_COMPILER' in teh list of variables
        change the value to '/usr/bin/gcc-4.0' (enter key to edit, enter key again when done editing )
	
*finish configuration:
    hit 'c', to run the configuration
    hit 'g ' to generate the makefile

*build and install OpenCV (run in terminal the following):
    make                <-- this compiles OpenCV
    sudo make install   <-- if make completed without error, run this to install OpenCV to system




That's it! You can now play with Movid! If you have questions, feature requests, find bugs or want to help, please see the following page: http://movid.org/Documentation/HowToContribute