DASH composition time offset = 0 for Fragmented MP4

Hi, Wowza

We would like to use fragmented mp4 files for VOD.

When a source fragmented mp4 contains B-frames and their composition time offsets are stored in each moof/traf/trun box, Wowza Streaming Engine generates DASH chunks whose composition time offsets are all zero. So it plays incorrect frame order.

For non-fragmented mp4 (offsets are stored in ctts box), generated DASH chunks have correct offsets.

I tested on Wowza Streaming Engine 4.6.0.

I tried to use Bento4’s mp4fragment as fragmenter. https://www.bento4.com/documentation/mp4fragment/

(The purpose is to provide HLS for fragmented mp4 source. But since I’m not familiar with TS container, I just used DASH as an example.)

Any suggestions are welcome.

Tomonori

It seems that QTFragmentTrakData.isCTTS() always returns FALSE even if .getCTTSBytes() returned non-empty valid data. Is it a bug?

I found workaround:

  1. get ctts for video track by QTFragmentTrakData.getCTTSBytes()

  2. set it to video track via QTAtomstbl.setCttsValues()

With this custom module, now fragmented mp4 plays correct frame order.

Hello Tomonori,

Fragmented .mp4 files are currently not supported in Wowza Streaming Engine.

There is an existing request for this feature to be added to our core product. However, do note there is no definitive time-frame as to when we will support it. Please do check back in periodically to our Software Updates page to see if your feature request has been deployed.

Regards,

Alex

Has this request been added to the product roadmap yet?