How to Create Dash manifest with ON_DEMAND profile from MP4 representation?

Hello @yoshiyuki.kinjo , welcome to the Bitmovin community and thanks for reaching out with your question.

To create a DASH/HLS or SMOOTH manifest, you need to specific a fragment duration for the MP4 output and set following properties while creating MP4 muxing using API

  • fragmentDuration : Duration of fragments in milliseconds. Required for Fragmented MP4 Muxing (for Smooth Streaming or DASH On-Demand). Not setting this will result in unfragmented mp4.
  • fragmentedMP4MuxingManifestType : Manifest type to be generated for the Fragmented MP4 Muxing. Only significant if a valid fragmentDuration is passed. If this is not set, Smooth Streaming is assumed. For DASH manifest, this should be set to DASH_ON_DEMAND

But from your question, it seems that you are looking to create a un-fragmented MP4 output in which case creating DASH/HLS/SMOOTH manifests is not possible. Please be aware that progressive MP4 muxing, soft-parted MP4 mixing and hard-parted fMP4 muxing are different.

  • Progressive MP4 Muxing : A single MP4 file with MOOV box followed by a single MDAT.
  • Soft-parted MP4 Muxing : A single MP4 file with a MOOV followed by a series of MOOF + MDAT boxes.
  • Hard-parted fMP4 Muxing : Multiple segments/fragments each having a single MOOF+MDAT.

Creating an MPD/HLS/SMOOTH manifest is only possible for either soft-parted MP4 or hard-parted fMP4 muxing. It is not possible to create for a progressive MP4 muxing.

You can find more information about the different MP4 muxing types in this community thread

I hope above answer helps. Please let me know if there are any follow up questions.

1 Like