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

Server Side Ads Insertion, HLS Live (MPEG2-TS) - Unable to parse start time #2882

Closed
jtrelak-vewd opened this issue Sep 29, 2020 · 7 comments
Labels
component: ads The issue involves the Shaka Player ads API or the use of other ad SDKs status: archived Archived and locked; will not be updated

Comments

@jtrelak-vewd
Copy link

Have you read the FAQ and checked for duplicate open issues?
Yes

What version of Shaka Player are you using?
v3.0.4-uncompiled, v3.0.4, master
mux.js-5.6.3

Can you reproduce the issue with our latest release version?
Yes, v3.0.4

Can you reproduce the issue with the latest code from master?
Yes

Are you using the demo app or your own custom app?
Both

If custom app, can you reproduce the issue using our demo app?
Yes

What browser and OS are you using?
Google Chrome, 84.0.4147.89 (Official Build) (64-bit) Linux

For embedded devices (smart TVs, etc.), what model and firmware version are you using?

What are the manifest and license server URIs?
The stream from https://shaka-player-demo.appspot.com/docs/api/tutorial-ad_monetization.html :
assetKey = 'sN_IYUG8STe1ZzhIIE_ksA';
or without IMA SDK:
https://pubads.g.doubleclick.net/ssai/event/sN_IYUG8STe1ZzhIIE_ksA/master.m3u8
(it is reproducible on my own streams as well)

What did you do?

  1. Follow the instruction https://shaka-player-demo.appspot.com/docs/api/tutorial-ad_monetization.html (Streaming with Server Side Ads Insertion, Live stream).
  2. Start the page and wait for the playback

Issue reproducible also without IMA SDK: just load the stream on Shaka Player Demo, and try to play:
https://pubads.g.doubleclick.net/ssai/event/sN_IYUG8STe1ZzhIIE_ksA/master.m3u8

What did you expect to happen?
Playback started, no error messages

What actually happened?
CORS error, Error code 4030
No playback

/demo/#audiolang=en-US;textlang=en-US;uilang=en-US;asset=https://pubads.g.doubleclick.net/ssai/event/_JEZWdv1SFuQ2crFV754hg/master.m3u8;panel=CUSTOM%20CONTENT;build=compiled:1 Access to fetch at 'https://dai.google.com/linear/pods/v1/p/_JEZWdv1SFuQ2crFV754hg/2f93c73a-9dc0-4089-afac-18eebc542ef7:GRQ/141548/slate/0/85cb9fffed0691a74715156f4c75ba45/5.ts' from origin 'https://shaka-player-demo.appspot.com' has been blocked by CORS policy: Request header field range is not allowed by Access-Control-Allow-Headers in preflight response.
http_fetch_plugin.js:112 GET https://dai.google.com/linear/pods/v1/p/_JEZWdv1SFuQ2crFV754hg/2f93c73a-9dc0-4089-afac-18eebc542ef7:GRQ/141548/slate/0/85cb9fffed0691a74715156f4c75ba45/5.ts net::ERR_FAILED

hls_parser.js:1720 Unable to fetch a partial HLS segment! Falling back to a full segment request, which is expensive!  Your server should support Range requests and CORS preflights. https://dai.google.com/linear/pods/v1/p/_JEZWdv1SFuQ2crFV754hg/2f93c73a-9dc0-4089-afac-18eebc542ef7:GRQ/141548/slate/0/85cb9fffed0691a74715156f4c75ba45/5.ts

The issue is not reproducible on:

  • other players: HLS.js, and on our native player - so it seems to be everything fine with the stream
  • DASH streams
@TheModMaker TheModMaker changed the title Google Ad Manager, Server Side Ads Insertion, HLS Live (MPEG2-TS) - CORS issue Server Side Ads Insertion, HLS Live (MPEG2-TS) - Unable to parse start time Oct 2, 2020
@TheModMaker
Copy link
Contributor

The error you listed doesn't have to do with CORS, that is just a warning. We make partial requests to avoid requesting the whole segment; if there are CORS problems, we fallback to a full segment. The error code you listed is HLS_COULD_NOT_PARSE_SEGMENT_START_TIME. This is because we couldn't parse the start time from the MPEG2-TS stream.

I cannot reproduce any error now, can you still? Is the error consistent, or does it change? Since this is live and contains ads, it's possible only some segments have the problem. If you can reproduce, can you post the error object, specifically error.data[1]. This should be the URL of the segment that caused the problem. If we can find a specific segment, we can parse it manually and see what is wrong.

I remember @ismena saying there were some problems with sample IMA content, @joeyparrish do you know if those were related or fixed?

@joeyparrish
Copy link
Member

Sorry, I don't recall anything specific about that.

@jtrelak-vewd
Copy link
Author

Thank you for quick respond.
I confirm - I cannot reproduce this bug again using stream from tutorial-ad_monetization.html. This stream works fine now on my side. However, I can still reproduce this issue (Unable to parse start time) on my stream with ads. I sent the URL, asset code and error.data[1] to shaka-player-issues@google.com

@joeyparrish joeyparrish added the component: ads The issue involves the Shaka Player ads API or the use of other ad SDKs label Jan 6, 2021
@ismena
Copy link
Contributor

ismena commented Feb 3, 2021

Hi @jtrelak-vewd
I'm sorry we dropped the ball on this one - I'm the engineer who's supposed to take care of the ads stuff, and I was on leave.
I dug up your email and can confirm the repro. I'll start looking into it.
Just to make sure my understanding of the situation is correct - the same stream without ads is starting up and playing through as expected, is that right?

@ismena
Copy link
Contributor

ismena commented Feb 3, 2021

Ok, I have an update - looks like some of the ad info is packaged as raw containerless AAC, which is not something we support at the moment. (We have #2615 to change that, but it hasn't been scheduled yet).

We'll see if we can put it on the roadmap for this year.

Another thing I can try doing is asking the IMA team :)
@TheSouryaRoy @rohitsw-g Could I ask you if there's a way to specify the content format when creating server side streams? The stream reported on this issue has ad info in AAC, which we can't play yet. I was wondering if there was a way for users to work around that and still be able to take advantage of Shaka+IMA.

@joeyparrish
Copy link
Member

It seems like this boils down to a duplicate of #2615. @ismena, is it okay to close it as such?

@ismena
Copy link
Contributor

ismena commented Apr 14, 2021

@joeyparrish are you trolling me? :) Please close whatever you like! :p

// Closing as a duplicate of #2615

@ismena ismena closed this as completed Apr 14, 2021
@shaka-bot shaka-bot added the status: archived Archived and locked; will not be updated label Jun 13, 2021
@shaka-project shaka-project locked and limited conversation to collaborators Jun 13, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
component: ads The issue involves the Shaka Player ads API or the use of other ad SDKs status: archived Archived and locked; will not be updated
Projects
None yet
Development

No branches or pull requests

5 participants