Documentation

Working With MP4Box

Installing MP4Box

This article describes how to produce DASH streams that are compatible with Radiant Media Player and other DASH-compliant players with MP4Box.

MP4Box is a multimedia packager, part of the GPAC Open Source multimedia framework. Visit GPAC site for more information.

Refer to the GPAC GitHub documentation page to install and use MP4Box. We recommend you use GPAC version 1.0 and above. Note that depending on your Linux distribution installing the default GPAC package may only provide an older version of GPAC that may or may not work with the following guide.

Multi-bitrate on-demand DASH streams

Creating keyframe-aligned video files

Refer to our FFmpeg guide to produce keyframe-aligned MP4 or WebM files that can be used as input for MP4Box.

DASHing with MP4Box

Now we can DASH our MP4 files with MP4Box:

MP4Box -dash 4000 -rap -bs-switching no -profile onDemand -out manifest.mpd out-low.mp4#audio out-low.mp4#video out-med.mp4#video out-high.mp4#video

Explanation:

  • -dash 4000 enables DASH segmentation of input files with the given segment duration. A 4000 ms segment duration is an often seen values when dashing.
  • -rap forces segments to begin with random access points.
  • -bs-switching no sets the bitstream switching mode. Set this to no to create DASH content compatible with a largest range of devices/browsers. Not using this option can cause MP4Box to generate avc3 formatted content which is not well supported in some browsers (IE11 and older version of Android).
  • -profile onDemand specifies the target DASH profile.
  • -out manifest.mpd specifies output file name for MPD. May use relative path. All segments will be produced in the same directory as the MPD.
  • out-low.mp4#audio only uses the first audio track from the out-low.mp4 source file
  • out-low.mp4#video only uses the first video track from the out-low.mp4 source file (low rendition)
  • out-med.mp4#video only uses the first video track from the out-med.mp4 source file (medium rendition)
  • out-high.mp4#video only uses the first video track from the out-high.mp4 source file (high rendition)

An example of DASH manifest with AV1/AAC in MP4 container generated with the above command line can be found here:

https://www.radiantmediaplayer.com/media/dash/4k-av1-aac-mp4box/manifest.mpd

A complete list of options for MP4Box for DASH streams is available here.

Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 3.0 License.

©2015-2024 Radiant Media Player. All Rights Reserved.