GPAC Project on Advanced Content
Encyclopedia
GPAC stands for GPAC Project on Advanced Content (a recursive acronym
Recursive acronym
A recursive acronym is an acronym or initialism that refers to itself in the expression for which it stands...

). It is an implementation of the MPEG-4
MPEG-4
MPEG-4 is a method of defining compression of audio and visual digital data. It was introduced in late 1998 and designated a standard for a group of audio and video coding formats and related technology agreed upon by the ISO/IEC Moving Picture Experts Group under the formal standard ISO/IEC...

 Systems standard written in ANSI C
ANSI C
ANSI C refers to the family of successive standards published by the American National Standards Institute for the C programming language. Software developers writing in C are encouraged to conform to the standards, as doing so aids portability between compilers.-History and outlook:The first...

. GPAC provides tools for media playback, vector graphics and 3D rendering
Rendering (computer graphics)
Rendering is the process of generating an image from a model , by means of computer programs. A scene file contains objects in a strictly defined language or data structure; it would contain geometry, viewpoint, texture, lighting, and shading information as a description of the virtual scene...

, 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
Cross-platform
In computing, cross-platform, or multi-platform, is an attribute conferred to computer software or computing methods and concepts that are implemented and inter-operate on multiple computer platforms...

. It is written in (almost 100% ANSI) C
C (programming language)
C is a general-purpose computer programming language developed between 1969 and 1973 by Dennis Ritchie at the Bell Telephone Laboratories for use with the Unix operating system....

 for portability reasons, attempting to keep the memory footprint as low as possible. It is currently running under Windows
Microsoft Windows
Microsoft Windows is a series of operating systems produced by Microsoft.Microsoft introduced an operating environment named Windows on November 20, 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces . Microsoft Windows came to dominate the world's personal...

, Linux
Linux
Linux is a Unix-like computer operating system assembled under the model of free and open source software development and distribution. The defining component of any Linux system is the Linux kernel, an operating system kernel first released October 5, 1991 by Linus Torvalds...

, Solaris, Windows CE
Windows CE
Microsoft Windows CE is an operating system developed by Microsoft for embedded systems. Windows CE is a distinct operating system and kernel, rather than a trimmed-down version of desktop Windows...

 (SmartPhone, PocketPC 2002/2003), iOS, Android, Embedded Linux
