March 03, 2023 by Romain Bouqueau

GPAC release 2.2: high quality, high fidelity

An acceleration of time

It is obvious to anyone who follows the changes in our industry that there is an acceleration in the pace of innovation. There have been business consolidations. There has been new usages and business models being experimented. As active technologists we have contemplated an acceleration in multimedia technology innovation. Our industry is still quite new. Waves have succeeded so fast that many people consider themselves veterans.

This feeling of unstability is even stronger after having an extraordinary era of stability. RTMP, AVC/H264, AAC, MPEG-TS, and MP4 have dominated the 2010s. Few people (only the veterans) remember how multimedia was a creative era before that. It was about exploring new ways to create and share content. Starting at the second half of the 2000s, people started to seriously want to make money. The focus went into delivering 2D video over the Internet.

We stood up against some technical decisions. But the past is past, and it is undeniable that actions are being taken to overcome the identified limitations. For example HLS now embraces CMAF/fMP4 (fragmented MP4) instead of MPEG2-TS. RTMP has been superseeded by SRT (which is technically debatable) and then RIST.

Projects need to follow the pace of innovation

GPAC follows the pace of multimedia technology. We've had a decade of consolidation. And then there's been an acceleration of our release cycles:

  • GPAC 0.4: 03 Aug 2005
  • GPAC 0.4.5: 02 Dec 2008
  • GPAC 0.5: 25 May 2012
  • GPAC 0.6: 19 Feb 2016
  • GPAC 0.7: 14 Apr 2017
  • GPAC 0.8: 27 Jun 2019 (0.9, that was the 1.0 beta, was released at the same time)
  • GPAC 1.0: 16 Jun 2020
  • GPAC 2.0: 22 Feb 2022
  • GPAC 2.2: 19 Dec 2022 (there was no 2.1, read below)

GPAC v2.2 highlights

GPAC v2.2 is a consolidation release. It mainly updates and extends the actual features with 656 contributions from 7 contributors in 838 files.

This release focuses on qualitative stuff:

  • Dolby Vision and Atmos.
  • Audio ALAC (lossless compression for Apple Music).
  • Better support for multi-pass encoding.
  • Improved subtitles.
  • Extended features for external language bindings (javascript and python).
  • A lot of minor feature improvements.

The architectural change (introduced under the name "filters" in release 1.0) has dramatically improved the number of opened issues. Issues divide into 5 categories:

  • Community investigations (i.e. Dolby Vision support or updates to newer platforms).
  • Security: we receive a growing number of reports, mainly automated and not so qualititative, coming from people fuzzing our codebase for rewards. We ran fuzzing tests of our own, but we know we still need to improve things to avoid being flooded by these issues in the future. GPAC has the highest security ranking:

    Moving pendulum

  • Questions, especially on the newest features or complex setup (e.g. tiling).
  • A few bugs.
  • Not enough feature requests: please, when you fail to achieve something, open an issue!

We also changed the release numbering scheme. Odd versions are in development (e.g. GPAC v2.3), even versions are stable releases. See here for the details.

One can find the changelog here or the list of commits here.

Commercial trial

If you need support or some help to update, please feel free to reach out!

The JCCP project: successfully refactoring the DASH-IF conformance...

previous post

<

HLS posts updated to RFC8216-bis (revision 12)

next post

>
  • - Comments are closed -