Dash.js: Multiframent segment with just one MOOF/MDAT/TFDT(decodetime) playback is 10x speed steps

Created on 10 Sep 2020  路  4Comments  路  Source: Dash-Industry-Forum/dash.js

Dashjs does not playback properly if multifragment has MOOF/MDAT/TFDT atom in just first pair but the other moof-mdat pairs did not have. This is not a major problem as I can tell mp4box to add tfdt in every fragment pair but something to look after. Current default setting was changed in a mp4box not to write multiple tfdt atoms.

notfdt does not work: http://refapp.hbbtv.org/videos/test01_notfdt/manifest.mpd
yestfdt works ok: http://refapp.hbbtv.org/videos/test01_yestfdt/manifest.mpd

Test player
http://reference.dashif.org/dash.js/nightly/samples/dash-if-reference-player/index.html

GPAC people told me There is no bug(packaging), the first moof in a segment shall have a tfdt in each traf, it is optional for the others moof.traf in the segment. See GPAC issue where also had a solution how to package dash content with the latest mp4box binary.
https://github.com/gpac/gpac/issues/1593

[ Environment: Windows 10, Firefox 81.0b8-64-bit ]

Most helpful comment

MSE MP4 bytestream format requires tfdt in all trafs by my reading - see point 6 in https://www.w3.org/TR/mse-byte-stream-format-isobmff/#iso-media-segments.

Seem that the UA should reject segments that do not contain a tfdt, which appears to be what Chrome/ium is doing.

All 4 comments

@Murmur Do you see this behavior only in dash.js or also other players like Shaka? I don't see a way to fix this in the player since we append the segments to the sourcebuffers without modifying them. So I feel like this is rather a limitation of the browser/platform.

Run a test on Dashjs and ShakaPlayer behaving the same so you are correct, this is a limitation of the browsers. I need to ask GPAC team about the default value change in a packaging rules (earlier wrote tfdt in every moofmdat pair, new release writes just one). People should use a new mp4box argument --tfdt_traf to fix this.

Win10 + Firefox: Playback 10x step speed
Win10 + Chrome: Playback failed on load
Win10+ EdgeChromium: Playback failed on load

MSE MP4 bytestream format requires tfdt in all trafs by my reading - see point 6 in https://www.w3.org/TR/mse-byte-stream-format-isobmff/#iso-media-segments.

Seem that the UA should reject segments that do not contain a tfdt, which appears to be what Chrome/ium is doing.

Closing this as it is not a player issue

Was this page helpful?
0 / 5 - 0 ratings

Related issues

fabienvallee picture fabienvallee  路  3Comments

lioun1729 picture lioun1729  路  6Comments

AxelDelmas picture AxelDelmas  路  6Comments

qchroman picture qchroman  路  4Comments

yogevNisim picture yogevNisim  路  3Comments