NormalizedVideo
Station-normalized data for a video.
The Local Streaming data model has three types repsenting a video:
PbsVideo
: Base type, read-only and synced from PBS Media Manager,Video
: Global video metadata overridingPbsVideo
metadata for all stations, andStationVideo
: Station video metadata overridingVideo
andPbsVideo
metadata 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 preroll.
Consumers must still add the following search parameters to the URL:
correlator
: random interger (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
:StationApp
station
: 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.
Comlete 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 preroll check for this video.
See: NormalizedVideo.googleAdManagerVastAdTagUrl
NormalizedVideo.slug
● String
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
NormalizedVideo.videoType
● VideoType
enum references
NormalizedVideo.watchPosition
● NormalizedVideoWatchPosition
object references
Watch position information for a specific viewer based on watch history.
Note that including this field makes the response uncacheable. Consider only requesting it when needed separately from other fields.
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 ● ScheduleItem
object ● WatchHistory
object