Installation instructions for GPAC 0.4.4 on GCC-powered platforms last modified: October 2005 0 Foreword The output directory for all plugins and applications is gpac/bin/gcc As of 0.2.2, GPAC cannot be compiled without ZLIB. You'd better make sure it is installed on your system (zlib is provided in gpac_extra_libs package) I Extra lib installation It is recommended to download and compile all extra libs needed by gpac not installed on your system. II GPAC compilation II.1 SDL Support GPAC can use SDL for audio/video output. If SDL is not installed on your system, you may indicate configure to build with a local copy: --sdl-cfg=path/to/local/sdlcfg/ (make sure to update the local sdl-cfg according to your needs) If you can't get SDL and don't have OSS or WAV audio nor DirectX or X11 video support on your system, you won't be able to play any presentation with GPAC, but you can still use MP4Box. II.2 wxWidgets Support GPAC comes with a GUI player called Osmo4. To compile this player you will need wxWidgets 2.6.0 (2.5.2 should work) installed on your system. Both unicode and ANSI versions of wxWidgets should be supported. If you don't use wxWidgets, you can always use GPAC command-line player MP4Client. II.3 libxml2 Support GPAC can be used to play some SVG files. You may want to use libXML2 for SVG loading, although this is not a requirement (If this library is not installed on the system, SVG support will still be enabled with GPAC's own XML parser). If you have libxml2 but it is not installed on your system, you will have to modify gpac/configure or gpac/modules/svg_loader/Makefile scripts to compile by hand. MINGW users: libXML2 is quite impossible to compile under MinGW, you'll usuall get plenty of errors and only a partial compil. Sorry about that. II.4 MinGW DirectX support When building GPAC under MinGW, it is also possible to compile the DirectX plugin. You will need the MinGW versions of DX libs (available at http://alleg.sourceforge.net/files/). Get dx70_mgw or dx80_mgw (dx8 is provided in gpac_extra_libs package) copy the archive content in your MSys tree (for ex, /usr/local/DirectX) and configure gpac with the option --dxsdk-path=/usr/local/DirectX ** you must keep include and lib folders under the same directory for the configure script to detect DirectX ** II.5 Building GPAC go to root of gpac distribution ./configure (--help for options) - you may need to "chmod +x" this file... make any fixes to configure are welcome :) II.6 Installing GPAC get root type "make install" in gpac/ This will install MP4Client, Osmo4 if configured, MP4Box and all plugins as well as GPAC documentation man: MP4Box(1), MP4Client(1) and GPAC(1). type "make uninstall" to remove gpac from your system II.7 Installing GPAC SDK get root type "make install-lib" in gpac/ This will install gpac base headers (), gpac development headers ( and libgpac_static - the static version of libgpac shared library. type "make uninstall-lib" to remove gpac from your system There is no documentation regarding headers/SDK for now, you will have to rely on function descriptions in each header. III Running GPAC III.1 MP4Client MP4Client is a command-line interface to GPAC. Note that the player cannot work without video support (so you'd better get SDL) GPAC comes with 2 renderers: a 2D only renderer, stable and complete and a 2D/3D renderer still in development. You can switch the renderer used by typing in MP4CLient: "2" to switch to GPAC 2D renderer "3" to switch to GPAC 3D renderer You need a GPAC configuration file to run MP4Client, and you will need it each time. First launch of MP4Client go to gpac/bin/gcc if not using the install. type MP4Client the prompt will ask for 1- GPAC plugin dir: enter the path from / to gpac/bin/gcc. This is skipped when using the install version of MP4Client (the plugin path is hardcoded to the plugins install location on the system) 2- Font directory: enter the path to a truetype font directory on your system (note that if you don't have compiled with freetype any directory will do) 3- cache directory: any directory with write access You now have a valid config file for GPAC, more info on this try "man GPAC" or check gpac/doc/configuration.html. The config file is called ".gpacrc" and is located in the user home directory. You may run the client with a different config file by using the "-c" option. *If you don't see any output window, check the config file doesn't use raw_out.so as a video renderer (or simply remove raw_out.so). MINGW USERS: there are known and terrible bugs with MSys rxvt stdio buffering, do NOT use it to run MP4Client unless you want to understand these bugs. Use w32 CMD.exe instead. Other GPAC apps are no pb for MSys rxvt. III.2 Osmo4 Osmo4 is the GUI frontend to GPAC. If you have installed Osmo4 on your system, the first launch of the player should ask you to locate a directory with TrueType fonts and a cache directory for internet downloads if no configuration file is found. III.3 MP4Box MP4Box is a tool to encode, decode and manipulate MPEG-4 systems data. It does not need a configuration file. Help for MP4Box is available on GPAC web site, with man MP4Box (except on MinGW) and with 'MP4Box -h' III.4 Osmozilla Osmozilla is GPAC plugin for Mozilla-based browsers. It is by default installed to the user mozilla directory ~/.mozilla To install the plugin on the system * get root * ./configure --mozdir=/path/to/mozilla for example --mozdir=/usr/lib/mozilla-firefox * make -C applications/osmozilla install * OR you may copy by hand bin/gcc/nposmozilla.so to /usr/lib/moz**/plugins and bin/gcc/nposmozilla.xpt to /usr/lib/moz**/components IV Configuration IV.0 Foreword All configuration information is described in gpac/doc/configuration.html, or man gpac. IV.1 OpenGL OpenGL is badly known for performing quite poorly as far as high data rate texturing is involved. This is a big issue when displaying a typical movie and you will likely find the GPAC 3D Renderer very slow on your system. If your GPU supports non power of 2 texturing or rectangular texturing (most Win32 drivers do) you shouldn't have any problem with video. Otherwise here are some tips to configure GPAC on your system: 1- set the "BitmapCopyPixels" option on: some cards perform rather well at direct pixel transfer. If no improvement, set it off. 2- set the "BitmapCopyPixels" option off and the "EmulatePOW2" option on. This will trick the GL texturing by using only Power Of 2 textures when converting from YUV to RGB. 3- If this does not improve video playback, you're only chance is through discussion forums & co to gather info about your system, your GL implementation and how to fine-tune it. V Misc There is a demo 2D authoring tool called V4Studio. No makefiles available yet but should compile without pbs (only needs M4Systems and wxWidgets 2.5.2). It is not usable to design content but is a funny toy.