HOME

TheInfoList



OR:

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 Hofs ...
) 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 t ...
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 th ...
. 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 ...
. 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 se ...
,
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, whi ...
, 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 box A set-top box (STB), also colloquially known as a cable box and historically television decoder, is an information applianc ...
(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 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 École may refer to: * an elementary school in the French educational stages normally followed by secondary education establishments (collège and lycée) * École (river), a tributary of the Seine flowing in région Île-de-France * École, Savo ...
(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 so ...
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 Scalable Vector Graphics (SVG) is an XML-based vector image format for defining two-dimensional graphics, having support for interactivity and animation. The SVG specification is an open standard developed by the World Wide Web Consortium s ...
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 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 sharing and 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 Google, and is the second mo ...
). 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/
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 graph ...
/ X3D 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, H263, H264, 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 u ...
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 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 ...
codec and scene conversion between MP4, SAF, SVG and XSR (XML LASeR), * XML scene statistics for BIFS 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 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 graph ...
2.0 (VRML97) scenes (without GEO or NURBS extensions), * X3D 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 Scalable Vector Graphics (SVG) is an XML-based vector image format for defining two-dimensional graphics, having support for interactivity and animation. The SVG specification is an open standard developed by the World Wide Web Consortium s ...
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 ...
and SAF (partial) support, * Progressive loading/rendering of
SVG Scalable Vector Graphics (SVG) is an XML-based vector image format for defining two-dimensional graphics, having support for interactivity and animation. The SVG specification is an open standard developed by the World Wide Web Consortium s ...
, X3D 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 We ...
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 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 Mo ...
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 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. 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 purposes. Students regularly participate in the development of the project.


References


External links


GPAC homepage
at Institut Mines-Télécom
GPAC project
on
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, cont ...
*<
GPAC project
on
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, mirroring ...
(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