Written in C Working state Current | Source model Open source | |
![]() | ||
Developer Jean Le Feuvre, People@GPAC Initial release 2003; 14 years ago (2003) |
GPAC Project on Advanced Content (GPAC, a recursive acronym) 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.
Contents
GPAC provides three sets of tools based on a core library called libgpac:
GPAC is cross-platform. It is written in (almost 100% ANSI) C for portability reasons, attempting to keep the memory footprint as low as possible. It is currently running under Windows, Linux, Solaris, Windows CE (SmartPhone, PocketPC 2002/2003), iOS, Android, Embedded Linux (familiar 8, GPE) 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 (ENST) as part of research work on digital media.
History and standards
GPAC has roots in a New York city startup 1999. As an open-source project GPAC officially started in 2003 with the initial goal to develop from scratch, in ANSI C, clean software compliant to the MPEG-4 Systems standard, a small and flexible alternative to the MPEG-4 reference software. It is actually licensed under LGPL.
In parallel, the project has evolved and now supports many other multimedia standards, with some good support for X3D, W3C SVG Tiny 1.2, and OMA/3GPP/ISMA and MPEG Dynamic Adaptive Streaming over HTTP (MPEG-DASH) features. 3D support is available on embedded platforms through OpenGL-ES.
The MPEG-DASH feature can be used to reconstruct .mp4 files from (e.g., YouTube) videos streamed and cached in this format. Various research projects used or use GPAC. Since 2013 GPAC Licensing offers business support and (closed source) licenses.
Packaging
GPAC features encoders and multiplexers, publishing and content distribution tools for MP4 files and many tools for scene descriptions (BIFS/VRML/X3D converters, SWF/BIFS, SVG/BIFS, etc.…). MP4Box provides all these tools in a single command-line application. Current supported features are:
Playing
GPAC supports many protocols and standards, among which:
Streaming
As of version 0.4.5, GPAC has some experimental server-side and streaming tools:
Contributors
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 (current or past) contributors from ENST are:
Additionally, GPAC is used at ENST for pedagogical purposes. Students regularly participate in the development of the project.