GPAC Project on Advanced Content


GPAC Project on Advanced Content is an implementation of the MPEG-4 Systems standard written in ANSI C. GPAC provides tools for media playback, vector graphics and 3D rendering, MPEG-4 authoring and distribution.
GPAC provides three sets of tools based on a core library called libgpac:
GPAC is cross-platform. It is written in C for portability reasons, attempting to keep the memory footprint as low as possible. It is currently running under Windows, Linux, Solaris, Windows CE, iOS, Android, Embedded Linux and recent Symbian OS systems.
The project is intended for a wide audience ranging from end-users or content creators with development skills who want to experiment the new standards for interactive technologies or want to convert files for mobile devices, to developers who need players and/or server for multimedia streaming applications.
The GPAC framework is being developed at École nationale supérieure des télécommunications as part of research work on digital media.

History and standards

GPAC was founded in New York City in 1999. In 2003, it became an open-source project, with the initial goal of developing from scratch, in ANSI C, clean software compliant with the MPEG-4 Systems standard, as a small and flexible alternative to the MPEG-4 reference software.
In parallel, the project has evolved and now supports many other multimedia standards, with support for X3D, W3C SVG Tiny 1.2, and OMA/3GPP/ISMA and MPEG Dynamic Adaptive Streaming over HTTP features. 3D support is available on embedded platforms through OpenGL-ES. The MPEG-DASH feature can be used to reconstruct.mp4 files from videos streamed and cached in this format. Various research projects used or use GPAC.
Since 2013, GPAC Licensing has offered business support and closed-source licenses.

Multimedia content features

Packaging

GPAC features encoders and multiplexers, publishing and content distribution tools for MP4 files and many tools for scene descriptions. MP4Box provides all these tools in a single command-line application, albeit with extremely arcane syntax. Current supported features are:
GPAC supports many protocols and standards, among which:
As of version 0.4.5, GPAC has some experimental server-side and streaming tools:
The project is hosted at ENST, a leading French engineering school also known as Télécom ParisTech. Current main contributors of GPAC are:
Other contributors from ENST are:
Additionally, GPAC is used at ENST for pedagogical purposes. Students regularly participate in the development of the project.