-
Notifications
You must be signed in to change notification settings - Fork 1.4k
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
Shaka 3.0.1 is not raising DASH timed metadata correctly on a DAI stream #2716
Comments
Quick addition: This is only observed after you have the stream running for 20-30 mins. |
Just to confirm:
|
Yes, for 2.5 it looks to be working correctly while for 3.0.1 it works in the beginning but stops working after a an amount of time. |
Does that time roughly correspond to the period boundaries (ad boundaries?) in the content? |
Yes, we believe so |
Ok, we made some changes to how we handle periods in 3.0+, sounds like it might've screwed up our timed event parsing/raising. We'll investigate. |
@TheSouryaRoy @karlandersson |
What if we start playback at a time right before the first period transition? Would that still reproduce the issue, but faster? |
@joeyparrish It's a live stream with a limited seek window! :) |
Thanks @ismena and @joeyparrish for looking into this. We'll try to see if we can reproduce during a shorter time period and get back. On a related note, we have observed Shaka 2.5 to drop some of the metadata at period boundaries, but interestingly that is not happening on Shaka 3.0.1 (more details: #2723). |
Haven't been able to find a way to speed things up, still taking 20-30 mins for the stream to run before the issue appears. Also, we have period transitions (ads) in the stream every 30 or so seconds, so even if you move right before the period transition, it would not be of much help. Will keep on trying and update the thread if I have luck in reproducing this faster. |
SG @TheSouryaRoy. We are also trying to repro it in a test to figure out what exactly might be going on. I've seen the repro on your demo page, trying to get one on my local build now with added logging. |
This (Murphy's law!) doesn't seem to repro on my local build (the latest master). Trying the stable 3.0.1 to check if the problem happened to be fixed with one of the latest changes in master. |
Alright, now I'm not seeing the repro anywhere, including the demo provided in the report (ran the stream for ~1h). @TheSouryaRoy can you please verify that I'm not going mad and tell me if it's still reproing :( |
@ismena Try now. I was just able to reproduce the issue on the demo app (stream ran for around 10-15 mins). However, I did try earlier today and was not able to reproduce it either. Here is what happened: We usually had only 15 second ad creatives. Earlier today I enabled 10 second ad creative to see if we can speed things up. It seems the issue stopped happening once we enabled the 10 second ad creative and started happening again when I disabled the 10 second ad creative. Each break is 30 second long. And here is how the ads are being placed (each ad is its own period): Initial and current setup (i.e. before introducing the 10 second ad creative):
Setup earlier today (i.e. with 10 second ad creatives)
For some reason in the second case, this issue is not reproducible. Very strange. |
Okay, let me go ahead and leave some investigation notes here from what I discovered looking at this throughout the week:
NOTE: If the stream is running in a non-active window/tab, browsers impose restrictions on the timers, slowing them all done to once a second. That's not the main problem in this case, but it's a good-to-know thing for delays.
Next steps:
I'm out next week and will sync with the team on Friday to hand this off, if needed. @TheSouryaRoy and the team, apologies that this is taking awhile. The combination of a lengthy repro + a deeper performance issue makes for a longer debugging cycle. The good news is, I'm pretty sure we're on the right track here and just need to get to the bottom of the problem. |
Handing this off to @michellezhuogg for next week while I'm out. A few additional notes:
|
Note: the content in #2736 also seems to exhibit the same variant explosion pattern. |
Hey all, Wanted to check if there were any more updates here. Thank you. |
Hi Rohit, |
Thank you. Please let us know if you would like us to make changes to the content etc to help repro. The original content is being generated via aws elemental encoder and media packager services |
Thanks! Hm, so it's the AWS logic that generates all those duplicated streams? I wonder how and why they end up doing that. I don't think we need more/new content at the moment. I was finally able to track what exactly is causing a delay, now I just need to figure out why it is happening. The content is packaged in an unusual way, but IMO we should still be able to handle it better than what I see happening now. I'll keep you posted as my work progresses! |
Issue #2716 Change-Id: Ib48cab9e84c5ccbca9b7e54531bc11d0b8b9af13
Issue #2716 Change-Id: I5ebc17917b89ef388e40ca9d7a7a7fcd3324e589
…ning logic. Issue #2716. Change-Id: I8931dc31d0208ad9cfa25c9d87fcf3cbf550f423
Issue #2716 Backported to v2.5.x Change-Id: I5ebc17917b89ef388e40ca9d7a7a7fcd3324e589
Issue #2716 Change-Id: Ib48cab9e84c5ccbca9b7e54531bc11d0b8b9af13
Issue #2716 Change-Id: I5ebc17917b89ef388e40ca9d7a7a7fcd3324e589
…ning logic. Issue #2716. Change-Id: I8931dc31d0208ad9cfa25c9d87fcf3cbf550f423
…en new periods are added. Our period flattening logic used to keep creating new streams and variants when encountering a certain type of content (same main content and slightly differing sequence of ads). In time, this led to a performance drain, where more and more time was spent processing the variants, leading to all kinds of delays. This is the last change in the series, addressing the way we set stream properties when concatinating streams. Fixes #2716. Fixes #2736. Change-Id: I98ae692797d19344601d7a0c51d1e343dfe55e01
Have you read the FAQ and checked for duplicate open issues?
Yes
What version of Shaka Player are you using?
3.0.1 (issue is not present in Shaka 2.5)
Can you reproduce the issue with our latest release version?
Yes
Can you reproduce the issue with the latest code from
master
?Yes
Are you using the demo app or your own custom app?
Own custom app (link below)
If custom app, can you reproduce the issue using our demo app?
Could not extract timed metadata from the demo app
What browser and OS are you using?
Chrome 83, MacOS 10.15.5
What issue are you facing?
We are playing a DAI stream on Shaka Player 3.0.1 with IMA SDK. Instead of incrementally raising the timed metadata events as they are encountered, Shaka Player is raising a bunch of them all at once. As a result, our ad measurement pings are being fired incorrectly.
We tried to reproduce the issue on Shaka 2.5, but were unsuccessful. This seems to us a Shaka 3.x-only issue.
What did you do?
For reference, here is the manifest link: https://dai.google.com/linear/dash/pa/event/0ndl1dJcRmKDUPxTRjvdog/stream/4a68c85b-002d-4a69-b1d6-6eadcbbf32d4:ATL/manifest.mpd
What did you expect to happen?
Timed metadata events are being raised as they are encountered in the stream.
What actually happened?
Timed metadata events are not being raised as they are encountered in the stream, and instead are being raised all at once after some delay.
The text was updated successfully, but these errors were encountered: