GPAC
From Wikipedia, the free encyclopedia
GPAC Project on Advanced Content ( GPAC 、再帰的な頭字語。直訳すると高度なコンテンツに関するGPACプロジェクト) は、モジュール性と標準準拠に重点を置いたオープンソースのマルチメディア フレームワークです。 GPAC は、 ANSI Cで記述されたMPEG-4システム標準の実装として作成され、後にストリーミング メディアで拡張されました。 GPAC は、メディア コンテンツを処理、検査、パッケージ化、ストリーミング、再生し、メディア コンテンツと対話するためのツールを提供します。 このようなコンテンツは、オーディオ、ビデオ、字幕、メタデータ、暗号化されたメディア、レンダリング、 ECMAScriptの任意の組み合わせになります。 [5]
GPAC は、libgpac と呼ばれるコア ライブラリに基づいて 3 つのツール セットを提供します。
- マルチメディアパッケージャー、 MP4Box
- 汎用パイプライン エンジン、 gpac 。
GPAC はクロスプラットフォームです。 移植性を考慮して、メモリフットプリントをできるだけ小さく抑えるために、(ほぼ 100% ANSI) Cで記述されています。 現在、 Windows 、 Linux 、MacOS X、iOS、Android、Solaris、その他多くのシステムで実行されています。
GPAC は、幅広い MP4/ISOBMFF 機能を備えていることでよく知られており、ビデオ愛好家、学術研究者、標準化団体、プロの放送局の間で人気があります。
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 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 videos streamed and cached in this format (e.g., YouTube).[7] Various research projects used or use GPAC.[8]
Since 2013, GPAC Licensing has offered business support and closed-source licenses.[9] In 2022 Netflix announced using GPAC for their worldwide content operations [10] including the Netflix service, studio content, and merchandising material [11]
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/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:[12]
- MP4/3GP Conversion from MP3, AVI, MPEG-2 TS, MPEG-PS, AAC, H263, H264, H265, H266, H266, AMR, and many others,
- 3GPP DIMS Packaging from SVG tiny 1.2 files,[13]
- File layout: fragmentation or interleaving, and cleaning,
- File hinting for RTP/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 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 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:[12]
- BIFS scenes (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),[13]
- LASeR and SAF (partial) support,
- Progressive loading/rendering of SVG, X3D and XMT files,[13]
- 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 files (local & http) and HTTP streaming (ShoutCast/ICEcast 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:[12]
Contributors
The project is hosted at Télécom_Paris, a leading French engineering school. Current main contributors of GPAC are:[2]
Other (current or past) contributors are:[2]
- Cyril Concolato[1][5][13]
- Jérôme Gorin
- Pierre Souchay
- Jean-Claude Moissinac[1][13]
- Jean-Claude Dufourd
- Benoit Pellan
- Philippe de Cuetos.
Additionally, GPAC is used at Télécom Paris for pedagogical purposes. Students regularly participate in the development of the project.[2]
