Category Archives: Release

GPAC 26.02

We are happy to announce the release of GPAC 26.02, moving to year.month naming scheme from now on.

This release brings many new features in packaging, Multicast ABR with HTTP repair, HTTP/3 support and other goodies, check the complete changelog below for more details !

This release also brings a new web UI for remote monitoring of long-running GPAC sessions, allowing real-time visualization of the session.

As usual, installers are available on gpac.io for most common platforms.

Enjoy, give us feedback and spread the news!

Read more: GPAC 26.02

Detailed changelog:

gpac

  • Added mode for testing deferred graph linking apps
  • main() can return filter session error code using -rv

MP4Box

  • Better support for HEIF/AVIF import
  • New ‘times’ option to rewrite timestamps

Core tools

  • Network Capture and Replay using pcap or pcapng, including looping, loss and reordering simulation
  • HTTP/3 support for client and server
  • Added libcurl as backend for GPAC downloader
  • QuickJS 2025, FFmpeg 8
  • Improved GFIO (including file deletion)

Media Formats

  • ISOBMFF external tracks support
  • Event Message Tracks support
  • Improved support SCTE-35, id3, CC, timecodes and other markers
  • Improved HDR signaling support
  • IAMF support
  • Motion JPEG2000
  • AC-4 support
  • AVS3 support

MPEG-DASH & HLS

  • SSR support for L3D low latency, base64 encoding of init segments
  • HLS groups, IV injection
  • DASH/HLS: new segcts option to derive startNumber from first packet cts
  • mux time prft injection

Remote monitoring

  • A new WebSocket based remote monitoring UI is available for GPAC
  • WebSocket server for JS scripts

Filters

  • DVB-I MABR FLUTE mux and demux
  • MABR (ROUTE/FLUTE) HTTP repair support with full or partial modes
  • MABR (ROUTE/FLUTE) on unicast
  • mediaserver.js HTTP gateway filter supporting MABR sources
  • avmix playlists now accept ipid:// urls to locate input pids, allowing to specify playlists independently from source URLs
  • ClosedCaptions encoder
  • TTML merger
  • flist: Playlist piping, DASH perdiod auto-switch signaling
  • pin: flush signaling upon broken pipe
  • M2TS: USAC support, non real-time NTP injection for TEMI, real-time regulation option for tssplit and tsgendts
  • dvb4linux is back (Terrestrial and Satelite including dibseqc)
  • reframer: time-aligned mode, time discontinuities handling
  • nhml: ability to process fragmented streams
  • bsrw: timecodes injection and rewriting
  • seiloader filter for SEI and AV1 OBUs
  • FFmpeg raw protocol support (use gpac for demux and mux)

Emscripten

  • Improved WASM support
  • Fixes in UI

Other

  • Improved Wiki: glossary, developer section, …
  • Integration with GStreamer (gpac-gst-plugin)
  • Introduce unit tests in complement to the testsuite and various buildbot continuous checks
  • Many bug fixes and security patches

GPAC documentation updates

Announcing New Documentation for GPAC

For over two decades, GPAC and MP4Box have been at the forefront of multimedia processing innovation, continuously evolving and expanding their capabilities. This journey has seen the software mature and grow in scope over time. The documentation, too, has accumulated and evolved, with specific portions even becoming deprecated. As the GPAC landscape widened, we saw a need for accessible, up-to-date documentation that was able to grow alongside our technologies.

Ten years ago as we moved to GitHub for our public version control server, we migrated to the github wiki system: a nice improvement in developer experience to produce documentation at the time. This move marked a significant step forward, enhancing the developer experience and facilitating the creation and sharing of knowledge.

But today, with the large amount of documentation now provided to cover usage of GPAC filters along MP4Box, we felt the GitHub Wiki had shown its limits: the combined lack of support for HTTP redirects and poor search functionality of GitHub’s Wiki made it less appealing compared to the many alternatives available these days for software documentation.

Introducing a better documentation solution based on mkdocs

We settled with the excellent mkdocs framework, using the popular materials for mkdocs theme. This transition is not merely a change of platform but a significant upgrade to how our community accesses and interacts with GPAC documentation.

