All posts by cconcolato

GPAC support for HEIF

⚠ The content of this page may be outdated.
Please refer to this page for more up to date information:


Apple has announced this week at WWDC2017 support for the High Efficiency Image Format (HEIF) (see video here). HEIF is a new image format defined within MPEG, by companies such as Apple, Nokia, Canon, … and by the GPAC team and Telecom ParisTech. So, the GPAC tools are already capable of producing HEIF images. This post provides instructions to do so.

Continue reading GPAC support for HEIF

Leaving SVN and SourceForge, using Git and GitHub

Dear followers,

In a previous post we mentionned that we had created an official account on GitHub but at that time the migration was not complete. We still used internally the SVN repository hosted on SourceForge and in particular for our BuildBot to generate the Nightly Builds. The git repository was synced with the SVN repository.

Since last week, we have migrated all our tools to use the git repository hosted on GitHub as the official source code of GPAC. The SVN repository at SourceForge will not be maintained anymore. In fact, recent commits have already been made to GitHub which are not present on the SVN.

As part of that migration, we have changed the numbering of GPAC’s binaries. New builds now use a numbering in the form of 0.5.2-DEV-<number-of-commits-since-last-release>-<latest-git-commit-hash>-<git-branch>.

Note also that GPAC is now also automatically built on TravisCI when a commit is pushed to the repository or when a pull request is made. We hope this move to git and GitHub will help improving the code. So don’t hesitate to fork, fix and make pull requests.

The GPAC team.

Subtitling with GPAC

⚠ The content of this page may be outdated.
Please refer to this page for more up to date information:


This post is the first post in a series I’m writing to help you discover the many different ways to handle tracks in MP4 files using MP4Box and other GPAC tools, with a particular focus on three types of tracks: subtitles, metadata and graphics tracks. Let me start in this post with subtitle tracks. Continue reading Subtitling with GPAC

MP4 demuxer examples

⚠ The content of this page may be outdated.
Please refer to this page for more up to date information:


Dear followers,

At the request of some people, we have added to GPAC some sample applications demonstrating how to use GPAC to demux MP4 files. They are not full applications, just examples taking some MP4 files as input and displaying some information about the media samples contained in the file.

So far, we have added 3 sample applications:

  • a basic demuxer called ‘bmp4demux’ capable of reading and dispatching media access units from fragmented or non-fragmented MP4 files, progressively (i.e. while the file is being written);
  • a segment based demux called ‘segmp4demuxer‘ capable of dispatching media units from media segments, where the input data is framed.  This is what is used for the DASH support;
  • and a more advanced demuxer, called ‘fmp4demux’ capable of dispatching media units in streaming mode (i.e. reclaiming resources once media units have been dispatched), where the input data comes from fragmented mp4 but is not framed, i.e. the data in the buffer passed to the demuxer does not start or end at segment or fragment boundaries.

Continue reading MP4 demuxer examples

How to file a bug properly

Please note, this page has been updated. The latest info can be found here.

GPAC is becoming quite a large piece of software and, unfortunately despite our care, is not bug-free… This is where you, as GPAC users, can help. If you discover a problem, you can report it using our GitHub bug tracker (old bugs were in our Sourceforge bug tracker ) .

Filing a bug, if this is done well, is the best way to ensure that the problem will be fixed. However, if the bug is not filed correctly, it is the best way to ensure that it won’t get fixed. This post gives guidelines on how to file a bug, properly. Continue reading How to file a bug properly


⚠ The content of this page may be outdated.
Please refer to this page for more up to date information:


This week was held in Incheon, South Korea, the 104th MPEG meeting. For this occasion, the GPAC team worked hard to prepare the following contribution.


This contribution discusses SVC, WebVTT and in particular the support for MPEG-HEVC (High Efficiency Video Coding, a.k.a. H.265) packaging, streaming and playback in GPAC. I’ve extracted the HEVC related part of this contribution in this post. Continue reading MPEG-HEVC Support in GPAC