GPAC Project on Advanced Content (GPAC, a
recursive acronym
A recursive acronym is an acronym that refers to itself, and appears most frequently in computer programming. The term was first used in print in 1979 in Douglas Hofstadter's book '' Gödel, Escher, Bach: An Eternal Golden Braid'', in which Hof ...
) is an implementation of the
MPEG-4
MPEG-4 is a group of international standards for the compression of digital audio and visual data, multimedia systems, and file storage formats. It was originally introduced in late 1998 as a group of audio and video coding formats and related tec ...
Systems standard written in
ANSI C
ANSI C, ISO C, and Standard C are successive standards for the C programming language published by the American National Standards Institute (ANSI) and ISO/IEC JTC 1/SC 22/WG 14 of the International Organization for Standardization (ISO) and the ...
. 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:
* A multimedia player, cross-platform command-line based ''MP4Client'' or with a GUI ''Osmo4''
* A multimedia packager, ''MP4Box''
* Some server tools, around multiplexing and streaming (under development).
GPAC is
cross-platform
In computing, cross-platform software (also called multi-platform software, platform-agnostic software, or platform-independent software) is computer software that is designed to work in several computing platforms. Some cross-platform software r ...
. 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
Windows is a group of several proprietary graphical operating system families developed and marketed by Microsoft. Each family caters to a certain sector of the computing industry. For example, Windows NT for consumers, Windows Server for serv ...
,
Linux
Linux ( or ) is a family of open-source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically packaged as a Linux distribution, which ...
, Solaris,
Windows CE
Windows Embedded Compact, formerly Windows Embedded CE, Windows Powered and Windows CE, is an operating system subfamily developed by Microsoft as part of its Windows Embedded family of products.
Unlike Windows Embedded Standard, which is base ...
(SmartPhone, PocketPC 2002/2003), iOS, Android,
Embedded Linux
Operating systems based on the Linux kernel are used in embedded systems such as consumer electronics (eg. set-top boxes, smart TVs and personal video recorders (PVRs)), in-vehicle infotainment (IVI), networking equipment (such as routers, switch ...
(familiar 8, GPE) and recent
Symbian OS
Symbian is a discontinued mobile operating system (OS) and computing platform designed for smartphones. It was originally developed as a proprietary software OS for personal digital assistants in 1998 by the Symbian Ltd. consortium. Symbian ...
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
École may refer to:
* an elementary school in the French educational stages normally followed by Secondary education in France, secondary education establishments (collège and lycée)
* École (river), a tributary of the Seine flowing in région ...
(ENST) as part of research work on digital media.
History and standards
GPAC was founded in
New York City
New York, often called New York City or NYC, is the List of United States cities by population, most populous city in the United States. With a 2020 population of 8,804,190 distributed over , New York City is also the L ...
in 1999. In 2003, it became an
open-source
Open source is source code that is made freely available for possible modification and redistribution. Products include permission to use the source code, design documents, or content of the product. The open-source model is a decentralized sof ...
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
X3D is a royalty-free ISO/IEC standard for declaratively representing 3D computer graphics. File format support includes XML, ClassicVRML, Compressed Binary Encoding (CBE) and a draft JSON encoding. X3D became the successor to the Virtual Rea ...
,
W3C
The World Wide Web Consortium (W3C) is the main international standards organization for the World Wide Web. Founded in 1994 and led by Tim Berners-Lee, the consortium is made up of member organizations that maintain full-time staff working to ...
SVG Tiny 1.2, and
OMA/
3GPP/
ISMA
''Isma'' is an Indomalayan genus of grass skippers in the family Hesperiidae.
Species
Listed alphabetically: and MPEG Dynamic Adaptive Streaming over HTTP (
MPEG-DASH
Dynamic Adaptive Streaming over HTTP (DASH), also known as MPEG-DASH, is an adaptive bitrate streaming technique that enables high quality streaming of media content over the Internet delivered from conventional HTTP web servers. Similar to Apple ...
) features. 3D support is available on embedded platforms through
OpenGL
OpenGL (Open Graphics Library) is a cross-language, cross-platform application programming interface (API) for rendering 2D and 3D vector graphics. The API is typically used to interact with a graphics processing unit (GPU), to achieve hardwa ...
-ES. The MPEG-DASH feature can be used to reconstruct
.mp4
MPEG-4 Part 14 or MP4 is a digital multimedia container format most commonly used to store video and audio, but it can also be used to store other data such as subtitles and still images. Like most modern container formats, it allows streami ...
files from videos
streamed
Streaming media is multimedia that is delivered and consumed in a continuous manner from a source, with little or no intermediate storage in network elements. ''Streaming'' refers to the delivery method of content, rather than the content it ...
and
cached in this format (e.g.,
YouTube
YouTube is a global online video platform, online video sharing and social media, social media platform headquartered in San Bruno, California. It was launched on February 14, 2005, by Steve Chen, Chad Hurley, and Jawed Karim. It is owned by ...
). 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 (
BIFS
MPEG-4 Part 11 ''Scene description and application engine'' was published as ISO/IEC 14496-11 in 2005. MPEG-4 Part 11 is also known as BIFS, XMT, MPEG-J. It defines:
* the coded representation of the spatio-temporal positioning of audio-visual obj ...
/
VRML
VRML (Virtual Reality Modeling Language, pronounced ''vermal'' or by its initials, originally—before 1995—known as the Virtual Reality Markup Language) is a standard file format for representing 3-dimensional (3D) interactive vector graphi ...
/
X3D
X3D is a royalty-free ISO/IEC standard for declaratively representing 3D computer graphics. File format support includes XML, ClassicVRML, Compressed Binary Encoding (CBE) and a draft JSON encoding. X3D became the successor to the Virtual Rea ...
converters, SWF/BIFS, SVG/BIFS, etc....). MP4Box provides all these tools in a single command-line application, albeit with extremely arcane syntax. Current supported features are:
* MP4/3GP Conversion from
MP3
MP3 (formally MPEG-1 Audio Layer III or MPEG-2 Audio Layer III) is a coding format for digital audio developed largely by the Fraunhofer Society in Germany, with support from other digital scientists in the United States and elsewhere. Origin ...
,
AVI
Avi is a given name, usually masculine, often a diminutive of Avram, Avraham, etc. It is sometimes feminine and a diminutive of the Hebrew spelling of Abigail.
People with the given name include:
* Avi (born 1937), Newbery award-winning Americ ...
, MPEG-2 TS, MPEG-PS,
AAC
AAC may refer to:
Aviation
* Advanced Aircraft, a company from Carlsbad, California
* Alaskan Air Command, a radar network
* American Aeronautical Corporation, a company from Port Washington, New York
* American Aviation, a company from Cleveland, ...
,
H263
H.263 is a video compression standard originally designed as a low-bit-rate compressed format for videotelephony. It was standardized by the ITU-T Video Coding Experts Group (VCEG) in a project ending in 1995/1996. It is a member of the H.26x fam ...
,
H264
Advanced Video Coding (AVC), also referred to as H.264 or MPEG-4 Part 10, is a video compression standard based on block-oriented, motion-compensated coding. It is by far the most commonly used format for the recording, compression, and distr ...
,
AMR, and many others,
* 3GPP DIMS Packaging from
SVG tiny 1.2 files,
* File layout: fragmentation or interleaving, and cleaning,
* File hinting for
RTP/
RTSP
The Real Time Streaming Protocol (RTSP) is an application-level network protocol designed for multiplexing and packetizing multimedia transport streams (such as interactive media, video and audio) over a suitable transport protocol. RTSP is us ...
and QTSS/DSS servers (MPEG-4/ISMA/3GP/ 3GP2 files),
* File splitting by size or time, extraction from file and file concatenation,
* XML information dumping for MP4 and
RTP hint tracks,
* Media Track extractions,
* ISMA E&A encryption and decryption,
* 3GPP timed text tools (SUB/SRT/TTXT/TeXML), VobSub import/export,
*
BIFS
MPEG-4 Part 11 ''Scene description and application engine'' was published as ISO/IEC 14496-11 in 2005. MPEG-4 Part 11 is also known as BIFS, XMT, MPEG-J. It defines:
* the coded representation of the spatio-temporal positioning of audio-visual obj ...
codec and scene conversion between MP4, BT and XMT-A,
*
LASeR
A laser is a device that emits light through a process of optical amplification based on the stimulated emission of electromagnetic radiation. The word "laser" is an acronym for "light amplification by stimulated emission of radiation". The fir ...
codec and scene conversion between MP4, SAF, SVG and XSR (XML LASeR),
* XML scene statistics for
BIFS
MPEG-4 Part 11 ''Scene description and application engine'' was published as ISO/IEC 14496-11 in 2005. MPEG-4 Part 11 is also known as BIFS, XMT, MPEG-J. It defines:
* the coded representation of the spatio-temporal positioning of audio-visual obj ...
scene (BT, XMT-A and MP4),
* Conversion to and from BT, XMT-A, WRL, X3D and X3DV with support for gzip.
* A syntax that ensures that simple operations, i.e. concatenating 3 files into one new one, are not simple.
Playing
GPAC supports many protocols and standards, among which:
*
BIFS
MPEG-4 Part 11 ''Scene description and application engine'' was published as ISO/IEC 14496-11 in 2005. MPEG-4 Part 11 is also known as BIFS, XMT, MPEG-J. It defines:
* the coded representation of the spatio-temporal positioning of audio-visual obj ...
scenes (2D, 3D and mixed 2D/3D scenes),
*
VRML
VRML (Virtual Reality Modeling Language, pronounced ''vermal'' or by its initials, originally—before 1995—known as the Virtual Reality Markup Language) is a standard file format for representing 3-dimensional (3D) interactive vector graphi ...
2.0 (VRML97) scenes (without GEO or NURBS extensions),
*
X3D
X3D is a royalty-free ISO/IEC standard for declaratively representing 3D computer graphics. File format support includes XML, ClassicVRML, Compressed Binary Encoding (CBE) and a draft JSON encoding. X3D became the successor to the Virtual Rea ...
scenes (not complete) in X3D (
XML
Extensible Markup Language (XML) is a markup language and file format for storing, transmitting, and reconstructing arbitrary data. It defines a set of rules for encoding documents in a format that is both human-readable and machine-readable. T ...
) and X3DV (VRML) formats,
*
SVG Tiny 1.2 scenes (including packaged in 3GP DIMS files),
*
LASeR
A laser is a device that emits light through a process of optical amplification based on the stimulated emission of electromagnetic radiation. The word "laser" is an acronym for "light amplification by stimulated emission of radiation". The fir ...
and
SAF SAF, S.A.F or saf might refer to:
Companies
* SAF Tehnika, a producer of digital microwave data transmission equipment
* Strip Art Features, a comic book publishing house
* Svenska Automobilfabriken, a Swedish auto manufacturer
Computing
* Ser ...
(partial) support,
* Progressive loading/rendering of
SVG,
X3D
X3D is a royalty-free ISO/IEC standard for declaratively representing 3D computer graphics. File format support includes XML, ClassicVRML, Compressed Binary Encoding (CBE) and a draft JSON encoding. X3D became the successor to the Virtual Rea ...
and XMT files,
*
HTTP
The Hypertext Transfer Protocol (HTTP) is an application layer protocol in the Internet protocol suite model for distributed, collaborative, hypermedia information systems. HTTP is the foundation of data communication for the World Wide Web, ...
reading of all scene descriptions,
* GZIP supported for all textual formats of MPEG4/X3D/VRML/SVG,
* MP4 and 3GPP file reading (local & http),
* MP3 and
AAC
AAC may refer to:
Aviation
* Advanced Aircraft, a company from Carlsbad, California
* Alaskan Air Command, a radar network
* American Aeronautical Corporation, a company from Port Washington, New York
* American Aviation, a company from Cleveland, ...
files (local & http) and HTTP streaming (
ShoutCast/
ICEcast
Icecast is a streaming media project released as free software maintained by the Xiph.Org Foundation. It also refers specifically to the server program which is part of the project. Icecast was created in December 1998/January 1999 by Jack Mof ...
radios),
* Most common media codecs for image, audio and video,
* Most common media containers,
* 3GPP Timed Text / MPEG-4 Streaming Text,
* MPEG-2 TS demultiplexer (local/
UDP/
RTP) with DVB support (Linux only),
* Streaming support through
RTP/RTCP (unicast and multicast) and RTSP/SDP,
* Plugins for Mozilla (''osmozilla'', Win32 and Linux) and Internet Explorer (''GPAX'', Win32 and PPC 2003).
Streaming
As of version 0.4.5, GPAC has some experimental server-side and streaming tools:
* MP4/3GP file
RTP streamer (unicast and multicast),
*
RTP streamer with service timeslicing (DVB-H) simulation,
* MPEG-2 TS broadcaster using MP4/3GP files or
RTP streams as inputs,
*
BIFS
MPEG-4 Part 11 ''Scene description and application engine'' was published as ISO/IEC 14496-11 in 2005. MPEG-4 Part 11 is also known as BIFS, XMT, MPEG-J. It defines:
* the coded representation of the spatio-temporal positioning of audio-visual obj ...
RTP broadcaster tool performing live encoding and RandomAccessPoints generation.
Contributors
The project is hosted at
ENST, a leading French engineering school also known as
Télécom Paris
Télécom Paris (also known as ENST or Télécom or École nationale supérieure des télécommunications, also Télécom ParisTech until 2019) is a French public institution for higher education (''grande école'') and engineering research. Loca ...
. Current main contributors of GPAC are:
* Jean Le Feuvre
* Cyril Concolato
* Romain Bouqueau
* Jérôme Gorin.
Other (current or past) contributors from ENST are:
* Pierre Souchay
* Jean-Claude Moissinac
* Jean-Claude Dufourd
* Benoit Pellan
* Philippe de Cuetos.
Additionally, GPAC is used at ENST for
pedagogical
Pedagogy (), most commonly understood as the approach to teaching, is the theory and practice of learning, and how this process influences, and is influenced by, the social, political and Developmental psychology, psychological development of le ...
purposes. Students regularly participate in the development of the project.
References
External links
GPAC homepageat
Institut Mines-Télécom
Institut Mines-Télécom (IMT) is a French public academic institution dedicated to Higher Education and Research for Innovation in the fields of engineering and digital technology, organized as a Collegiate University. Created in 1996, it was o ...
GPAC projecton
GitHub
GitHub, Inc. () is an Internet hosting service for software development and version control using Git. It provides the distributed version control of Git plus access control, bug tracking, software feature requests, task management, continuous ...
*<
GPAC projecton
SourceForge
SourceForge is a web service that offers software consumers a centralized online location to control and manage open-source software projects and research business software. It provides source code repository hosting, bug tracking, mirrorin ...
(Deprecated 2016.01.23; See GitHub)
GPAC Licensing(business support)
{{DEFAULTSORT:Gpac Project On Advanced Content
MPEG
Graphics standards
Scalable Vector Graphics
Cross-platform free software
Free software programmed in C
Free video conversion software
Free 3D graphics software