Embedded Linux
Embedded Linux is the use of Linux in embedded computer systems such as mobile phones, personal digital assistants, media players, set-top boxes, and other consumer electronics devices, networking equipment, machine control, industrial automation, navigation equipment and medical instruments...

 (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
École Nationale Supérieure des Télécommunications
Télécom ParisTech is one of the most prestigious and selective grandes écoles in France and one of the finest institutions in the field of Telecommunications...

 (ENST) as part of research work on digital media.

GPAC and standards

GPAC officially started as an open-source project 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
X3D
X3D is the ISO standard XML-based file format for representing 3D computer graphics, the successor to the Virtual Reality Modeling Language . X3D features extensions to VRML X3D is the ISO standard XML-based file format for representing 3D computer graphics, the successor to the Virtual Reality...

, W3C SVG Tiny 1.2, and OMA
Open Mobile Alliance
The Open Mobile Alliance is a standards body which develops open standards for the mobile phone industry.- Principles :Mission: To provide interoperable service enablers working across countries, operators and mobile terminals....

/3GPP
3GPP
The 3rd Generation Partnership Project is a collaboration between groups of telecommunications associations, known as the Organizational Partners...

/ISMA
Internet Streaming Media Alliance
The Internet Streaming Media Alliance was Founded in December 2000, by Apple Computer, Cisco Systems, IBM, Kasenna, Philips, and Sun Microsystems. It is a non-profit corporation whose mission is to accelerate the market adoption of open standards for streaming and progressive download of rich...

 and MPEG Dynamic Adaptive Streaming over HTTP (DASH) features. 3D support is available on embedded platforms through OpenGL
OpenGL
OpenGL is a standard specification defining a cross-language, cross-platform API for writing applications that produce 2D and 3D computer graphics. The interface consists of over 250 different function calls which can be used to draw complex three-dimensional scenes from simple primitives. OpenGL...

-ES.

Packaging Multimedia Content

GPAC features encoders and multiplexers, publishing and content distribution tools for MP4 files and many tools for scene descriptions (BIFS
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...

/VRML
VRML
VRML is a standard file format for representing 3-dimensional interactive vector graphics, designed particularly with the World Wide Web in mind...

/X3D
X3D
X3D is the ISO standard XML-based file format for representing 3D computer graphics, the successor to the Virtual Reality Modeling Language . X3D features extensions to VRML X3D is the ISO standard XML-based file format for representing 3D computer graphics, the successor to the Virtual Reality...

 converters, SWF/BIFS, SVG/BIFS, etc.…). MP4Box provides all these tools in a single command-line application. Current supported features are:
  • MP4/3GP Conversion from MP3
    MP3
    MPEG-1 or MPEG-2 Audio Layer III, more commonly referred to as MP3, is a patented digital audio encoding format using a form of lossy data compression...

    , AVI
    Avi
    AVI may refer to:* Avi , the pen name of children's author Edward Irving Wortis* Audio Video Interleave, a multimedia container format and file type* AVI BioPharma, a biopharmaceutical company* AVI Foodsystems, a food service company...

    , MPEG-2 TS, MPEG-PS, AAC
    AAC
    AAC refers to Advanced Audio Coding, an audio compression format successor to the MP3 format.AAC may also refer to:-Aviation:* AAC, IATA airport code for El Arish International Airport, Egypt...

    , H263, H264, AMR
    AMR
    -Companies:* AMR , a UK manufacturer of high-end audio systems* AMR Corporation, parent company of American Airlines* American Medical Response, a private ambulance operator* Arcata and Mad River Railroad...

    , and many others,
  • 3GPP DIMS Packaging from SVG files,
  • File layout: fragmentation or interleaving, and cleaning,
  • File hinting for RTP
    Real-time Transport Protocol
    The Real-time Transport Protocol defines a standardized packet format for delivering audio and video over IP networks. RTP is used extensively in communication and entertainment systems that involve streaming media, such as telephony, video teleconference applications, television services and...

    /RTSP 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
    Real-time Transport Protocol
    The Real-time Transport Protocol defines a standardized packet format for delivering audio and video over IP networks. RTP is used extensively in communication and entertainment systems that involve streaming media, such as telephony, video teleconference applications, television services and...

     hint tracks,
  • Media Track extractions,
  • ISMA E&A encryption and decryption,
  • 3GPP timed text tools (SUB/SRT/TTXT/TeXML), VobSub import/export,
  • BIFS
    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...

     codec and scene conversion between MP4, BT and XMT-A,
  • LASeR
    Laser
    A laser is a device that emits light through a process of optical amplification based on the stimulated emission of photons. The term "laser" originated as an acronym for Light Amplification by Stimulated Emission of Radiation...

     codec and scene conversion between MP4, SAF, SVG and XSR (XML LASeR),
  • XML scene statistics for BIFS
    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...

     scene (BT, XMT-A and MP4),
  • Conversion to and from BT, XMT-A, WRL, X3D and X3DV with support for gzip.

Playing Multimedia Content

GPAC supports many protocols and standards, among which:
  • BIFS
    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...

     scenes (2D, 3D and mixed 2D/3D scenes),
  • VRML
    VRML
    VRML is a standard file format for representing 3-dimensional interactive vector graphics, designed particularly with the World Wide Web in mind...

     2.0 (VRML97) scenes (without GEO or NURBS extensions),
  • X3D
    X3D
    X3D is the ISO standard XML-based file format for representing 3D computer graphics, the successor to the Virtual Reality Modeling Language . X3D features extensions to VRML X3D is the ISO standard XML-based file format for representing 3D computer graphics, the successor to the Virtual Reality...

     scenes (not complete) in X3D (XML
    XML
    Extensible Markup Language is a set of rules for encoding documents in machine-readable form. It is defined in the XML 1.0 Specification produced by the W3C, and several other related specifications, all gratis open standards....

    ) and X3DV (VRML) formats,
  • SVG Tiny 1.2 scenes (including packaged in 3GP DIMS files),
  • LASeR
    Laser
    A laser is a device that emits light through a process of optical amplification based on the stimulated emission of photons. The term "laser" originated as an acronym for Light Amplification by Stimulated Emission of Radiation...

     and SAF
    SAF
    -Organizations:* Second Amendment Foundation, an American foundation dedicated to protecting the right to bear arms* Service Availability Forum, a communications and computing consortium* Škola Animiranog Filma, a Croatian school of animation...

     (partial) support,
  • Progressive loading/rendering of SVG, X3D
    X3D
    X3D is the ISO standard XML-based file format for representing 3D computer graphics, the successor to the Virtual Reality Modeling Language . X3D features extensions to VRML X3D is the ISO standard XML-based file format for representing 3D computer graphics, the successor to the Virtual Reality...

     and XMT files,
  • HTTP 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
    AAC refers to Advanced Audio Coding, an audio compression format successor to the MP3 format.AAC may also refer to:-Aviation:* AAC, IATA airport code for El Arish International Airport, Egypt...

     files (local & http) and HTTP streaming (ShoutCast
    SHOUTcast
    SHOUTcast is cross-platform proprietary software for streaming media over the Internet. The software, developed by Nullsoft , allows digital audio content, primarily in MP3 or HE-AAC format, to be broadcast to and from media player software, enabling the creation of Internet radio "stations"...

    /ICECast
    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 Moffitt and Barath Raghavan to provide an open source...

     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
    User Datagram Protocol
    The User Datagram Protocol is one of the core members of the Internet Protocol Suite, the set of network protocols used for the Internet. With UDP, computer applications can send messages, in this case referred to as datagrams, to other hosts on an Internet Protocol network without requiring...

    /RTP
    Real-time Transport Protocol
    The Real-time Transport Protocol defines a standardized packet format for delivering audio and video over IP networks. RTP is used extensively in communication and entertainment systems that involve streaming media, such as telephony, video teleconference applications, television services and...

    ) with DVB support (Linux only),
  • Streaming support through RTP
    Real-time Transport Protocol
    The Real-time Transport Protocol defines a standardized packet format for delivering audio and video over IP networks. RTP is used extensively in communication and entertainment systems that involve streaming media, such as telephony, video teleconference applications, television services and...

    /RTCP (unicast and multicast) and RTSP/SDP,
  • Plugins for Mozilla (Win32 and Linux) and Internet Explorer (Win32 and PPC 2003).

Streaming Multimedia Content

As of version 0.4.5, GPAC has some experimental server-side and streaming tools:
  • MP4/3GP file RTP
    Real-time Transport Protocol
    The Real-time Transport Protocol defines a standardized packet format for delivering audio and video over IP networks. RTP is used extensively in communication and entertainment systems that involve streaming media, such as telephony, video teleconference applications, television services and...

     streamer (unicast and multicast),
  • RTP
    Real-time Transport Protocol
    The Real-time Transport Protocol defines a standardized packet format for delivering audio and video over IP networks. RTP is used extensively in communication and entertainment systems that involve streaming media, such as telephony, video teleconference applications, television services and...

     streamer with service timeslicing (DVB-H) simulation,
  • MPEG-2 TS broadcaster using MP4/3GP files or RTP
    Real-time Transport Protocol
    The Real-time Transport Protocol defines a standardized packet format for delivering audio and video over IP networks. RTP is used extensively in communication and entertainment systems that involve streaming media, such as telephony, video teleconference applications, television services and...

     streams as inputs,
  • BIFS
    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...

     RTP
    Real-time Transport Protocol
    The Real-time Transport Protocol defines a standardized packet format for delivering audio and video over IP networks. RTP is used extensively in communication and entertainment systems that involve streaming media, such as telephony, video teleconference applications, television services and...

     broadcaster tool performing live encoding and RandomAccessPoints generation.

People involved

The project is hosted at ENST, a leading French engineering school, located in Paris
Paris
Paris is the capital and largest city in France, situated on the river Seine, in northern France, at the heart of the Île-de-France region...

. Current main contributors of GPAC are:
  • Jean Le Feuvre
  • Cyril Concolato
  • Romain Bouqueau


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.

External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK