Category Archives: Features
Check key-frame alignment with MP4Box
Please refer to this page for more up to date information: https://github.com/gpac/gpac/wiki/Check-key-frame-alignment-with-MP4Box
Dear adaptive streaming followers,
Many of you reported issues when packaging your encoded content to respectively HLS or MPEG-DASH using GPAC (resp. the MP42TS and MP4Box tools). Most of the time, this is due to misalignment of key-frames across the different encoded qualities. In this article, we are going to show how to check key-frame alignment.
Continue reading Check key-frame alignment with MP4Box
Subtitling with GPAC
Please refer to this page for more up to date information: https://github.com/gpac/gpac/wiki/Subtitling-with-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
EBU-TTD support in GPAC
Please refer to this page for more up to date information: https://github.com/gpac/gpac/wiki/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:
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
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) :
MP4Box -raws 1 sample.mp4
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.
GPAC goes 10 bit
Please refer to this page for more up to date information: https://github.com/gpac/gpac/wiki/GPAC-10bit-support
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:
[Compositor] OpenGLMode=always [Video] GLNbBitsPerComponent=10 [Systems] Output8bit=no
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 !
Jean.