Category Archives: GPAC

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.

EBU-TTD support in 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:

EBU-TTD is recognized automatically:

To extract the TTML samples from the MP4 (generates one TTML per MP4 sample) (note: replace track 1 from this example with your track id) :

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.

 

EBU-TTD current limitations

/!\ These limitations don’t exist if you use NHML /!\

  • Overlapping times are not supported.
  • Multiple <region> elements may trigger errors.

/!\ Fixed limitations /\

  • The expected default namespace of the EBU-TT-D document is ‘http://www.w3.org/ns/ttml’. Documents where this namespace is bound to prefix are supported starting at 08/30/2015 (but no other namespace checks are performed).

 

This development has been made possible thanks to EBU through GPAC Licensing.