NormalizedVideo
Station-normalized data for a video.
The Local Public data model has three types representing a video:
PbsVideo: Base type, read-only and synced from PBS Media Manager,Video: Global video metadata overridingPbsVideometadata for all stations, andStationVideo: Station video metadata overridingVideoandPbsVideometadata for individual stations.
The NormalizedVideo is a combination of all three types for a specific station and country.
type NormalizedVideo {
availabilities: NormalizedVideoAvailabilities
contentAdvisory: String
contentDescriptors: [ContentDescriptor]
contentRating: ContentRating
createdAt: DateTime
descriptionLong: String
descriptionShort: String
duration: Int
embedCodeVideoId: String
episodeNumber: Int
exclude: Boolean
for: NormalizedVideoFor
funderMessage(
stripHtml: Boolean
): String
googleAdManagerVastAdTagUrl: URL
id: String
image(
profile: String!
): ImageWithProfile
images: [ImageWithProfile]
isAvailable: Boolean
isNotAvailableReason: String
isPublicAvailable: Boolean
normalizedShow(
country: CountryCode
stationId: UUID
): NormalizedShow
pbsVideoPlaybackFiles(
forPassport: Boolean!
): NormalizedPbsVideoPlaybackFiles
premiereDate: DateTime
season: Int
showId: String
skipSponsorship: Boolean
slug: String!
title: String
titleShort: String
tvScheduleIds: [String]
upNextDuration: Int
upNextStart: Int
updatedAt: DateTime
videoType: VideoType
watchPosition(
viewerId: String!
): NormalizedVideoWatchPosition
}
Fields
NormalizedVideo.availabilities ● NormalizedVideoAvailabilities object references
Detailed video availability information by availability window.
NormalizedVideo.contentAdvisory ● String scalar references
NormalizedVideo.contentDescriptors ● [ContentDescriptor] list enum references
NormalizedVideo.contentRating ● ContentRating enum references
NormalizedVideo.createdAt ● DateTime scalar references
NormalizedVideo.descriptionLong ● String scalar references
NormalizedVideo.descriptionShort ● String scalar references
NormalizedVideo.duration ● Int scalar references
Total video duration in seconds.
NormalizedVideo.embedCodeVideoId ● String scalar references
ID for PBS Media Manager content embeds with PBS Partner Player.
NormalizedVideo.episodeNumber ● Int scalar references
NormalizedVideo.exclude ● Boolean scalar references
Whether this video should be excluded from presentation.
This is for reference only. See NormalizedVideo.isAvailable for true availability.
NormalizedVideo.for ● NormalizedVideoFor object references
Provides context of what station, country, and source this video is normalized for.
NormalizedVideo.funderMessage ● String scalar references
Funder message from source content (if set).
**Cannot be modified.**
NormalizedVideo.funderMessage.stripHtml ● Boolean scalar references
NormalizedVideo.googleAdManagerVastAdTagUrl ● URL scalar references
Base Google Ads VAST URL for PBS video pre-roll.
Consumers must still add the following search parameters to the URL:
correlator: random integer (IAM SDK handle this automatically where available)ppid: client ID alphanumeric characters only (use Viewer ID (without dashes) if available, otherwise an anonymous client ID).cust_params: URL encoded search string of additional parameters.apptype:StationAppstation: Station call sign, uppercasedeviceID: Device _model_ name (not ID) (e.g., "Roku Premiere")OTTDevice: Device type (e.g., ROKU, IOS, TVOS, etc.)PBSuser: "yes" or "no" for whether the viewer of the video is logged in to a PBS account.passport: "yes" or "no" for whether the viewer of the video has Passport.
Complete example URL:
https://pubads.g.doubleclick.net/gampad/ads
?ad_rule=1
&ciu_szs=728x90
&cmsid=2588203
&env=vp
&gdfp_req=1
&impl=s
&output=vmap
&sz=400x300
&unviewed_position_start=1
&iu=/22540141786/n6735.pbs/PBS_Video_National
&vid=3092213789
&correlator=1246120129220136
&ppid=53e2d614896d4c9083d53da7bf7050be
&cust_params=apptype%3DStationApp%26station%3DKCTS%26deviceID%3D04490af1-ccf1-5edb-b4f2-b7c4a8150c3c%26OTTDevice%3DRoku%26PBSuser%3Dyes%26passport%3Dno
NormalizedVideo.id ● String scalar references
NormalizedVideo.image ● ImageWithProfile object references
Single, transformable image from raw \NormalizedVideo.images\\ for the provided profile name.
NormalizedVideo.image.profile ● String! non-null scalar references
NormalizedVideo.images ● [ImageWithProfile] list object references
Video images data from all three video levels.
NormalizedVideo.isAvailable ● Boolean scalar references
Whether the video is available now.
See: NormalizedVideo.isNotAvailableReason
NormalizedVideo.isNotAvailableReason ● String scalar references
Reason the video is not available (if it is not available).
See: NormalizedVideo.isAvailable
NormalizedVideo.isPublicAvailable ● Boolean scalar references
Whether the video is available to non-members now.
NormalizedVideo.normalizedShow ● NormalizedShow object references
Station-normalized parent show.
NormalizedVideo.normalizedShow.country ● CountryCode scalar references
NormalizedVideo.normalizedShow.stationId ● UUID scalar references
NormalizedVideo.pbsVideoPlaybackFiles ● NormalizedPbsVideoPlaybackFiles object references
Video playback files for PBS video content.
NormalizedVideo.pbsVideoPlaybackFiles.forPassport ● Boolean! non-null scalar references
Whether to get the Passport playback files.
Will select "all members" or "station members" based on whether the parent show is local.
See: NormalizedShow.isLocal
NormalizedVideo.premiereDate ● DateTime scalar references
NormalizedVideo.season ● Int scalar references
NormalizedVideo.showId ● String scalar references
NormalizedVideo.skipSponsorship ● Boolean scalar references
Whether to skip sponsorship pre-roll check for this video.
See: NormalizedVideo.googleAdManagerVastAdTagUrl
NormalizedVideo.slug ● String! non-null scalar references
NormalizedVideo.title ● String scalar references
NormalizedVideo.titleShort ● String scalar references
NormalizedVideo.tvScheduleIds ● [String] list scalar references
Combined list of known TV Schedule IDs that have been used for the video.
**Customization not yet implemented at Video or StationVideo!**
NormalizedVideo.upNextDuration ● Int scalar references
Number of seconds to display an "up next" prompt.
NormalizedVideo.upNextStart ● Int scalar references
Number of seconds before the end of the video to begin displaying an "up next" prompt.
NormalizedVideo.updatedAt ● DateTime scalar references
Latest updatedAt date, including all sources.
NormalizedVideo.videoType ● VideoType enum references
NormalizedVideo.watchPosition ● NormalizedVideoWatchPosition object references
Watch position information for a specific viewer based on watch history.
NormalizedVideo.watchPosition.viewerId ● String! non-null scalar references
Returned By
nextVideoForPlayback query ● normalizedVideo query ● normalizedVideos query ● searchVideos query
Member Of
ContinueWatchingVideo object ● LivestreamScheduleItem object ● NormalizedCollectionItem object ● NormalizedShow object ● NormalizedVideoSearchResults object ● ScheduleItem object ● TvScheduleListing object ● WatchHistory object
Implemented By
SearchResult union