GPAC is now officially available on GitHub, where you can find:
- the official source code of the project
- other GPAC-related projects only available on GitHub such as MP4Box.js
- a place to submit bugs, feature requests and discuss issues
- a Wiki for collaborative community-driven documentation
Please contribute on GitHub as soon as… now!
Of course this is only the beginning. We’d be happy to have your opinion on these changes. The more GitHub requests, feedback and pull-requests we have, the more likely we’ll migrate completely to GitHub
Like open-source? Want to work in a cool and flexible environment? Want to join a team of world renowned experts? The GPAC project is looking for talented people!
GPAC is a Free Software multimedia framework. We provide packagers, streamers and interactive players at www.gpac.io. We help building tomorrows standards at MPEG, W3C and others.
Open positions for engineers, interns, PhDs/postdocs
More information on this page and that page
Please contact us at email@example.com if you ave any questions.
- Passionate about computer engineering
- Programming in C/C++ or Web technologies
- Multimedia knowledge (codecs, containers, delivery) is a big plus
- Fluent in English (fluent in French is a plus but not mandatory)
If you are interested, you will find more information on the page dedicated and send an email to firstname.lastname@example.org
We’ve recently improved the language tagging in GPAC, and in particular in MP4Box and in MP4Client. This posts gives details about how to use these new features. Continue reading Improved language tagging in GPAC
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
Following Cyril Concolato’s first attempt to store TTML in ISOBMF, I have added support for parsing and DASHing EBU-TTD as of version 5366 of GPAC. Therefore you don’t need NHML anymore when importing EBU-TTD TTML content. Please read Cyril’s blog post if you wish to know more about TTML or MPEG-4 part 30 (TTML and WebVTT in ISOBMF).
EBU released two specifications recently:
- TECH 3380 v1.0: EBU-TT-D SUBTITLING DISTRIBUTION FORMAT.
This document aims to define a distribution subtitling format base on TTML. This is both a restriction (i.e. a profile) and an extension of TTML. The extensions are very limited. The restrictions allow to mitigate most of the TTML criticisms (especially an ability to express things in several ways, which led to a difficult generic parsing process).
- TECH 3381 v0.9: CARRIAGE OF EBU-TT-D IN ISOBMFF.
This document explains how to store some EBU-TTD content in ISOBMF. Basically it follows the MPEG-4 part 30 standard.
Useful command-lines for import:
MP4Box -add sample.ttml sample.mp4
EBU-TTD is recognized automatically:
MP4Box -add ebu-ttd_sample.xml:ext=ttml -new tmp.mp4
TTML Import Note: TTML import - EBU-TTD detected
Just a few remarks about this implementation:
- It is made on top of TTML existing support. So it has the same limitations (no images support, etc.).
- DASH segmentation is fully supported.
- Regression tests are still unsufficient. We are looking for additional feedback and test files.
- There are still a few open questions which are on their way to standardization. You can expect a few minor improvements in the future.
This development has been made possible thanks to EBU through GPAC Licensing.
As part of the 4Ever project, we have been releasing an HEVC and DASH ultra high definition dataset, ranging from 8bit 720p 30Hz up to 10bit 2160p 60 Hz. The dataset is released under CC BY-NC-ND.
The data set web page is here, and more information on the dataset can also be found in this article.
We have introduced support for 10 bit HEVC profile last week in GPAC, using the great openHEVC decoder. Doing so, we also introduced support for 10 bit display. The support requires a graphics card capable of driving a 10 bit display; this support is usually enabled via the control application of your GPU. Do not worry, 10-bit video will still show in 8 bit if your graphics card doesn’t handle 10 bit output !
The setup currently requires manual configuration of the player. Edit the GPAC configuration file and set the following keys:
You can also enable it from the command line:
MP4Client -opt Compositor:OpenGLMode=always -opt Video:GLNbBitsPerComponent=10 -opt Systems:Output8bit=no
This has only been successfully tested on windows, using the “DirectX Video Output” module of GPAC. It has been tested on a ATI FirePro W5000 GPU but should work the same on other ATI models or NVidia ones.
Support for 10 bit is also enabled on X11 (same config) but doesn’t seem to work with the FirePro W5000.
We welcome any feedback you may give on the compatibility of GPAC’s 10bit support on any GPUs !
GPAC people are attending FOSDEM this year. FOSDEM is a conference which allows “open source communities a place to meet, share ideas and collaborate”. It takes place in Brussels, Belgium.
If you’re interested and have questions, meet us or ask questions on our forums.
We are happy to celebrate the 5000th commit on the GPAC codebase.
GPAC is an adventure started by Jean Le Feuvre in 2000. It has been made open-source in 2003. Since then GPAC has grown regularly to provide you with new features around multimedia and streaming : )
It can now package MP4 and MPEG2-TS using MP4Box and MP42TS, stream with the DASH, HLS, RTP, … protocols , and play back with Osmo4 on many platforms (desktop, mobile, embedded). We even have a live transcoder named DashCast!
2013 has also been an important year for our professional users. They are now able to get professional licensing and services using GPAC Licensing. Don’t worry, GPAC will remain open-source software : )
According to the analytics site ohloh.net, GPAC has over 650k lines of code and has needed 177 years of effort!
If you are interested in statistics, you can read this.
The GPAC team
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