Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DASH live stream broken with presentationTimeOffset #143

Closed
randeeppr opened this issue Aug 1, 2015 · 7 comments
Closed

DASH live stream broken with presentationTimeOffset #143

randeeppr opened this issue Aug 1, 2015 · 7 comments
Labels
status: archived Archived and locked; will not be updated type: bug Something isn't working correctly
Milestone

Comments

@randeeppr
Copy link

Hi,

We are trying to play a unencrypted dash live stream from envivio encoder but we are getting assertion failed errors.

mpd is as follows.

<MPD xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"     xmlns="urn:mpeg:dash:schema:mpd:2011" xsi:schemaLocation="urn:mpeg:dash:schema:mpd:2011     DASH-MPD.xsd" type="dynamic" minimumUpdatePeriod="PT10.000S" minBufferTime="PT5.000S"     maxSegmentDuration="PT10.080S" availabilityStartTime="2015-08-01T15:24:12Z"     timeShiftBufferDepth="PT60.000S" profiles="urn:mpeg:dash:profile:isoff-live:2011">
<Period id="0" start="PT0S">
<AdaptationSet mimeType="video/mp4" segmentAlignment="true" startWithSAP="1"     maxWidth="720" maxHeight="576" maxFrameRate="25" par="16:9">
<SegmentTemplate timescale="90000" initialization="$RepresentationID$/Header.m4s" media="$RepresentationID$/$Time$.m4s" presentationTimeOffset="676091987">
<SegmentTimeline>
<S t="676099187" d="900000" r="5"/>
</SegmentTimeline>
</SegmentTemplate>
<Representation id="video1" width="720" height="576" frameRate="25" sar="64:45" scanType="progressive" bandwidth="1500000" codecs="avc1.64001E"/>
</AdaptationSet>
<AdaptationSet mimeType="audio/mp4" lang="en" segmentAlignment="true" startWithSAP="1">
<SegmentTemplate timescale="90000" initialization="$RepresentationID$/Header.m4s" media="$RepresentationID$/$Time$.m4s" presentationTimeOffset="676091987">
<SegmentTimeline>
<S t="676100881" d="898560"/>
<S t="676999441" d="904320"/>
<S t="677903761" d="898560" r="2"/>
<S t="680599441" d="904320"/>
</SegmentTimeline>
</SegmentTemplate>
<Representation id="audio1" audioSamplingRate="16000" bandwidth="96000" codecs="mp4a.40.2">
<AudioChannelConfiguration schemeIdUri="urn:mpeg:dash:23003:3:audio_channel_configuration:2011" value="2"/>
</Representation>
</AdaptationSet>
</Period>
</MPD>

