Official AV1 and VP9 support in GPAC

Dear reader,

GPAC has added support for new codecs recently:

  • AV1 support is available in nightly builds since July 10th, 2018. This include file creation with MP4Box (including MPEG DASH generation) and file playback with MP4Client. Support for AV1 encryption was added on September 20th, 2018.
  • VP9 support was completed on October 14th, 2018.

This article gives you some useful command lines to use AV1 streams, but the same can be applied for VP9 streams.

Command-line for importing AV1 streams into MP4 files

To store an AV1 bitstream into an ISOBMFF/MP4 file , use the following command line. If the input file is called *.av1, its content can be OBUs (as specified in Section 5 of the AV1 specification), IVF or Annex B bitstreams. WebM streams are not supported. You can also call OBU-based bistream *.obu and IVF files *.ivf:

If your file extension is not recognized by MP4Box, you can indicate the bitstream format with “:fmt=obu” or :fmt=AnnexB or fmt=IVF (case insensitive) as follows:

AV1 bitstreams may not contain frame rate information, you can use the following to indicate it:

Command-line for AV1 adaptive streaming preparation

You can use the usual MP4Box command line parameters to segment your AV1 MP4 file and prepare it for adaptive streaming. The following command line will generate an MPEG-DASH onDemand manifest based on an AV1 representation (with its ‘codecs’ parameter) and it will create a segmented MP4 file with segments starting at AV1 KEY FRAMEs and targeting 1 second duration.

Command-line for AV1 encryption/decryption

Encryption of AV1 streams in MP4 files follows the general principles given by MPEG’s Common Encryption specification.  To use MP4Box for encryption or decryption, use the following command lines where the file ‘info.xml’ is an XML file that provides encryption parameters, as described in more details here. Example of such XML files can be found in our test base.

Encryption:

Decryption:

Acknowledgements and conclusion

The work on AV1 and VP9 was largely sponsored by Alliance for Open Media and Netflix. Kudos to them 🙂

As usual, if you find any bug or miss documentation, let us know.

Spring Demos

It’s demo season !

GPAC is powering a 16K 360° video demo at Roland Garros 2017 as part of the Live360TV project:

We are also exhibiting at the Future en Seine event as part of the 4Ever-2 project, where we demonstrate hybrid scalable broadcast broadband with an AVC 1080p 50hz SDR base broadcast enhanced with an SHVC UHD HDR (PQ) layer carried over broadband DASH, check it out !

SHVC decoding is powered by our close friends at openHEVC, broadband/broadcast synchronization is achieved through MPEG-2 TS TEMI.

 

H2B2VS Celtic+ Award

The H2B2VS project has received the excellence award in multimedia for its outstanding work, at the Celtic-Plus Event in Barcelona on 18 May 2017!

During this project, the GPAC team has standardized the MPEG-2 TEMI extensions used for broadcast-brodband synchronization and implemented several demos based on this techno (small tutorial here on how to use GPAC for such demonstrations).

 

Internship: next-generation video streaming analyzer (Paris, France)

GPAC is a Free Software multimedia framework. The project covers different aspects of multimedia, with a focus on multimedia packaging and presentation technologies (graphics, animation, interactivity, VR). We provide popular packagers, streamers and players on http://www.gpac.io.

The GPAC team builds tomorrow multimedia standards. The GPAC team is renowned for its participation in standards (ISO/MPEG, W3C, etc.). GPAC is the reference software for some core multimedia technologies and drives innovative technologies (scalable and interactive video, etc.).

The internship aims at exploring the CMAF standard. CMAF aims at unifying all the existing video streaming formats and is backed by Apple and Microsoft. The role of the intern is to participate in the development of a CMAF validation service.
Continue reading Internship: next-generation video streaming analyzer (Paris, France)