Struct Video

Source
pub struct Video {
Show 26 fields pub mimes: Vec<String>, pub minduration: Option<i32>, pub maxduration: Option<i32>, pub protocols: Option<Vec<Protocol>>, pub w: Option<i32>, pub h: Option<i32>, pub startdelay: Option<StartDelay>, pub placement: Option<VideoPlacementType>, pub linearity: Option<VideoLinearity>, pub skip: Option<bool>, pub skipmin: i32, pub skipafter: i32, pub sequence: Option<i32>, pub battr: Option<Vec<CreativeAttribute>>, pub maxextended: MaxExtendedAdDuration, pub minbitrate: Option<i32>, pub maxbitrate: Option<i32>, pub boxingallowed: bool, pub playbackmethod: Option<Vec<PlaybackMethod>>, pub playbackend: Option<PlaybackCessationMode>, pub delivery: Option<Vec<ContentDeliveryMethod>>, pub pos: Option<AdPosition>, pub companionad: Option<Vec<Banner>>, pub api: Option<Vec<ApiFramework>>, pub companiontype: Option<Vec<CompanionType>>, pub ext: Option<Map<String, Value>>,
}
Expand description

3.2.7 Object: Video

This object represents an in-stream video impression. Many of the fields are non-essential for minimally viable transactions, but are included to offer fine control when needed. Video in OpenRTB generally assumes compliance with the VAST standard. As such, the notion of companion ads is supported by optionally including an array of Banner objects (refer to the Banner object in Section 3.2.6) that define these companion ads.

The presence of a Video as a subordinate of the Imp object indicates that this impression is offered as a video type impression. At the publisher’s discretion, that same impression may also be offered as banner, audio, and/or native by also including as Imp subordinates objects of those types. However, any given bid for the impression must conform to one of the offered types.

Fields§

§mimes: Vec<String>

string array; required Content MIME types supported (e.g., “video/x-ms-wmv”, “video/mp4”).

§minduration: Option<i32>

integer; recommended Minimum video ad duration in seconds.

§maxduration: Option<i32>

integer; recommended Maximum video ad duration in seconds.

§protocols: Option<Vec<Protocol>>

integer array; recommended Array of supported video protocols. Refer to List 5.8. At least one supported protocol must be specified in either the protocol or protocols attribute.

§w: Option<i32>

integer; recommended Width of the video player in device independent pixels (DIPS).

§h: Option<i32>

integer; recommended Height of the video player in device independent pixels (DIPS).

§startdelay: Option<StartDelay>

integer; recommended Indicates the start delay in seconds for pre-roll, mid-roll, or post-roll ad placements. Refer to List 5.12 for additional generic values.

§placement: Option<VideoPlacementType>

integer Placement type for the impression. Refer to List 5.9.

§linearity: Option<VideoLinearity>

integer Indicates if the impression must be linear, nonlinear, etc. If none specified, assume all are allowed. Refer to List 5.7.

§skip: Option<bool>

integer Indicates if the player will allow the video to be skipped, where 0 = no, 1 = yes. If a bidder sends markup/creative that is itself skippable, the Bid object should include the attr array with an element of 16 indicating skippable video. Refer to List 5.3.

§skipmin: i32

integer; default 0 Videos of total duration greater than this number of seconds can be skippable; only applicable if the ad is skippable.

§skipafter: i32

integer; default 0 Number of seconds a video must play before skipping is enabled; only applicable if the ad is skippable.

§sequence: Option<i32>

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

§battr: Option<Vec<CreativeAttribute>>

integer array Blocked creative attributes. Refer to List 5.3.

§maxextended: MaxExtendedAdDuration

integer Maximum extended ad duration if extension is allowed. If blank or 0, extension is not allowed. If -1, extension is allowed, and there is no time limit imposed. If greater than 0, then the value represents the number of seconds of extended play supported beyond the maxduration value.

§minbitrate: Option<i32>

integer Minimum bit rate in Kbps.

§maxbitrate: Option<i32>

integer Maximum bit rate in Kbps.

§boxingallowed: bool

integer; default 1 Indicates if letter-boxing of 4:3 content into a 16:9 window is allowed, where 0 = no, 1 = yes.

§playbackmethod: Option<Vec<PlaybackMethod>>

integer array Playback methods that may be in use. If none are specified, any method may be used. Refer to List 5.10. Only one method is typically used in practice. As a result, this array may be converted to an integer in a future version of the specification. It is strongly advised to use only the first element of this array in preparation for this change.

§playbackend: Option<PlaybackCessationMode>

integer The event that causes playback to end. Refer to List 5.11.

§delivery: Option<Vec<ContentDeliveryMethod>>

integer array Supported delivery methods (e.g., streaming, progressive). If none specified, assume all are supported. Refer to List 5.15.

§pos: Option<AdPosition>

integer Ad position on screen. Refer to List 5.4.

§companionad: Option<Vec<Banner>>

object array Array of Banner objects (Section 3.2.6) if companion ads are available.

§api: Option<Vec<ApiFramework>>

integer array List of supported API frameworks for this impression. Refer to List 5.6. If an API is not explicitly listed, it is assumed not to be supported.

§companiontype: Option<Vec<CompanionType>>

integer array Supported VAST companion ad types. Refer to List 5.14. Recommended if companion Banner objects are included via the companionad array. If one of these banners will be rendered as an end-card, this can be specified using the vcm attribute with the particular banner (Section 3.2.6).

§ext: Option<Map<String, Value>>

object Placeholder for exchange-specific extensions to OpenRTB.

Trait Implementations§

Source§

impl Clone for Video

Source§

fn clone(&self) -> Video

Returns a duplicate of the value. Read more
1.0.0 · Source§

const fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for Video

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for Video

Source§

fn default() -> Self

Returns the “default value” for a type. Read more
Source§

impl<'de> Deserialize<'de> for Video

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl PartialEq for Video

Source§

fn eq(&self, other: &Video) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Serialize for Video

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
Source§

impl StructuralPartialEq for Video

Auto Trait Implementations§

§

impl Freeze for Video

§

impl RefUnwindSafe for Video

§

impl Send for Video

§

impl Sync for Video

§

impl Unpin for Video

§

impl UnwindSafe for Video

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> DefaultExt for T
where T: Default + PartialEq,

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,