And we are getting the following error on the shaka player.

  • video/mp4; codecs="avc1.64001E" is supported
  • audio/mp4; codecs="mp4a.40.2" is supported
  • video/mp4; codecs="avc1.64001E" is supported
  • audio/mp4; codecs="mp4a.40.2" is supported
    @availabilityStartTime seems to be inaccurate; some segments may not be available yet: currentPresentationTime 765.0079998970032 latestAvailableSegmentEndTime 5179.632011111111
    @availabilityStartTime seems to be inaccurate; some segments may not be available yet: currentPresentationTime 765.0079998970032 latestAvailableSegmentEndTime 5179.573188888889
    Starting each stream from 5164.593189108234
    Timestamp correction -5119.493188111111
    Assertion failed:
    video.currentTime (45.100000888889554) should be within the stream limits {"start":5119.94301121983,"end":5119.94301121983}
    Updating manifest...
    @availabilityStartTime seems to be inaccurate; some segments may not be available yet: currentPresentationTime 766.0079998970032 latestAvailableSegmentEndTime 5179.573188888889
    @availabilityStartTime seems to be inaccurate; some segments may not be available yet: currentPresentationTime 766.0079998970032 latestAvailableSegmentEndTime 5179.632011111111
  • video/mp4; codecs="avc1.64001E" is supported
  • audio/mp4; codecs="mp4a.40.2" is supported
    Updated SegmentIndex 2: 0 -> 6 SegmentReference(s).
    Updated SegmentIndex 3: 0 -> 6 SegmentReference(s).
  • video/mp4; codecs="avc1.64001E" is supported
  • audio/mp4; codecs="mp4a.40.2" is supported
    Manifest updated!
    Player error CustomEvent {detail: Error: The browser failed to decode the media content.
    at shaka.player.Player.onError_ (http://1…, srcElement: null, target: s…a.p…r.Player, currentTarget: s…a.p…r.Player}bubbles: truecancelBubble: falsecancelable: falsecurrentTarget: shaka.player.PlayerdefaultPrevented: falsedetail: Error: The browser failed to decode the media content.
    at shaka.player.Player.onError_ (http://172.16.0.6/shaka-player-master/lib/player/player.js:403:15)eventPhase: 0path: Array[0]returnValue: truesrcElement: nulltarget: shaka.player.PlayertimeStamp: 1438440908170type: "error"proto: CustomEvent
    Assertion failed:
    Updating manifest...
    @availabilityStartTime seems to be inaccurate; some segments may not be available yet: currentPresentationTime 776.0039999485016 latestAvailableSegmentEndTime 5189.573188888889
    @availabilityStartTime seems to be inaccurate; some segments may not be available yet: currentPresentationTime 776.0039999485016 latestAvailableSegmentEndTime 5189.616011111111
  • video/mp4; codecs="avc1.64001E" is supported
  • audio/mp4; codecs="mp4a.40.2" is supported
    Updated SegmentIndex 2: 0 -> 6 SegmentReference(s).
    Updated SegmentIndex 3: 0 -> 6 SegmentReference(s).
  • video/mp4; codecs="avc1.64001E" is supported
  • audio/mp4; codecs="mp4a.40.2" is supported
    Manifest updated!
    Assertion failed:
    Updating manifest...
    @availabilityStartTime seems to be inaccurate; some segments may not be available yet: currentPresentationTime 786.0039999485016 latestAvailableSegmentEndTime 5199.573188888889
    @availabilityStartTime seems to be inaccurate; some segments may not be available yet: currentPresentationTime 786.0039999485016 latestAvailableSegmentEndTime 5199.600011111111
  • video/mp4; codecs="avc1.64001E" is supported
  • audio/mp4; codecs="mp4a.40.2" is supported
    Updated SegmentIndex 2: 0 -> 6 SegmentReference(s).
    Updated SegmentIndex 3: 0 -> 6 SegmentReference(s).
  • video/mp4; codecs="avc1.64001E" is supported
  • audio/mp4; codecs="mp4a.40.2" is supported
    Manifest updated!
    Assertion failed:
    Updating manifest...
    @availabilityStartTime seems to be inaccurate; some segments may not be available yet: currentPresentationTime 796.0039999485016 latestAvailableSegmentEndTime 5209.573188888889
    @availabilityStartTime seems to be inaccurate; some segments may not be available yet: currentPresentationTime 796.0039999485016 latestAvailableSegmentEndTime 5209.584011111111
  • video/mp4; codecs="avc1.64001E" is supported
  • audio/mp4; codecs="mp4a.40.2" is supported
    Updated SegmentIndex 2: 0 -> 6 SegmentReference(s).
    Updated SegmentIndex 3: 0 -> 6 SegmentReference(s).
  • video/mp4; codecs="avc1.64001E" is supported
  • audio/mp4; codecs="mp4a.40.2" is supported
    Manifest updated!
    Assertion failed:
    Updating manifest...
    @availabilityStartTime seems to be inaccurate; some segments may not be available yet: currentPresentationTime 806.0039999485016 latestAvailableSegmentEndTime 5219.573188888889
    @availabilityStartTime seems to be inaccurate; some segments may not be available yet: currentPresentationTime 806.0039999485016 latestAvailableSegmentEndTime 5219.632011111111
  • video/mp4; codecs="avc1.64001E" is supported
  • audio/mp4; codecs="mp4a.40.2" is supported
    Updated SegmentIndex 2: 0 -> 6 SegmentReference(s).
    Updated SegmentIndex 3: 0 -> 6 SegmentReference(s).
  • video/mp4; codecs="avc1.64001E" is supported
  • audio/mp4; codecs="mp4a.40.2" is supported
    Manifest updated!
    Assertion failed:
    Updating manifest...
    @availabilityStartTime seems to be inaccurate; some segments may not be available yet: currentPresentationTime 816.0079998970032 latestAvailableSegmentEndTime 5229.573188888889
    @availabilityStartTime seems to be inaccurate; some segments may not be available yet: currentPresentationTime 816.0079998970032 latestAvailableSegmentEndTime 5229.616011111111
  • video/mp4; codecs="avc1.64001E" is supported
  • audio/mp4; codecs="mp4a.40.2" is supported
    Updated SegmentIndex 2: 0 -> 6 SegmentReference(s).
    Updated SegmentIndex 3: 0 -> 6 SegmentReference(s).
  • video/mp4; codecs="avc1.64001E" is supported
  • audio/mp4; codecs="mp4a.40.2" is supported
    Manifest updated!
    Assertion failed:
    Updating manifest...
    @availabilityStartTime seems to be inaccurate; some segments may not be available yet: currentPresentationTime 826.0039999485016 latestAvailableSegmentEndTime 5239.573188888889
    @availabilityStartTime seems to be inaccurate; some segments may not be available yet: currentPresentationTime 826.0039999485016 latestAvailableSegmentEndTime 5239.600011111111
  • video/mp4; codecs="avc1.64001E" is supported
  • audio/mp4; codecs="mp4a.40.2" is supported
    Updated SegmentIndex 2: 0 -> 6 SegmentReference(s).
    Updated SegmentIndex 3: 0 -> 6 SegmentReference(s).
  • video/mp4; codecs="avc1.64001E" is supported
  • audio/mp4; codecs="mp4a.40.2" is supported
    Manifest updated!
    Assertion failed:
    Updating manifest...
    @availabilityStartTime seems to be inaccurate; some segments may not be available yet: currentPresentationTime 836.0090000629425 latestAvailableSegmentEndTime 5249.573188888889
    @availabilityStartTime seems to be inaccurate; some segments may not be available yet: currentPresentationTime 836.0090000629425 latestAvailableSegmentEndTime 5249.584011111111
  • video/mp4; codecs="avc1.64001E" is supported
  • audio/mp4; codecs="mp4a.40.2" is supported
    Updated SegmentIndex 2: 0 -> 6 SegmentReference(s).
    Updated SegmentIndex 3: 0 -> 6 SegmentReference(s).
  • video/mp4; codecs="avc1.64001E" is supported
  • audio/mp4; codecs="mp4a.40.2" is supported
    Manifest updated!
    Assertion failed:
    Updating manifest...
    @availabilityStartTime seems to be inaccurate; some segments may not be available yet: currentPresentationTime 846.0039999485016 latestAvailableSegmentEndTime 5259.573188888889
    @availabilityStartTime seems to be inaccurate; some segments may not be available yet: currentPresentationTime 846.0039999485016 latestAvailableSegmentEndTime 5259.632011111111
  • video/mp4; codecs="avc1.64001E" is supported
  • audio/mp4; codecs="mp4a.40.2" is supported
    Updated SegmentIndex 2: 0 -> 6 SegmentReference(s).
    Updated SegmentIndex 3: 0 -> 6 SegmentReference(s).
  • video/mp4; codecs="avc1.64001E" is supported
  • audio/mp4; codecs="mp4a.40.2" is supported
    Manifest updated!
    Assertion failed:
    Updating manifest...
    @availabilityStartTime seems to be inaccurate; some segments may not be available yet: currentPresentationTime 856.0039999485016 latestAvailableSegmentEndTime 5269.573188888889
    @availabilityStartTime seems to be inaccurate; some segments may not be available yet: currentPresentationTime 856.0039999485016 latestAvailableSegmentEndTime 5269.616011111111
  • video/mp4; codecs="avc1.64001E" is supported
  • audio/mp4; codecs="mp4a.40.2" is supported
    Updated SegmentIndex 2: 0 -> 6 SegmentReference(s).
    Updated SegmentIndex 3: 0 -> 6 SegmentReference(s).
  • video/mp4; codecs="avc1.64001E" is supported
  • audio/mp4; codecs="mp4a.40.2" is supported
    Manifest updated!
    Assertion failed:
    Updating manifest...
    @availabilityStartTime seems to be inaccurate; some segments may not be available yet: currentPresentationTime 866 latestAvailableSegmentEndTime 5279.573188888889
    @availabilityStartTime seems to be inaccurate; some segments may not be available yet: currentPresentationTime 866 latestAvailableSegmentEndTime 5279.600011111111
  • video/mp4; codecs="avc1.64001E" is supported
  • audio/mp4; codecs="mp4a.40.2" is supported
    Updated SegmentIndex 2: 0 -> 6 SegmentReference(s).
    Updated SegmentIndex 3: 0 -> 6 SegmentReference(s).
  • video/mp4; codecs="avc1.64001E" is supported
  • audio/mp4; codecs="mp4a.40.2" is supported
    Manifest updated!
    Assertion failed:

Http headers are given below.

curl -I http://172.16.0.11/dash/test1/manifest.mpd
HTTP/1.1 200 OK
Content-Length: 0
Server: Halo Origin Server
Content-Type: text/xml
Access-Control-Allow-Origin: *
Access-Control-Allow-Headers: Origin,Content-Type,Access-Control-Allow-Origin,Range,Accept
Access-Control-Expose-Headers: Access-Control-Allow-Origin, Content-Length, Content-Type, Date, Range, Server, Transfer-Encoding
Access-Control-Allow-Methods: GET,POST,PUT,DELETE,OPTIONS
Date: Sat, 01 Aug 2015 15:37:07 GMT
Connection: keep-alive

Do we need to change anything?

Regards,
Randeep

@randeeppr
Copy link
Author

Looks like its the issue with time. its either trying to play from the past or from future. Can someone help me identifying this.

@randeeppr
Copy link
Author

What does this actually says

@availabilityStartTime seems to be inaccurate; some segments may not be available yet: currentPresentationTime 3876.003000020981 latestAvailableSegmentEndTime 16023.052288888888
@availabilityStartTime seems to be inaccurate; some segments may not be available yet: currentPresentationTime 3876.003000020981 latestAvailableSegmentEndTime 16023.104544444444

Is the player trying to play the segments which is not generated yet? or the ones which were too old?

@tdrews
Copy link
Contributor

tdrews commented Aug 3, 2015

Thanks for the report we'll take a look.

@tdrews tdrews self-assigned this Aug 3, 2015
@tdrews
Copy link
Contributor

tdrews commented Aug 3, 2015

I believe there may be an issue with how the player handles the presentationTimeOffset attribute for live content with SegmentTemplate + SegmentTimeline.

  • Does the content playback in 1.3.x?
  • Are you able to host any content that uses presentationTimeOffset to a public location?

@joeyparrish joeyparrish added the type: question A question from the community label Aug 12, 2015
@joeyparrish
Copy link
Member

@randeeppr We are still waiting for your feedback on this.

  • Is this still an issue for you?
  • Does the content play in 1.3.x?
  • Are you able to share sample content with us that triggers this bug for you? If not publicly, then a private email will suffice.

@randeeppr
Copy link
Author

Hi Joey,
It is solved. We were using Envivio encoder for the live stream. Envivio support has changed something and its working now.

Thank you.

@joeyparrish joeyparrish added type: bug Something isn't working correctly and removed type: question A question from the community labels Aug 31, 2015
@joeyparrish joeyparrish changed the title dash clear live stream playback issue DASH live stream broken with presentationTimeOffset Aug 31, 2015
@joeyparrish
Copy link
Member

We have found that we do, in fact, have a bug in Shaka Player around our handling of presentationTimeOffset, specifically for live streams. I've updated the tags and title to reflect this, and I'm reopening the issue until we can publish a fix.

@joeyparrish joeyparrish reopened this Aug 31, 2015
@joeyparrish joeyparrish modified the milestone: v1.6.0 Sep 1, 2015
@joeyparrish joeyparrish modified the milestones: v1.5.0, v1.6.0 Sep 8, 2015
@tdrews tdrews closed this as completed in 9fd655f Sep 8, 2015
@shaka-project shaka-project locked and limited conversation to collaborators Mar 22, 2018
@shaka-bot shaka-bot added the status: archived Archived and locked; will not be updated label Apr 15, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
status: archived Archived and locked; will not be updated type: bug Something isn't working correctly
Projects
None yet
Development

No branches or pull requests

5 participants