Dash.js: time is wrong when show ttml in this link

Created on 20 Dec 2017  路  13Comments  路  Source: Dash-Industry-Forum/dash.js

Hi All:

Here is a test link:
http://vm2.dashif.org/livesim/testpic_2s/cea608_and_segs.mpd

When you play this link with dash.js, and choose to show ttml subtitle.
The time is wrong and have 2s offset from correct time.

Could you help to fix this issue?

Most helpful comment

The source has now been fixed.

All 13 comments

Regression introduced in v2.6.1

Hi @oldmtn and @epiclabsDASH ,

according to me, it's not a regression. I tested with version like 2.1.1 : the bug is already there. You just have to select 'en' subtitle track and wait for 5 or 6 seconds and the offset time appears.

in TextSourceBuffer file, we can see that subtitles mp4 sample, 'cts' has an offset of 2 seconds compared to chunk start time. It's the origin of the issue. I 'm not sure if it's an issue on the dash.js (offset processing) or on the stream.

@palemieux , could you, please, give us your opinion on this issue? Thanks,

Nico

@oldmtn Can you attach the source IMSC1 to the ticket?

@palemieux I dump a subtitle content as below:

<tt xmlns="http://www.w3.org/ns/ttml" xmlns:tts="http://www.w3.org/ns/ttml#styling" xml:lang="en" >
 <head >
    <styling >
        <style xml:id="defaultStyle" tts:color="#FFFFFF" tts:textAlign="center" />
        <style xml:id="bgBlack" tts:backgroundColor="#000000" />
    </styling>
    <layout >
        <region xml:id="region1" tts:extent="100% 20%" />
    </layout>
 </head>
 <body style="defaultStyle" >
    <div region="region1" ><p xml:id="sub2356" begin="420629:39:16.000" end="420629:39:17.000" >
            <span style="bgBlack" >00:39:16.000</span>
        </p><p xml:id="sub2357" begin="420629:39:17.000" end="420629:39:18.000" >
            <span style="bgBlack" >00:39:17.000</span>
        </p></div>
 </body>
</tt>

I do not see anything in the IMSC1 document that would cause a 2-second offset.

@palemieux , You can see TextSourceBuffer.js in dashjs.
As @nicosang says,

subtitles mp4 sample, 'cts' has an offset of 2 seconds compared to chunk start time. It's the origin of the issue.

@oldmtn Oh. By _IMSC1 document_, I meant the TTML essence, not the ISOBMFF container.

Pretty certain this is a copy and paste error that occurred when the MPD was constructed - I think startNumber for the TTML representation should be 0, not 1.

This would certainly explain the offset between the requested time and the baseMediaDecodeTime (which subsequently causes the CTS offset), and changing it to 0 locally solved the issue for me.

@wilaw, do you know who we should contact with to ask for changes in above test link (http://vm2.dashif.org/livesim/testpic_2s/cea608_and_segs.mpd)?

It is not critical but, if possible, it would be nice fixing that mpd according to @bbcrddave suggestion.

@epiclabsDASH - contact @TobbeEdgeware for all things livesim.

@bbcrddave Good that you spotted the mismatch in startNumber. It turned out to be an input VoD manifest with <SegmentTemplate> inside the <Representation> node, and in that case the simulator did not find and rewrite the startNumber.

The source has now been fixed.

Thank you.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

lioun1729 picture lioun1729  路  6Comments

NguyenTungs picture NguyenTungs  路  5Comments

ruslandinov picture ruslandinov  路  4Comments

ProLoser picture ProLoser  路  5Comments

herrsiim picture herrsiim  路  3Comments