Installation from sources on Windows

Basic installation. First of all, install the following dependencies:

Table 1.5. Requirements

SoftwareTested with version
UPF0.1.5
Python2.5.1
wxPython2.8.6.1 Unicode

Python and wxPython binaries are available at their homepages. Do not use Python different from version 2.5.x. Also, use only stable releases of wxPython (series A.B, where B is an even number); do not use version 2.8.7.1. We recommend to use the Unicode version of wxPython; with the ANSI version, you won't be able to process files with non-ASCII (e.g. Czech, German, Chinese ...) filenames.

UPF 0.1.5 binary can be downloaded from Sourceforge.

We proceed by downloading OpenVIP sources from the CVS repository:

cvs -z3 -d:pserver:anonymous@openvip.cvs.sourceforge.net:/cvsroot/openvip co -P openvip 

After that, check the file Jam-config in OpenVIP top level directory and update the values of UPF_PATH, PYTHON_ROOT and PYTHON_VERSION in the NT section to match your system settings. Note that UPF must be installed in directory whose name doesn't contain spaces.

Before compiling OpenVIP we need one more prerequisity, the FFmpeg library. OpenVIP has been tested with FFmpeg revision 10461 (11th September 2007), which can be obtained from the FFmpeg Win32 build page. We need the files ffmpeg-r10461-include.tar.bz2, ffmpeg-r10461-gpl-lshared-win32.tar.bz2 and ffmpeg-r10461-gpl-shared-win32.tar.bz2. The contents of these packages must be copied to the subdirectories of the win32 directory in the OpenVIP top-level directory: All header files (including the ffmpeg directory) must be unpacked to win32\include, the DLL files avcodec-51.dll, avformat-51.dll, avutil-49.dll, swscale-0.dll and pthreadGC2.dll belong under win32\dlls and the LIB files avcodec-51.lib, avformat-51.lib, avutil-49.lib, swscale-0.lib go under win32\lib\mingw.

To compile OpenVIP you need the Boost Jam tool and a gcc compiler. We have succeeded with Boost Jam 3.1.14 and gcc 3.2.3 (which is included in MinGW 3.1.0). Go to the OpenVIP top level directory (it contains the Jamfile), run

bjam -sTOOLS=mingw

and wait...

Note

  1. In case you prefer a Microsoft Visual C++ or Borland C++ compiler, use the option -sTOOLS=msvc or -sTOOLS=borland, respectively. Please note that we do not test OpenVIP against these compilers, so this is not guaranteed to work.

  2. A common problem on Windows is that bjam fails to compile anything. If this happens, check how TMPDIR and TMP environment variables are defined. If they contain long filenames with spaces, modify them to use short filenames without spaces.

The compiled binaries are copied to the bin subdirectory. Please set the environment variable OPENVIP_HOME to point to that directory. You can now try to launch OpenVIP; for example, if you installed OpenVIP to C:\openvip, type

c:\>cd openvip\bin
c:\openvip\bin>openvip-gui.py

If everything works and you don't need the sources any more, you may delete all subdirectories other than bin. You can also copy the contents of bin somewhere else, e.g. to C:\openvip. Don't forget to set OPENVIP_HOME accordingly.

Documentation. OpenVIP documentation is written in the Docbook format. If you want to use the builtin help, go to the doc subdirectory and run

make htmlhelp

(this requires xmllint and xsltproc to be installed). Compiled help files will be copied to the bin directory. Alternatively, you can use the online documentation at SourceForge.

Optional features. You can optionally install the following software:

Table 1.6. Optional requirements

SoftwareTested with version
Python Imaging Library (PIL)1.1.2
Graphviz2.6
libxslt1.0.19

The PIL is necessary for running thumbnail.py, a Python script for generating thumbnails from a video file.

You need the dot program from the Graphviz package to process files created by visualize.py, a script for visualization of OpenVIP network files.

libxslt is necessary for converting the documentation written in Docbook to HTML.

A note about compiling AviInput with MinGW. In case you compile OpenVIP with MinGW and want to use native Windows codecs please follow these instructions (otherwise only ffmpeg codecs will be used):

MinGW doesn't by default have Video for Windows header files and import libraries, so you have to get them elsewhere. Here is how to get them from Microsoft Visual C++ 6.0:

  1. Copy files vfw.h, mmreg.h and msacm.h from the MSVC include directory to the MinGW include directory.

  2. Download MinGW Utilities.

  3. Use the reimp utility on the vfw32.lib library taken from MSVC lib directory.

  4. Copy the resulting libavifil32.a and libmsvfw32.a libraries to the MinGW lib directory.

Now open the Jamfile in OpenVIP top-level directory and find the following section:

# dll in_vfwavi : <template>plugin
#       src/plugins/in_vfwavi/in_vfwavi.cpp
#       src/plugins/in_vfwavi/in_vfwavi_factory.cpp
#       src/plugins/in_vfwavi/module_def.cpp
#   :
#       <msvc><*><find-library>vfw32
#       <msvc><*><find-library>msacm32
#       <mingw><*><find-library>msvfw32
#       <mingw><*><find-library>avifil32
#       <mingw><*><find-library>msacm32
#   ;

And also this one:

#        <dll>in_vfwavi

In both sections remove comments (the leading # symbols) and compile OpenVIP using bjam as explained above.