googleads / videojs-ima

IMA SDK Plugin for Video.js
Apache License 2.0
450 stars 284 forks source link

Urgent need to find root cause of ad playback error: Failed to read the 'buffered' property from 'SourceBuffer' #892

Closed minasaywhat closed 4 years ago

minasaywhat commented 4 years ago

We have an urgent need to identify the root cause of this ad error that shows a blank screen in the player on mobile browsers (iOS Chrome or Safari). Experience: https://share.hdmtools.com/d5u0erbp

Steps to reproduce:

  1. Use an iOS phone or tablet with Charles Proxy or Safari dev tools enabled for mobile browser debugging (use iPhoneX emulator on Chrome desktop if you can't test on a real device).
  2. Disable all ad blocker browser extensions, if applicable
  3. Open this URL and wait for the player to autoplay muted: https://www.delish.com/cooking/recipe-ideas/recipes/a58236/easy-homemade-chicken-pot-pie-recipe/?token=visible21120

Actual Result:

Expected Result:

Notes:

VAST 400 error notes: This fatal error can be caused when a video player is unable to display the linear ad. It may occur when the MediaFile is not a valid video file of the specified format, or because the browser restricted autoplay with sound, or another unknown reason.

Any help you can provide to point us in the right direction would be greatly appreciated.

Kiro705 commented 4 years ago

Hi @minasaywhat , Based on the source of the error message, it looks like it may be an error with the videoJS player and not the videoJS-IMA plugin.

However, if you could provide a sample ad tag that can reproduce the issue in the sample player, or sample code that reproduces the issue, that would help me get to the root of the error.

minasaywhat commented 4 years ago

@Kiro705 I think you might be right on that point, but I think it's going to be hard for us to continue investigating this unless our team can create a reverse PR to test this again.

Our dev team created a fix that prevents the issue from happening, but it doesn't actually solve the root cause of the problem. Apparently we had some script running on our sites (issue was not reproducible on a page with our stand-alone player) that was causing this SourceBuffer error, which can happen when either the media file is not compatible (which we ruled out), or if the player for some reason can't download or play the next segment of the video.

The question I have with how the player handles this is - if the media file (ad creative) plays for 1-2 seconds (compatible on browser/device), and then the media file stops playing for the remainder of the ad (white screen, with only ad controls shown), then why does the player behave as if the media file is playing through as expected, with the ad quartile events firing, and the progress bar moving forward?

Kiro705 commented 4 years ago

Hi @minasaywhat ,

I cannot say for certain what led to the player's behavior if I am unable to reproduce said behavior. If your team is able to reproduce the issue, I think it would help us determine the root of the issue.

Please let me know if there is anything else I can do to help with the issue.