Video Object

Note

Fields marked with an asterisk (*) are optional.

Video Object Properties

Value

Type

Description

mimes

array of strings

Content MIME types supported.

minduration

integer

Minimum video ad duration in seconds, for example, 2

maxduration

integer

Maximum video ad duration in seconds, for example, 15

linearity*

integer

Indicates if the impression must be linear or nonlinear, for example, 1. If none is specified, it is assumed all are allowed.

  • 1: Linear

  • 2: Non-Linear/Overlay

This corresponds to the required type of VAST response, where a linear response is VAST containing video assets, and non-linear is a VAST response (typically) containing a banner/overlay. Whether a placement is instream, out-stream, etc. For that, see placement.

placement*

integer

Placement type for the impression, for example 2. Note: Though not required, this is an important field for some Buyers, not explicitly setting it will result in lower demand. This field can take the following values:

  • 1: In-stream. Played before, during or after the streaming video content that the consumer has requested (e.g., Pre-roll, Mid-roll, Post-roll).

  • 2: In-banner. Exists within a web banner that leverages the banner space to deliver a video experience as opposed to another static or rich media format. The format relies on the existence of display ad inventory on the page for its delivery.

  • 3: In-article. Loads and plays dynamically between paragraphs of editorial content; existing as a standalone branded message.

  • 4: In-feed. Found in content, social, or product feeds.

  • 5: Interstitial/Slider/Floating. Covers the entire or a portion of screen area, but is always on screen while displayed (i.e. cannot be scrolled out of view). Note that a full-screen interstitial (e.g., in mobile) can be distinguished from a floating/slider unit by the imp.instl field.

To be considered In-stream, impressions must be set to Sound On by default at start. “Sound On” by default must be signaled within the playbackmethod field. Values of 1, 3, 4, and 5 all qualify.

All impressions with Default Sound Off (playbackmethod value of 2, 6, or null) must signal an out-stream placement of type of 2, 3, 4, or 5. Additional signals such as Player Size, Placement Type, Linearity, etc. can be used to differentiate between these various out-stream placements.

playbackend*

integer

The event that causes playback to end, for example 2. This field can take the following values:

  • 1: On Video Completion or when Terminated by User.

  • 2: On Leaving Viewport or when Terminated by User.

  • 3: On Leaving Viewport Continues as a Floating/Slider Unit until Video Completion or when Terminated by User.

protocols

array of integers

Accepted video bid response protocols as defined in OpenRTB, for example [6,8]. As BidSwitch only serves video using VAST wrappers, the valid response integers are 5, 6, 8, 12 and 14 for the request to be eligible for bidding.

pos*

integer

Ad Position as defined in OpenRTB, for example 1

w*

integer

Width of the player in pixels, for example, 600

h*

integer

Height of the player in pixels, for example 400

startdelay*

integer

Indicates the start delay in seconds. If the start delay value is greater than 0, then the position is mid-roll and the value indicates the start delay.

  • > 0: Mid-Roll (value indicates start delay in second)

  • 0: Pre-roll

  • -1: Generic mid-roll

  • -2: Generic post-roll

battr*

array of integers

Blocked creative attributes as defined in OpenRTB, for example, [6]

minbitrate*

integer

Minimum bit rate in Kbps, for example 680

maxbitrate*

integer

Maximum bit rate in Kbps, for example 990

api*

array of integers

List of supported API frameworks for this impression as defined in OpenRTB, for example, [1,2]. If an API is not explicitly listed, it is assumed not to be supported.

maxextended*

integer

Maximum extended video ad duration if extension is allowed.

  • Blank or 0, extension is not allowed.

  • -1, extension is allowed, and there is no time limit imposed.

  • Greater than 0, then the value represents the number of seconds of extended play supported beyond the maxduration value.

boxingallowed*

integer

Indicates if letter-boxing of 4:3 content into a 16:9 window is allowed:

  • 0 = no

  • 1 = yes.

playbackmethod*

array of integers

Allowed playback methods as defined in the OpenRTB, for example [1, 2]. If none are specified, it is assumed all are allowed. This field can take the following values:

  • 1: Initiates on Page Load with Sound On

  • 2: Initiates on Page Load with Sound Off by Default

  • 3: Initiates on Click with Sound On

  • 4: Initiates on Mouse-Over with Sound On

  • 5: Initiates on Entering Viewport with Sound On

  • 6: Initiates on Entering Viewport with Sound Off by Default

delivery*

array of integers

Supported delivery methods (e.g., streaming, progressive) as defined in OpenRTB. If none specified, assume all are supported, for example, [1, 2]

sequence*

integer

If multiple ad impressions are offered in the same bid request, the sequence number will allow for the coordinated delivery of multiple creatives, for example, 2.

companionad*

object array

Array of Banner objects if companion ads are available. See the Banner Object section for more information.

companiontype*

array of integers

List of allowed companion ad types, for example [1, 2] Possible values:

  • 1: Static Resource

  • 2: HTML Resource

  • 3: iframe Resource

skip*

integer

Indicates if the player will allow the video to be skipped, where 0 = no, 1 = yes.

ext*

object

Video extension object

Video Ext Object

Video Ext Object Properties

Value

Type

Description

rewarded*

integer

Indicates whether the ad is being rendered as part of a rewarded / incentivised user experience, where:

  • 0 = non-rewarded

  • 1 = rewarded

  • If omitted, non-rewarded can be assumed

Video Object Example

{
   "id":"1",
   "bidfloor":0.03,
   "video":{
      "w":640,
      "h":480,
      "pos":1,
      "startdelay":0,
      "minduration":5,
      "maxduration":30,
      "maxextended":30,
      "minbitrate":300,
      "maxbitrate":1500,
      "skip":1,
      "api":[
         1,
         2
      ],
      "protocols":[
         6,
         8
      ],
      "mimes":[
         "video/x-flv",
         "video/mp4",
         "application/x-shockwave-flash",
         "application/javascript"
      ],
      "linearity":1,
      "boxingallowed":1,
      "playbackmethod":[
         1,
         3
      ],
      "delivery":[
         2
      ],
      "battr":[
         13,
         14
      ],
      "companionad":[
         {
            "id":"1234567893-1",
            "w":300,
            "h":250,
            "pos":1,
            "battr":[
               13,
               14
            ],
            "expdir":[
               2,
               4
            ]
         },
         {
            "id":"1234567893-2",
            "w":728,
            "h":90,
            "pos":1,
            "battr":[
               13,
               14
            ]
         }
      ],
      "companiontype":[
         1,
         2
      ],
      "ext":{
         "rewarded": 1
      }
   }
}