CatDV - capture, analyse, retrieve digital media

CatDV Survey
Annual Support
Video Tutorials
Final Cut Pro X
FCS Migration Tool
Premiere Pro

Third Party Media Frameworks

Since version 9 CatDV uses a plug-in media library architecture and is capable of working with a number of different media frameworks to provide media analysis and playback support. Currently, the following libraries are supported:

The rest of this page describes how to download and install Xuggle for your platform. Xuggle is provided under an LGPL open-source license so download links for the source code are also provided.

Please note that Xuggle is originally provided by ConnectSolutions LLC and we are extremely grateful for their efforts in making it available. Xuggle is mirrored here purely for your convenience.

Download Xuggle for Windows

An installer for 32-bit Windows Vista or XP is available here:

xuggle-xuggler.3.4.1012-win32-setup.exe (mirrored here) (21.2 MB)

Download Xuggle for Mac OS X

An installer for 32-bit Intel Macs, 10.5 or later, is available here:

Xuggle-4.0.1065.pkg (30.3 MB)

Using Xuggle from CatDV 9

So that CatDV can find Xuggle, on Mac OS X ensure that the Xuggle libraries are installed in /usr/local/xuggle. On Windows, ensure that the XUGGLE_HOME environment variable is set. In each case, this will happen by default if you install Xuggle using the recommended installer and no further action should be necessary.

Once this is done, CatDV will be able to locate and dynamically load the Xuggle libraries if you check the "Use Xuggle Player" option in CatDV's preferences. When Xuggle is being used, you will see a yellow 'X' (instead of the blue 'Q', green 'P', or red 'J' playback indicator).

Building Xuggle from source code

If you would like to compile Xuggle for yourself, the source code used to create the binaries above is available here in archived form:

CatDV only uses a small subset of Xuggle functionality and works equally well with 3.4 or 4.0, and with the LGPL'd (freely distributable) or GPL'd (non-redistributable) versions of Xuggle. Also, CatDV can run as a 64-bit or 32-bit process. However, QuickTime is only available for 32-bit applications, so if you want to use QuickTime and Xuggle (or JMF) side-by-side you need a 32-bit version of these libraries. ConnectSolutions LLC only provide 64-bit binaries for Mac OS X, but the following instructions can be used to build a 32-bit version of the binaries:

  1. You must use an Intel Mac running Mac OS X 10.5.8 (if you have 10.6 you will only be able to compile 64-bit binaries due to changes in the gcc compiler, even if you specifiy -Dbuild.m64=no). You will also need to download and install Xcode 3.1.3 or later.

  2. If you don't already have 'yasm', download and install MacPorts-1.9.2.pkg, then type
    sudo port install yasm
  3. Get the xuggle source code from a source snapshot above, or directly from the SVN repository by typing
    svn checkout
      ggle-xuggler xuggle-xuggler
    cd xuggle-xuggler
  4. To disable the optional GPL'd code, use a text editor to edit the file captive/ffmpeg/ and comment out all mentions of --enable-gpl, --enable-nonfree and --enable-libx264

  5. Set your environment by typing the following
    export XUGGLE_HOME=/usr/local/xuggler
    export PATH=$XUGGLE_HOME/bin:$PATH
  6. Compile the code with

    ant -Dbuild.m64=no clobber run-tests

  7. Assemble the files you need into one directory by typing

    mkdir /tmp/xug
    cp -pr build/native/i386-apple-darwin9.8.0/captive/usr /tmp/xug
    cp -pr dist/stage-core/usr /tmp/xug
    You can't directly use the files in dist/stage (the .dylib files there include hardcoded paths to your original build directory for some reason).

  8. Use /Developer/Tools/Applications/Utilities/ to create an installer package that will install /tmp/xug/usr/local/xuggler to /usr/local/xuggler

The Xuggle project page or xuggler-users mailing list on Google Groups may provide additional sources of information but remember that Xuggle is a free open source project provided by volunteers for developers — this isn't a commercial technical support forum!