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

Live streams not functioning on Wowza with recent versions of Shaka #192

Closed
jbroberg opened this issue Sep 29, 2015 · 5 comments
Closed
Labels
status: archived Archived and locked; will not be updated
Milestone

Comments

@jbroberg
Copy link

Hi guys,

We use Wowza (latest version) to deliver transcoded, multi-bitrate live dash (h264). In recent versions of shaka we have found that live streaming is no longer working correctly. v1.3.2 is working but any version after that is not functioning for us (e.g. v1.5.0).

We get the following error in console on v1.5.0:

Using native EME as-is.
player.js:190 + video/mp4; codecs="avc1.4d4029" is supported
player.js:190 + video/mp4; codecs="avc1.4d401e" is supported
player.js:190 + video/mp4; codecs="avc1.4d4015" is supported
player.js:190 + video/mp4; codecs="avc1.428015" is supported
player.js:190 + audio/mp4; codecs="mp4a.40.2" is supported
player.js:190 + video/mp4; codecs="avc1.428015" is supported
player.js:190 + audio/mp4; codecs="mp4a.40.2" is supported
2live_segment_index.js:309 Assertion failed:shaka.dash.LiveSegmentIndex.getSeekRangeInternal @ live_segment_index.js:309
stream_video_source.js:1437 Starting each stream from 2210.042000055313

I can share the mpd source if someone is willing to take take a look on
https://shaka-player-demo.appspot.com/

Working console log (v1.3.2):

Using native EME as-is.
+ video/mp4; codecs="avc1.4d4029" is supported
+ video/mp4; codecs="avc1.4d401e" is supported
+ video/mp4; codecs="avc1.4d4015" is supported
+ video/mp4; codecs="avc1.428015" is supported
+ audio/mp4; codecs="mp4a.40.2" is supported
+ video/mp4; codecs="avc1.428015" is supported
+ audio/mp4; codecs="mp4a.40.2" is supported
Initial seek range [459511.588276644, 459541.577]
Starting each stream from 459541.577
Starting stream for s…a.m…a.StreamInfo {uniqueId: 4, id: "p0a1r0", timestampOffset: 0, currentSegmentStartTime: 459541.58845804987, bandwidth: 64000…}
Starting stream for s…a.m…a.StreamInfo {uniqueId: 2, id: "p0a0r2", timestampOffset: 0, currentSegmentStartTime: 459541.577, bandwidth: 256000…}
min/max timestamp corrections [-6.462796591222286e-7, 0]
Corrected seek range [459511.588276644, 459541.577]
+ video/mp4; codecs="avc1.4d4029" is supported
+ video/mp4; codecs="avc1.4d401e" is supported
+ video/mp4; codecs="avc1.4d4015" is supported
+ video/mp4; codecs="avc1.428015" is supported
+ audio/mp4; codecs="mp4a.40.2" is supported
Updated StreamInfo p0a0r3, SegmentIndex now has 5 references.
Updated StreamInfo p0a0r2, SegmentIndex now has 5 references.
Updated StreamInfo p0a0r1, SegmentIndex now has 5 references.
Updated StreamInfo p0a0r0, SegmentIndex now has 5 references.
Updated StreamInfo p0a1r0, SegmentIndex now has 5 references.
Evicted 0 reference(s).
+ video/mp4; codecs="avc1.4d4029" is supported
+ video/mp4; codecs="avc1.4d401e" is supported
+ video/mp4; codecs="avc1.4d4015" is supported
+ video/mp4; codecs="avc1.428015" is supported
+ audio/mp4; codecs="mp4a.40.2" is supported
Updated StreamInfo p0a0r3, SegmentIndex now has 6 references.
Updated StreamInfo p0a0r2, SegmentIndex now has 6 references.
Updated StreamInfo p0a0r1, SegmentIndex now has 6 references.
Updated StreamInfo p0a0r0, SegmentIndex now has 6 references.
Updated StreamInfo p0a1r0, SegmentIndex now has 6 references.
Evicted 0 reference(s).
Video adaptation: s…a.p…r.VideoTrack {id: 0, bandwidth: 2400000, width: 1280, height: 720, active: false}
Switching streams to s…a.m…a.StreamInfo {uniqueId: 0, id: "p0a0r0", timestampOffset: 0, currentSegmentStartTime: 459550.577, bandwidth: 2400000…}
+ video/mp4; codecs="avc1.4d4029" is supported
+ video/mp4; codecs="avc1.4d401e" is supported
+ video/mp4; codecs="avc1.4d4015" is supported
+ video/mp4; codecs="avc1.428015" is supported
+ audio/mp4; codecs="mp4a.40.2" is supported

etc etc

@jbroberg jbroberg changed the title Live streams not functioning on Wowza with recent versions Live streams not functioning on Wowza with recent versions of Shaka Sep 29, 2015
@tdrews
Copy link
Contributor

tdrews commented Sep 29, 2015

Hi,

Can you provide the MPD? You can send me a private email (see CONTRIBUTORS) if you do not want to share the link publicly.

@tdrews tdrews self-assigned this Sep 29, 2015
@jbroberg
Copy link
Author

Thanks - link sent via email.

@jbroberg
Copy link
Author

jbroberg commented Oct 5, 2015

Looks like this issue was trigged on Shaka > 1.3.2 with the following property set (which was done for dash.js compatibility - Dash-Industry-Forum/dash.js#600):

                                <Property>
                                        <Name>mpegdashStrictSpecComplianceForAST</Name>
                                        <Value>true</Value>
                                        <Type>Boolean</Type>
                                </Property>

Shaka v1.5.0 now works when I remove this property from my application.xml in Wowza. I do get the following warning in my console but playback seems ok.

@availabilityStartTime seems to be inaccurate; some segments may not be available yet: currentPresentationTime 941.0050001144409 latestAvailableSegmentEndTime 956461.577
live_segment_index.js:218 
@availabilityStartTime seems to be inaccurate; some segments may not be available yet: currentPresentationTime 941.0050001144409 latestAvailableSegmentEndTime 956461.5817006803

@joeyparrish joeyparrish added this to the v1.6.0 milestone Oct 12, 2015
@nocarryr
Copy link
Contributor

@jbroberg Have you tried with the latest Wowza release?

In the release notes for 4.3.0 it looks like this fix might be related:

  • Fixed MPEG-DASH live MPDs so that the timeShiftBufferDepth is reported correctly. A bug was introduced in the 4.2.0.01 update that caused the value to be off by a factor of 90, such that a buffer depth of 16 seconds would actually be reported as 24 minutes

I've been testing with Wowza 4.3.0 and the current master branch (d84428b) and have had pretty stable and promising results.

tdrews pushed a commit that referenced this issue Nov 5, 2015
* For SegmentTemplate with @duration, treat @startNumber as the number
  of segments absent from the start of the Period.
* For SegmentList, fix off-by-one error when computing segment start times.
* Add more @startNumber documentation and unit tests.

Issue #192

Change-Id: I0b7950cc6cda0a2cbd345e13bd769a50f83d4982
@tdrews
Copy link
Contributor

tdrews commented Nov 5, 2015

With some changes server-side and some tweaks (29f8022) client-side these streams should work without issue now.

@tdrews tdrews closed this as completed Nov 5, 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
Projects
None yet
Development

No branches or pull requests

6 participants