The upgrade provides a more refined user experience, a nicer look and feel on any device, a light and dark mode, improved navigation, an intuitive layout and table of contents. 

The upgraded GPAC Wiki is now hosted in a github repository of its own, making it easier to welcome contributions to the documentation.

But most importantly, the new documentation is now instantly searchable, making it easier than ever to find the relevant information for your MP4Box and GPAC use cases:

We invite you to explore the new documentation site at wiki.gpac.io.

Your feedback is invaluable to us, you can contribute the documentation or share your suggestions for improvements as issues on github.

GPAC 2.2

We are happy to announce the release of GPAC 2.2

This release marks the end of MP4Client/Osmo4/Osmo4Ios/Osmo4Android, with gpac being used for all platforms – Android app now supports running gpac and MP4Box command line as well as running the GUI.

This release also brings better support for MKV, DolbyAtmos and DolbyVision.

As usual, installers are available on gpac.io for most common platforms.

Enjoy, give us feedback and spread the news!

Detailed changes:

Media Formats

  • 2-pass encoding for FFmpeg codecs other than libx264
  • Conversion filters for VTT, TXG3 and TTML
  • SubstationAlpha subtitle import (basic)
  • DVB subpictures in M2TS mux and demux
  • FFMPEG (mostly for Matroska) subtitle import and export (SRT/SSA to TX3G, TX3G to SRT, WebVTT and DVB subpictures)
  • EC3+Atmos signaling support
  • ALAC support
  • Improved DolbyVision muxing

Media player

  • subtitle delay and position adjustment
  • audio delay adjustment

MP4Box

  • allow numbers and media types as identifiers for track actions
  • dlba option to update atmos+ec3 signaling

Filters

  • UTC-based range extraction in reframer
  • Thumbnail generator filter
  • Added unframer filter
  • FFMPEG bitstream filters support
  • initseg support in mp4dmx filter
  • Access to GPU textures of decoders in Python and JSF bindings (glpush filter for tests)
  • Chapters editing and original timestamp dispatch in reformer range extraction
  • dual in-band and out-of-band parameter set support in dasher
  • non-blocking IO for RTSP and HTTP servers/clients
  • RTSP over HTTP in rtsp server
  • Source-Specific multicast for udp and rtp inputs
  • User Authentication for HTTP and RTSP servers
  • TLS support for RTSP client and server
  • Per-filter buffering options

Encryption

  • ClearKey support in dasher and decryption

Misc

  • QT metadata tags in MP4Box and qt muxer
  • support for some packet properties in URL templates

A small change in the GPAC versioning scheme

Hi there,

We changed our versioning policy. After releasing a version (e.g. 2.0), we used to immediately create a new version followed by the ‘-DEV suffix’ (e.g. 2.1-DEV). Then when an official release happened we would remove the suffix (e.g. 2.1).

This seems to have created useless discussion on the timeline of GPAC installers and versions: was 2.1-DEV anterior (yes) or posterior (no) to the official 2.1 release?

To mitigate that issue, we have decided that odd minor versions (e.g. 2.1-DEV) would be dedicated to our development rolling-releases. These versions are tested using our CI but they might occasionally break until we detect and fix the issue, usually thanks to you. These breakage are unfortunately unavoidable, and that’s the precise reason we need a community and a robust test suite and CI/CD system.

Even versions (e.g. 2.0 or 2.2) are stable releases.

As a consequence our next release will be 2.2. That should be soon… stay tuned!

GPAC 2.0

We are happy to announce the release GPAC 2.0, packed with new features!

This release brings support for Python and NodeJS: you can now interact with GPAC media pipelines using these languages, from basic session processing down to packet-level manipulations.

A new JSON-based video editor called avmix has landed in GPAC: it is designed for typical live processing tasks (scheduling, animations and transitions, graphics/text insertion) running from command line with or without GPU.

A lot of work has been put on HLS support for both client and packager, with support for low latency HLS.

MP4Box has been improved as well and is now capable of in-place rewrite, resulting in much faster IOs when editing files.

As usual, installers are available on gpac.io for most common platforms.

Enjoy, give us feedback and spread the news!

Continue reading GPAC 2.0