Getting Started with FMJ

Here you can find some good tips about FMJ and it's dependencies.

FMJ from CVS and Release Bundles

There are several .sh/.bat applications included into FMJ release:

  • fmjstudio - lets you play media, and has dropdowns already for the sample media included with FMJ. If you have a video camera installed on your system, you should be able to view it using the appropriate tool button.
  • fmjplay - a no-frills player. Requires the media parameter as a URL as a command-line argument. Files must begin with file:// prefix.
  • fmjtranscode - a command-line transcoding application. Run it with no arguments to get example usage.
  • fmjregistry - is similar to the JMFRegistry application. It is not necessary to run this application to view the samples. It is useful if you are using external codecs, etc., which need to be registered (e.g. JFFMPEG). In particular, FMJStudio can do dynamic capture device detection, so there is no need to do this in the registry.

There is an example of how to use FMJ in an applet in applet.example. Please, read the comments in the HTML files.

 

Adding Native External Libraries

FMJ can take advantage of a number of native, dynamic libraries, if they are present, and in your library path. Currently supported are :

  1. FFMPEG

    Note : mmx is disabled in this example, as it has caused problems in the past.

    Step 1 : Get FFMPEG sources from http://ffmpeg.mplayerhq.hu/

    Step 2 : Build / install FFMPEG :

    ./configure --disable-mmx --enable-shared

    make

    sudo make install
  2. Ogg/Theora/Vorbis

    Step 1 : Get Ogg, Vorbis and Theora sources from http://www.theora.org/. Check README file from your distribution bundle. It contains versions of libraries used for a particular FMJ build.

    Step 2 : Build / install the libraries by running the standard build procedure :

    ./configure

    make

    sudo make install
  3. GStreamer

    Please, follow the instructions found on http://gstreamer.freedesktop.org/.

 

In several *nix systems, sometimes have to set your library path explicitly. For example :

export LD_LIBRARY_PATH=/usr/local/lib