Das GPAC Project on Advanced Content ( GPAC , ein rekursives Akronym ) ist ein Open-Source-Multimedia-Framework mit Fokus auf Modularität und Standardkonformität. GPAC entstand als Implementierung des MPEG-4 -Systemstandards in ANSI C und wurde später um Streaming Media erweitert .
GPAC bietet Werkzeuge zum Verarbeiten, Prüfen, Verpacken, Streamen, Abspielen und Interagieren mit Medieninhalten. Solche Inhalte können beliebige Kombinationen aus Audio, Video, Untertiteln, Metadaten, verschlüsselten Medien, Rendering und JavaScript sein . [ 5 ]
GPAC bietet drei Werkzeugsätze, die auf einer Kernbibliothek namens libgpac basieren :
- Ein Multimedia-Paketierer, MP4Box
- Eine allgemeine Pipeline-Engine, gpac , wurde in Version 1.0 (2019) eingeführt [ 6 ].
- Eine von den oben genannten Tools verwendete API ist in vielen Sprachen und auf vielen Plattformen verfügbar.
GPAC ist plattformübergreifend . Es ist aus Gründen der Portabilität in (nahezu 100 % ANSI-) C geschrieben , um den Speicherbedarf so gering wie möglich zu halten. Es läuft derzeit unter Windows , Linux , macOS, iOS, Android und vielen anderen Systemen.
GPAC ist vor allem für seine umfassenden MP4/ISOBMFF-Funktionen bekannt und erfreut sich großer Beliebtheit bei Video-Enthusiasten, akademischen Forschern, Normungsgremien und professionellen Rundfunkanstalten.
Geschichte und Standards
GPAC wurde 1999 in New York City [ 7 ] als Unternehmen unter dem Namen AviPix gegründet . Im Jahr 2003 wurde es Open Source , mit dem ursprünglichen Ziel, die De-facto-Standardimplementierung für MPEG-4-Systeme zu werden, als kleine und flexible Alternative zur MPEG-4-Referenzsoftware. [ 3 ]
Parallel dazu wurde GPAC, da MPEG-4 als Konkurrenz zu Macromedia Flash gedacht war , weiterentwickelt, um weitere Standards wie X3D , W3C SVG Tiny 1.2 und OMA / 3GPP / ISMA sowie schließlich MPEG-DASH zu unterstützen . Die MPEG-DASH-Funktion ermöglicht die Rekonstruktion von MP4- Dateien aus Videos, die in diesem Format gestreamt und zwischengespeichert wurden (z. B. YouTube ). [ 8 ] Verschiedene Forschungsprojekte nutzten und nutzen GPAC. [ 9 ]
Das GPAC-Team erklärte 2019, dass der Code mit Version 0.9 eine Re-Architektur namens „Filters “ erfahren hat [ 10 ]. Version 0.8 ist die letzte Version der alten Architektur mit einem erweiterten Support von 18 Monaten. Die Frontend-Anwendungen bleiben unverändert, wodurch der Übergang nahtlos verläuft. Die zugrunde liegenden Filter bilden eine dynamische, modulare Datenflusspipeline .
Im Jahr 2020 wurde GPAC 1.0 veröffentlicht. Die Website wurde in eine Wiki-Dokumentation, eine Doxygen-API-Dokumentation, einen Buildbot und GitHub Actions sowie einen Testbot mit hoher Testabdeckung aufgeteilt. [ 11 ] Die neue GPAC- Anwendung wurde als leistungsfähiges FFmpeg [ 12 ] eingesetzt und bietet zusätzliche Geschwindigkeit, Funktionen und Benutzerfreundlichkeit.
Seit 2013 bietet GPAC Licensing Geschäftssupport und Closed-Source-Lizenzen an. [ 13 ] Im Jahr 2022 gab Netflix bekannt, GPAC für seine weltweiten Content-Aktivitäten zu nutzen [ 14 ] , einschließlich des Netflix-Dienstes, Studioinhalten und Merchandising-Materialien. [ 15 ]
Multimedia-Inhaltsmerkmale
Verpackung
GPAC bietet Encoder und Multiplexer, Tools zur Veröffentlichung und Inhaltsverteilung von MP4-Dateien sowie zahlreiche Tools zur Szenenbeschreibung ( BIFS / VRML / X3D -Konverter, SWF/BIFS, SVG/BIFS usw.). MP4Box stellt all diese Tools in einer einzigen Kommandozeilenanwendung bereit. Aktuell unterstützte Funktionen: [ 16 ]
- MP4/3GP-Konvertierung von MP3 , AVI , MPEG-2 TS, MPEG-PS, AAC , H263 , H264 , H265 , H266 , AMR und vielen anderen Formaten,
- 3GPP DIMS Packaging aus SVG Tiny 1.2- Dateien, [ 17 ]
- Dateistruktur: Fragmentierung oder Verschachtelung und Bereinigung,
- Dateihinweise für RTP / RTSP- und QTSS/DSS-Server (MPEG-4/ISMA/3GP/3GP2-Dateien),
- Dateiaufteilung nach Größe oder Zeit, Extraktion aus Dateien und Dateiverkettung,
- XML-Informationsexport für MP4- und RTP -Hint-Tracks,
- Extraktion von Medienspuren
- ISMA E&A Verschlüsselung und Entschlüsselung,
- 3GPP-Tools für zeitgesteuerten Text (SUB/SRT/TTXT/TeXML), VobSub-Import/Export,
- BIFS- Codec und Szenenkonvertierung zwischen MP4, BT und XMT-A,
- LASeR -Codec und Szenenkonvertierung zwischen MP4, SAF, SVG und XSR (XML LASeR),
- XML-Szenenstatistik für BIFS- Szenen (BT, XMT-A und MP4),
- Konvertierung von und nach BT, XMT-A, WRL, X3D und X3DV mit Unterstützung für gzip.
- Eine Syntax, die dafür sorgt, dass einfache Operationen, wie das Zusammenfügen von drei Dateien zu einer neuen, nicht einfach sind.
Spielen
GPAC unterstützt viele Protokolle und Standards, darunter: [ 16 ]
- BIFS- Szenen (2D-, 3D- und gemischte 2D/3D-Szenen),
- VRML 2.0 (VRML97) Szenen (ohne GEO- oder NURBS-Erweiterungen),
- X3D- Szenen (unvollständig) in den Formaten X3D ( XML ) und X3DV (VRML),
- SVG Tiny 1.2 Szenen (einschließlich in 3GP DIMS-Dateien verpackt), [ 17 ]
- LASeR- und SAF- Unterstützung (teilweise),
- Progressives Laden/Rendern von SVG- , X3D- und XMT-Dateien, [ 17 ]
- HTTP- Lesen aller Szenenbeschreibungen,
- gzip wird für alle Textformate von MPEG4/X3D/VRML/SVG unterstützt.
- Lesen von MP4- und 3GPP-Dateien (lokal & http),
- MP3- und AAC- Dateien (lokal & http) und HTTP-Streaming ( Shoutcast / Icecast- Radios),
- Die gebräuchlichsten Mediencodecs für Bild, Audio und Video,
- Die gebräuchlichsten Medienbehälter,
- 3GPP Timed Text / MPEG-4 Streaming Text,
- MPEG-2 TS Demultiplexer (lokal/ UDP / RTP ) mit DVB-Unterstützung (nur Linux),
- Streaming-Unterstützung über RTP /RTCP (Unicast und Multicast) und RTSP/SDP,
- Plugins für Mozilla ( osmozilla , Win32 und Linux) und Internet Explorer ( GPAX , Win32 und PPC 2003).
Streaming
Ab Version 0.4.5 verfügt GPAC über einige serverseitige und Streaming-Tools: [ 16 ]
- MP4/3GP-Datei -RTP- Streamer (Unicast und Multicast),
- RTP- Streamer mit Dienstzeitschlitzsimulation (DVB-H),
- MPEG-2 TS-Sender, der MP4/3GP-Dateien oder RTP- Streams als Eingaben verwendet,
- BIFS RTP Broadcaster-Tool zur Live-Codierung und Generierung von RandomAccessPoints.
Mitwirkende
Das Projekt wird an der Télécom Paris , einer führenden französischen Ingenieurhochschule, durchgeführt. Zu den aktuellen Hauptbeitragenden von GPAC gehören: [ 2 ]
Weitere (aktuelle oder ehemalige) Mitwirkende sind: [ 2 ]
- Cyril Concolato [ 1 ] [ 5 ] [ 17 ]
- Deniz Uğur
- Jérôme Gorin
- Pierre Souchay
- Jean-Claude Moissinac [ 1 ] [ 17 ]
- Jean-Claude Dufourd
- Benoit Pellan
- Philippe de Cuetos.
Darüber hinaus wird GPAC an der Télécom Paris und anderen Universitäten zu pädagogischen Zwecken eingesetzt. Studierende beteiligen sich regelmäßig an der Weiterentwicklung des Projekts. [ 2 ]
Referenzen
- Jean Le Feuvre, Cyril Concolato und Jean- Claude Moissinac ( 2007). „GPAC: Open Source Multimedia Framework“. Proceedings of the 15th International Conference on Multimedia . ACM Digital Library . S. 1009–1012 . doi : 10.1145/1291233.1291452 . ISBN 978-1-59593-702-5Die
- ^ a b c d „Über uns“ . People@GPAC . Abgerufen am 28.01.2014 .
- ^ a b c Romain Bouqueau (22.01.2014). „5000. Commit, 10 Jahre Open-Source-Software“ . People@GPAC . Abgerufen am 28.01.2014 .
- ^ https://gpac.io/2026/02/05/gpac-26-02/ .
{{cite web}}Fehlend oder leer|title=( Hilfe ) - ^ a b c Jean Le Feuvre; Cyril Concolato (Dezember 2012). „GPAC, Toolbox for Interactive Multimedia Packaging, Delivery and Playback“ . Open Source Column . ACM SIGMM Records. ISSN 1947-4598 . Archiviert vom Original am 29.01.2014 . Abgerufen am 28.01.2014 .
- ^ „Release GPAC 1.0 · gpac/gpac“ . GitHub . Abgerufen am 30.10.2024 .
- ^ GPAC (2013). „Über uns“ . GPAC-Lizenzierung . Archiviert vom Original am 1. Februar 2014. Abgerufen am 28. Januar 2014 .
- ^ Sofer, Nir (2013). „VideoCacheView“ . NirSoft.net . Abgerufen am 28.01.2014 .
Verwendet MP4Box, das als Teil des GPAC-Pakets installiert ist, um die MPEG-DASH-Streams in ein gültiges MP4-Format zu konvertieren.
- ^ GPAC. „Weitere wissenschaftliche Arbeiten, die GPAC verwenden“ . Publikationen . People@GPAC . Abgerufen am 28.01.2014 .
- ^ „Rearchitecture - GPAC wiki“ . wiki.gpac.io. Abgerufen am 30.10.2024 .
- ^ „GPAC-Wiki“ . wiki.gpac.io. Abgerufen am 30.10.2024 .
- ^ „Release GPAC 1.0 · gpac/gpac“ . GitHub . Abgerufen am 30.10.2024 .
- ^ a b Bouqueau, Romain (09.05.2013). „GPAC Licensing“ . GPAC Licensing . Abgerufen am 28.01.2014 .
Die Marken GPAC und MP4Box sind international von
Telecom ParisTech eingetragen.
- ^ Bouqueau, Romain (09.05.2013). „Netflix setzt GPAC als primären Paketierer ein“ . GPAC Licensing . Abgerufen am 25.07.2024 .
GPAC wird von Netflix als primärer Paketierer eingesetzt.
- ^ Rayburn, Dan (09.05.2013). „NAB Streaming Summit 2023“ . NAB Streaming Summit . Abgerufen am 25.07.2024 .
Netflix nutzt GPAC in all seinen Paketierungsszenarien.
- ^ a b c „GPAC features“ . People@GPAC . Abgerufen am 28.01.2014 .
- Cyril Concolato , Jean Le Feuvre und Jean-Claude Moissinac (Mai 2008). „ Design eines effizienten , skalierbaren Vektorgrafik-Players für ressourcenbeschränkte Geräte“ . IEEE Transactions on Consumer Electronics . 54 (2). IEEE Transactions on Consumer Electronics (Band 54, Ausgabe 2): 895–903 . CiteSeerX 10.1.1.648.6798 . doi : 10.1109/TCE.2008.4560176 . S2CID 1722027. Abgerufen am 28. Januar 2014 .
Externe Links
- Offizielle Website
- gpac auf GitHub
- GPAC-Lizenzierung (Geschäftsunterstützung)