googleads / videojs-ima

IMA SDK Plugin for Video.js
Apache License 2.0
445 stars 285 forks source link

AdError 403: Linear assets were found in the VAST ad response, but none of them matched the video player's capabilies from VAST with only DASH media file #1124

Closed Decoydoll closed 7 months ago

Decoydoll commented 8 months ago

Hi,

I tried a vast tag that only has a DASH media file in it then i got the AdError 403: Linear assets were found in the VAST ad response, but none of them matched the video player's capabilies. We are using Video.js for the player that i know can play DASH and Video.js IMA plugin. I tried to play a DASH manifest with the player and it was playing fine. Is the error expected?

Here is the vast tag that i am using:

<VAST version="4.0">
      <Ad>
        <InLine>
          <Creatives>
            <Creative>
              <Linear skipoffset="00:00:05">
                <Duration>00:00:15</Duration>
                <MediaFiles>
                  <MediaFile id="GDFP" delivery="streaming" width="426" height="240" type="application/dash+xml" minBitrate="49" maxBitrate="258" scalable="true" maintainAspectRatio="true">
                    <![CDATA[ https://dash.akamaized.net/akamai/bbb_30fps/bbb_30fps.mpd ]]>
                  </MediaFile>
                </MediaFiles>
                <VideoClicks>
                  <ClickThrough id="GDFP">
                    <![CDATA[ https://www.vidio.com/ ]]>
                  </ClickThrough>
                </VideoClicks>
              </Linear>
            </Creative>
          </Creatives>
        </InLine>
      </Ad>
    </VAST>

I also have tried to replace the media file above with the dash media file from google sample vast tag in case it is the problem with the dash file. But the problem still persist. Thank you!

Regards, Miftah

Kiro705 commented 8 months ago

Hello @Decoydoll ,

This is Jackson from the IMA SDK team, to take a look at your issue.

Unfortunately, "application/dash+xml" media files are not explicitly supported by the IMA HTML5 SDK. In a multi-player IMA integration (one player for content, one player for ads) IMA creates the ads player, and that will not necessarily match media file type support with the publisher owned content player. The videoJS plugin uses this two player approach.

See screenshot for the two player example. Screenshot 2023-11-09 at 2 06 04 PM

It may be possible to support "application/dash+xml" media, but you will need to implement a custom single player approach, where that player supports "application/dash+xml". You would load the ads with IMA SDK, then manage switching from content to ads in that player, as IMA signals dictate. This would still be possible with a video.JS player, but not with the IMA video.JS plugin.

Please let me know if you have any questions.

Thank you, Jackson IMA SDK team

erikusaj commented 4 months ago

Same issue is also with Shaka Player or any other Web Player implementing IMA SDK. IMA SDK documentation claims support for VAST 4.0.

VAST 4.0, Requires support for Adaptive Streaming: "VAST 4.0 requires either an adaptive stream ready-to-serve file or a minimum of three media files at different levels of quality: high, medium, and low. "

Format is furthermore defined in IAB Digital Video In-Stream Ad Format Guidelines

Adaptive Streaming Format HLS (M3U8) or MPEG-DASH for adaptive bitrate streaming. Use the high, medium, and low file recommendations in this table to create the adaptive bitrate file fragments. For more information on HTTP Live Streaming (HLS), visit Apple’s resource page: https://developer.apple.com/streaming/