Which media standards and formats does GPAC support?
Updated
GPAC is an open-source "ultramedia" infrastructure project distributed at gpac.io. Its documented release notes show support for streaming standards, encryption schemes, container formats, and a filter-based processing pipeline. The clearest evidence comes from the GPAC 26.07 release changelog, which lists work across MPEG-DASH, HLS, encryption, and filters. If you need a tool that handles DASH/HLS packaging, MP4 and IAMF muxing/demuxing, and configurable media filters, GPAC is designed for that scope.
Streaming standards: MPEG-DASH and HLS
GPAC's changelog groups its streaming work under "MPEG-DASH & HLS," covering both packaging and client behavior:
- Discontinuities — improved support in the packager and client.
- sfrag tolerance — generates segments with a fixed number of fragments but variable-duration fragments.
- dashif.ingest profile — added for DASH-IF Live Ingest.
- SCTE35 and MPD events — inband and out-of-band events, plus HLS support (documented in the project wiki).
- DASH-L3D and LL-HLS — improved support.
- Timeshift buffer cleanup — supported in manifests for multi-period cases.
These items indicate GPAC works with DASH manifest events, low-latency HLS, and live ingest profiles rather than only basic file packaging.
Encryption
The 26.07 release notes list two encryption-related additions:
- EVP support in encryption for hardware AES — relevant if you need hardware-accelerated AES.
- AV1 scalable ID filtering — temporal and/or spatial.
The changelog also notes an option to switch Periods when a new encryption key is encountered, which matters for multi-period DASH content with key rotation.
Filters
GPAC's processing model is filter-based. Documented filter changes include:
| Filter / area | Change |
|---|---|
| reframer and dasher | Discontinuity detection |
| mediaserver | Improved MABR repair option |
| SourceID matching | Now possible by prefix |
| Period switching | Option added when a new encryption key is encountered |
| mp4dmx | Allow DREF URL override |
| flist | Accept empty initial playlist |
| Source loading | Can use custom source filters other than JS |
| GHI demuxer | Improved for manifest regeneration |
| ffavf | Can be used as a source |
| mp4mx | Tolerance for sfrag mode to align to SAP frames |
Containers and muxing/demuxing
- Raw IAMF — mux to and demux from MP4.
- MP4Box — added an option for automatic track reordering.
- GF_Blob and gfio from mem — test modes in the GPAC CLI; gfio from mem was refined to allow multiple concurrent users, which some demuxers need.
Other infrastructure notes
- Remote monitoring web app now supports inspecting from logs (start recording with
-rmt -rmt-log). - Light formatting syntax added to filter status.
- Switch to QJS 26-06.
- More configuration options for H2 and H3, with improved QUIC support.
- Many bug fixes and security patches.
How to decide
If your work involves DASH/HLS packaging with SCTE35 or MPD events, low-latency HLS, hardware AES encryption, or MP4/IAMF conversion through a filter pipeline, the documented feature set covers those areas. Installers for common platforms are available on gpac.io, and the project publishes a full changelog with each release for verifying specific capabilities before you commit to a workflow.