GPAC Project on Advanced Content
Developer(s) | Jean Le Feuvre, People@GPAC[1][2] |
---|---|
Initial release | 2003[3] |
Stable release | 2.2.1[4]
/ 27 April 2023 |
Repository | |
Written in | Cross-platform |
Available in | English |
Type | Multimedia framework |
License | LGPL v2.1 |
Website | gpac |
GPAC Project on Advanced Content (GPAC, a
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
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
History and standards
GPAC was founded in New York City in 1999.[6] 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.[3]
In parallel, the project has evolved and now supports many other multimedia standards, with support for
Since 2013, GPAC Licensing has offered business support and closed-source licenses.[9]
Multimedia content features
Packaging
GPAC features encoders and multiplexers, publishing and content distribution tools for MP4 files and many tools for scene descriptions (
- MP4/3GP Conversion from H264, AMR, and many others,
- 3GPP DIMS Packaging from SVG tiny 1.2 files,[11]
- File layout: fragmentation or interleaving, and cleaning,
- File hinting for RTSPand 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,
- BIFScodec and scene conversion between MP4, BT and XMT-A,
- LASeRcodec and scene conversion between MP4, SAF, SVG and XSR (XML LASeR),
- XML scene statistics for BIFSscene (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:[10]
- BIFSscenes (2D, 3D and mixed 2D/3D scenes),
- VRML 2.0 (VRML97) scenes (without GEO or NURBS extensions),
- X3D scenes (not complete) in X3D (XML) and X3DV (VRML) formats,
- SVG Tiny 1.2 scenes (including packaged in 3GP DIMS files),[11]
- LASeR and SAF(partial) support,
- Progressive loading/rendering of
- 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 ShoutCast/ICEcastradios),
- 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:[10]
- 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 RTPbroadcaster tool performing live encoding and RandomAccessPoints generation.
Contributors
The project is hosted at
Other (current or past) contributors from ENST are:[2]
Additionally, GPAC is used at ENST for pedagogical purposes. Students regularly participate in the development of the project.[2]
References
- ^ ISBN 978-1-59593-702-5.
- ^ a b c d "About us". People@GPAC. Retrieved 2014-01-28.
- ^ a b c Romain Bouqueau (2014-01-22). "5000th commit, 10 years of open-source software". People@GPAC. Retrieved 2014-01-28.
- ^ "Release 2.2.1". 27 April 2023. Retrieved 1 May 2023.
- ^ ISSN 1947-4598. Archived from the originalon 2014-01-29. Retrieved 2014-01-28.
- ^ GPAC (2013). "About us". GPAC Licensing. Retrieved 2014-01-28.
- ^ Sofer, Nir (2013). "VideoCacheView". NirSoft.net. Retrieved 2014-01-28.
uses MP4Box installed as a part of GPAC package to convert the MPEG-DASH streams into a valid mp4
- ^ GPAC. "Other academic works using GPAC". Publications. People@GPAC. Retrieved 2014-01-28.
- ^ Telecom ParisTech
- ^ a b c "GPAC features". People@GPAC. Retrieved 2014-01-28.
- ^ S2CID 1722027. Retrieved 2014-01-28.
External links
- GPAC homepage at Institut Mines-Télécom
- GPAC project on GitHub
GPAC project on SourceForge(Deprecated 2016.01.23; See GitHub)- GPAC Licensing (business support)