99ea8be974 | ||
---|---|---|
payloads | ||
results | ||
.gitignore | ||
README.md | ||
analysis.py | ||
innerbrute.py |
README.md
YouTube-Internal-Clients
A script that discovers hidden internal clients of the YouTube (Innertube) API using bruteforce methods. The script tries clientNames
with a sequential ID enumeration and crosses them with known clientVersions
.
The goal was to find a client that has no age restrictions implemented. With success.
Results
The script has found the following working clients tested on this video:
Client Name | Client Version | Quality Formats | Features/Attributes |
---|---|---|---|
WEB (1) |
2.20220325 | 144p - 4320pvideo/mp4 video/webm audio/mp4 audio/webm Formats (2)18 - 360p - video/mp422 - 720p - video/mp4 Adaptive Formats (27)571 - 4320p - video/mp4313 - 2160p - video/webm 401 - 2160p - video/mp4 271 - 1440p - video/webm 400 - 1440p - video/mp4 137 - 1080p - video/mp4 248 - 1080p - video/webm 399 - 1080p - video/mp4 136 - 720p - video/mp4 247 - 720p - video/webm 398 - 720p - video/mp4 135 - 480p - video/mp4 244 - 480p - video/webm 397 - 480p - video/mp4 134 - 360p - video/mp4 243 - 360p - video/webm 396 - 360p - video/mp4 133 - 240p - video/mp4 242 - 240p - video/webm 395 - 240p - video/mp4 160 - 144p - video/mp4 278 - 144p - video/webm 394 - 144p - video/mp4 140 - None - audio/mp4 249 - None - audio/webm 250 - None - audio/webm 251 - None - audio/webm |
• annotations • storyboards • microformat • cards • attestation • endscreen • frameworkUpdates Response Structure├─responseContext │ ├─ [serviceTrackingParams] (4)│ ├─ mainAppWebResponseContext │ ├─ webResponseContextExtensionData ├─ playabilityStatus │ ├─ miniplayer │ │ ├─ miniplayerRenderer ├─ streamingData │ ├─ [formats] (2)│ ├─ [adaptiveFormats] (27)├─ playbackTracking │ ├─ videostatsPlaybackUrl │ ├─ videostatsDelayplayUrl │ ├─ videostatsWatchtimeUrl │ ├─ ptrackingUrl │ ├─ qoeUrl │ ├─ atrUrl │ ├─ [videostatsScheduledFlushWalltimeSeconds] (3)│ ├─ youtubeRemarketingUrl ├─ videoDetails │ ├─ [keywords] (29)│ ├─ thumbnail │ │ ├─ [thumbnails] (5)├─ [annotations] (1)├─ playerConfig │ ├─ audioConfig │ ├─ streamSelectionConfig │ ├─ mediaCommonConfig │ │ ├─ dynamicReadaheadConfig │ ├─ webPlayerConfig │ │ ├─ webPlayerActionsPorting │ │ │ ├─ getSharePanelCommand │ │ │ │ ├─ commandMetadata │ │ │ │ │ ├─ webCommandMetadata │ │ │ │ ├─ webPlayerShareEntityServiceEndpoint │ │ │ ├─ subscribeCommand │ │ │ │ ├─ commandMetadata │ │ │ │ │ ├─ webCommandMetadata │ │ │ │ ├─ subscribeEndpoint │ │ │ │ │ ├─ [channelIds] (1)│ │ │ ├─ unsubscribeCommand │ │ │ │ ├─ commandMetadata │ │ │ │ │ ├─ webCommandMetadata │ │ │ │ ├─ unsubscribeEndpoint │ │ │ │ │ ├─ [channelIds] (1)│ │ │ ├─ addToWatchLaterCommand │ │ │ │ ├─ commandMetadata │ │ │ │ │ ├─ webCommandMetadata │ │ │ │ ├─ playlistEditEndpoint │ │ │ │ │ ├─ [actions] (1)│ │ │ ├─ removeFromWatchLaterCommand │ │ │ │ ├─ commandMetadata │ │ │ │ │ ├─ webCommandMetadata │ │ │ │ ├─ playlistEditEndpoint │ │ │ │ │ ├─ [actions] (1)├─ storyboards │ ├─ playerStoryboardSpecRenderer ├─ microformat │ ├─ playerMicroformatRenderer │ │ ├─ thumbnail │ │ │ ├─ [thumbnails] (1)│ │ ├─ embed │ │ ├─ title │ │ ├─ description │ │ ├─ [availableCountries] (249)├─ cards │ ├─ cardCollectionRenderer │ │ ├─ [cards] (1)│ │ ├─ headerText │ │ ├─ icon │ │ │ ├─ infoCardIconRenderer │ │ ├─ closeButton │ │ │ ├─ infoCardIconRenderer ├─ attestation │ ├─ playerAttestationRenderer │ │ ├─ botguardData │ │ │ ├─ interpreterSafeUrl ├─ endscreen │ ├─ endscreenRenderer │ │ ├─ [elements] (2)├─ frameworkUpdates │ ├─ entityBatchUpdate │ │ ├─ [mutations] (1)│ │ ├─ timestamp |
MWEB (2) |
2.20220325 | 144p - 4320pvideo/3gpp video/mp4 video/webm audio/mp4 audio/webm Formats (3)17 - 144p - video/3gpp18 - 360p - video/mp4 22 - 720p - video/mp4 Adaptive Formats (31)571 - 4320p - video/mp4313 - 2160p - video/webm 401 - 2160p - video/mp4 271 - 1440p - video/webm 400 - 1440p - video/mp4 137 - 1080p - video/mp4 248 - 1080p - video/webm 399 - 1080p - video/mp4 136 - 720p - video/mp4 247 - 720p - video/webm 398 - 720p - video/mp4 135 - 480p - video/mp4 244 - 480p - video/webm 397 - 480p - video/mp4 134 - 360p - video/mp4 243 - 360p - video/webm 396 - 360p - video/mp4 133 - 240p - video/mp4 242 - 240p - video/webm 395 - 240p - video/mp4 160 - 144p - video/mp4 278 - 144p - video/webm 394 - 144p - video/mp4 597 - 144p - video/mp4 598 - 144p - video/webm 140 - None - audio/mp4 249 - None - audio/webm 250 - None - audio/webm 251 - None - audio/webm 599 - None - audio/mp4 600 - None - audio/webm |
• storyboards • microformat • attestation Response Structure├─responseContext │ ├─ [serviceTrackingParams] (3)│ ├─ webResponseContextExtensionData ├─ playabilityStatus ├─ streamingData │ ├─ [formats] (3)│ ├─ [adaptiveFormats] (31)├─ playbackTracking │ ├─ videostatsPlaybackUrl │ ├─ videostatsDelayplayUrl │ ├─ videostatsWatchtimeUrl │ ├─ ptrackingUrl │ ├─ qoeUrl │ ├─ atrUrl │ ├─ [videostatsScheduledFlushWalltimeSeconds] (3)│ ├─ youtubeRemarketingUrl ├─ videoDetails │ ├─ [keywords] (29)│ ├─ thumbnail │ │ ├─ [thumbnails] (5)├─ playerConfig │ ├─ audioConfig │ ├─ streamSelectionConfig │ ├─ mediaCommonConfig │ │ ├─ dynamicReadaheadConfig ├─ storyboards │ ├─ playerStoryboardSpecRenderer ├─ microformat │ ├─ playerMicroformatRenderer │ │ ├─ thumbnail │ │ │ ├─ [thumbnails] (1)│ │ ├─ embed │ │ ├─ title │ │ │ ├─ [runs] (1)│ │ ├─ description │ │ │ ├─ [runs] (1)│ │ ├─ [availableCountries] (249)├─ attestation │ ├─ playerAttestationRenderer │ │ ├─ botguardData │ │ │ ├─ interpreterSafeUrl |
ANDROID (3) |
16.20 | 144p - 4320pvideo/3gpp video/mp4 video/webm audio/mp4 audio/webm Formats (3)17 - 144p - video/3gpp18 - 360p - video/mp4 22 - 720p - video/mp4 Adaptive Formats (28)571 - 4320p - video/mp4313 - 2160p - video/webm 401 - 2160p - video/mp4 271 - 1440p - video/webm 400 - 1440p - video/mp4 137 - 1080p - video/mp4 248 - 1080p - video/webm 399 - 1080p - video/mp4 136 - 720p - video/mp4 247 - 720p - video/webm 398 - 720p - video/mp4 135 - 480p - video/mp4 244 - 480p - video/webm 397 - 480p - video/mp4 134 - 360p - video/mp4 243 - 360p - video/webm 396 - 360p - video/mp4 133 - 240p - video/mp4 242 - 240p - video/webm 395 - 240p - video/mp4 160 - 144p - video/mp4 278 - 144p - video/webm 394 - 144p - video/mp4 139 - None - audio/mp4 140 - None - audio/mp4 249 - None - audio/webm 250 - None - audio/webm 251 - None - audio/webm |
• MPEG-DASH Support • annotations • storyboards • attestation • endscreen Response Structure├─responseContext │ ├─ [serviceTrackingParams] (6)├─ playabilityStatus │ ├─ offlineability │ │ ├─ buttonRenderer │ │ │ ├─ serviceEndpoint │ │ │ │ ├─ ypcGetOfflineUpsellEndpoint │ ├─ miniplayer │ │ ├─ miniplayerRenderer ├─ streamingData │ ├─ [formats] (3)│ ├─ [adaptiveFormats] (28)├─ playbackTracking │ ├─ videostatsPlaybackUrl │ │ ├─ [headers] (3)│ ├─ videostatsDelayplayUrl │ │ ├─ [headers] (3)│ ├─ videostatsWatchtimeUrl │ │ ├─ [headers] (3)│ ├─ ptrackingUrl │ │ ├─ [headers] (3)│ ├─ qoeUrl │ │ ├─ [headers] (3)│ ├─ atrUrl │ │ ├─ [headers] (3)│ ├─ engageUrl │ │ ├─ [headers] (2)│ ├─ [videostatsScheduledFlushWalltimeSeconds] (3)│ ├─ youtubeRemarketingUrl │ │ ├─ [headers] (2)├─ videoDetails │ ├─ [keywords] (29)│ ├─ thumbnail │ │ ├─ [thumbnails] (4)├─ [annotations] (1)├─ playerConfig │ ├─ audioConfig │ ├─ exoPlayerConfig │ │ ├─ [lowAudioQualityConnTypes] (2)│ │ ├─ [nonHardwareMediaCodecNames] (8)│ │ ├─ [bearerMinDurationToRetainAfterDiscardMs] (8)│ ├─ playbackStartConfig │ ├─ adRequestConfig │ ├─ networkProtocolConfig │ ├─ androidNetworkStackConfig │ │ ├─ androidCronetResponsePriority │ │ ├─ androidMetadataNetworkConfig │ ├─ lidarSdkConfig │ ├─ androidMedialibConfig │ │ ├─ [initialBandwidthEstimates] (2)│ ├─ playerControlsConfig │ ├─ variableSpeedConfig │ │ ├─ [availablePlaybackSpeeds] (8)│ ├─ decodeQualityConfig │ ├─ vrConfig │ ├─ qoeStatsClientConfig │ ├─ androidPlayerStatsConfig │ ├─ stickyQualitySelectionConfig │ ├─ adSurveyRequestConfig │ ├─ retryConfig │ │ ├─ [retryEligibleErrors] (5)│ ├─ cmsPathProbeConfig │ ├─ mediaCommonConfig │ │ ├─ dynamicReadaheadConfig │ │ ├─ mediaUstreamerRequestConfig │ │ ├─ predictedReadaheadConfig │ │ ├─ mediaFetchRetryConfig │ │ ├─ serverReadaheadConfig │ │ │ ├─ nextRequestPolicy │ ├─ playerGestureConfig ├─ storyboards │ ├─ playerStoryboardSpecRenderer ├─ attestation │ ├─ playerAttestationRenderer ├─ endscreen │ ├─ endscreenRenderer │ │ ├─ [elements] (2)├─ playerSettingsMenuData │ ├─ loggingDirectives │ │ ├─ visibility |
IOS (5) |
16.20 | 144p - 1080pvideo/mp4 audio/mp4 Adaptive Formats (8)137 - 1080p - video/mp4136 - 720p - video/mp4 135 - 480p - video/mp4 134 - 360p - video/mp4 133 - 240p - video/mp4 160 - 144p - video/mp4 139 - None - audio/mp4 140 - None - audio/mp4 |
• HLS Support • annotations • storyboards • attestation • endscreen • overlay Response Structure├─responseContext │ ├─ [serviceTrackingParams] (4)├─ playabilityStatus │ ├─ offlineability │ │ ├─ buttonRenderer │ │ │ ├─ navigationEndpoint │ │ │ │ ├─ ypcGetOfflineUpsellEndpoint │ ├─ miniplayer │ │ ├─ miniplayerRenderer ├─ streamingData │ ├─ [adaptiveFormats] (8)├─ playbackTracking │ ├─ videostatsPlaybackUrl │ │ ├─ [headers] (2)│ ├─ videostatsDelayplayUrl │ │ ├─ [headers] (2)│ ├─ videostatsWatchtimeUrl │ │ ├─ [headers] (2)│ ├─ ptrackingUrl │ │ ├─ [headers] (2)│ ├─ qoeUrl │ │ ├─ [headers] (2)│ ├─ atrUrl │ │ ├─ [headers] (2)│ ├─ engageUrl │ │ ├─ [headers] (2)│ ├─ [videostatsScheduledFlushWalltimeSeconds] (3)│ ├─ youtubeRemarketingUrl │ │ ├─ [headers] (2)├─ videoDetails │ ├─ [keywords] (29)│ ├─ thumbnail │ │ ├─ [thumbnails] (3)├─ [annotations] (1)├─ playerConfig │ ├─ hlsProxyConfig │ ├─ audioConfig │ ├─ backgroundPlaybackConfig │ ├─ adRequestConfig │ ├─ lidarSdkConfig │ ├─ iosAvPlayerConfig │ ├─ vrConfig │ ├─ iosPlayerConfig │ ├─ iosBandwidthEstimatorConfig │ ├─ qoeStatsClientConfig │ ├─ adSurveyRequestConfig │ ├─ hamplayerConfig │ │ ├─ videoTrackRenderer │ │ │ ├─ hamplayerPixelBufferVideoTrackRendererConfig │ │ ├─ audioTrackRenderer │ │ │ ├─ hamplayerAudioEngineTrackRendererConfig │ │ ├─ stallPredictor │ │ │ ├─ hamplayerDefaultStallPredictorConfig │ │ ├─ live │ │ ├─ networkStatsSamplerConfig │ │ ├─ resyncPolicyConfig │ │ ├─ audioAbrConfig │ │ ├─ videoAbrConfig │ │ ├─ chunkLoaderConfig │ │ ├─ loadRetryConfig │ │ ├─ serverAbrConfig │ ├─ daiConfig │ ├─ mediaCommonConfig │ │ ├─ dynamicReadaheadConfig │ │ ├─ mediaUstreamerRequestConfig │ │ ├─ serverReadaheadConfig │ │ │ ├─ nextRequestPolicy │ ├─ playerGestureConfig ├─ storyboards │ ├─ playerStoryboardSpecRenderer ├─ attestation │ ├─ playerAttestationRenderer ├─ endscreen │ ├─ endscreenRenderer │ │ ├─ [elements] (2)├─ [onResponseReceivedEndpoints] (1)├─ overlay │ ├─ playerControlsOverlayRenderer │ │ ├─ overflow │ │ │ ├─ playerOverflowRenderer │ │ │ │ ├─ endpoint │ │ │ │ │ ├─ menuEndpoint │ │ │ │ │ │ ├─ menu │ │ │ │ │ │ │ ├─ menuRenderer │ │ │ │ │ │ │ │ ├─ [items] (4)│ │ │ │ │ │ │ │ ├─ loggingDirectives │ │ │ │ │ │ │ │ │ ├─ visibility |
TVHTML5 (7) |
7.20220325 | 144p - 4320pvideo/mp4 video/webm audio/mp4 audio/webm Formats (2)18 - 360p - video/mp422 - 720p - video/mp4 Adaptive Formats (27)571 - 4320p - video/mp4313 - 2160p - video/webm 401 - 2160p - video/mp4 271 - 1440p - video/webm 400 - 1440p - video/mp4 137 - 1080p - video/mp4 248 - 1080p - video/webm 399 - 1080p - video/mp4 136 - 720p - video/mp4 247 - 720p - video/webm 398 - 720p - video/mp4 135 - 480p - video/mp4 244 - 480p - video/webm 397 - 480p - video/mp4 134 - 360p - video/mp4 243 - 360p - video/webm 396 - 360p - video/mp4 133 - 240p - video/mp4 242 - 240p - video/webm 395 - 240p - video/mp4 160 - 144p - video/mp4 278 - 144p - video/webm 394 - 144p - video/mp4 140 - None - audio/mp4 249 - None - audio/webm 250 - None - audio/webm 251 - None - audio/webm |
• storyboards • attestation • endscreen Response Structure├─responseContext │ ├─ [serviceTrackingParams] (1)├─ playabilityStatus ├─ streamingData │ ├─ [formats] (2)│ ├─ [adaptiveFormats] (27)├─ playbackTracking │ ├─ videostatsPlaybackUrl │ ├─ videostatsDelayplayUrl │ ├─ videostatsWatchtimeUrl │ ├─ ptrackingUrl │ ├─ qoeUrl │ ├─ atrUrl │ ├─ [videostatsScheduledFlushWalltimeSeconds] (3)│ ├─ youtubeRemarketingUrl ├─ videoDetails │ ├─ thumbnail │ │ ├─ [thumbnails] (6)├─ playerConfig │ ├─ audioConfig │ ├─ mediaCommonConfig │ │ ├─ dynamicReadaheadConfig ├─ storyboards │ ├─ playerStoryboardSpecRenderer ├─ attestation │ ├─ playerAttestationRenderer │ │ ├─ botguardData │ │ │ ├─ interpreterSafeUrl ├─ endscreen │ ├─ endscreenRenderer │ │ ├─ [elements] (2)├─ [adPlacements] (9) |
TVLITE (8) |
2 | 144p - 720pvideo/3gpp video/mp4 Formats (3)17 - 144p - video/3gpp18 - 360p - video/mp4 22 - 720p - video/mp4 |
• storyboards Response Structure├─responseContext │ ├─ [serviceTrackingParams] (1)├─ playabilityStatus ├─ streamingData │ ├─ [formats] (3)├─ playbackTracking │ ├─ videostatsPlaybackUrl │ ├─ videostatsDelayplayUrl │ ├─ videostatsWatchtimeUrl │ ├─ ptrackingUrl │ ├─ qoeUrl │ ├─ youtubeRemarketingUrl ├─ videoDetails │ ├─ [keywords] (29)│ ├─ thumbnail │ │ ├─ [thumbnails] (5)├─ playerConfig │ ├─ audioConfig ├─ storyboards │ ├─ playerStoryboardSpecRenderer |
TVANDROID (10) |
1.0 | 144p - 720pvideo/3gpp video/mp4 Formats (3)17 - 144p - video/3gpp18 - 360p - video/mp4 22 - 720p - video/mp4 |
Response Structure├─responseContext │ ├─ [serviceTrackingParams] (1)├─ playabilityStatus ├─ streamingData │ ├─ [formats] (3)├─ playbackTracking │ ├─ videostatsPlaybackUrl │ ├─ videostatsDelayplayUrl │ ├─ videostatsWatchtimeUrl │ ├─ ptrackingUrl │ ├─ qoeUrl │ ├─ youtubeRemarketingUrl ├─ videoDetails │ ├─ [keywords] (29)│ ├─ thumbnail │ │ ├─ [thumbnails] (5)├─ playerConfig |
XBOXONEGUIDE (13) |
1.0 | 144p - 720pvideo/3gpp video/mp4 Formats (3)17 - 144p - video/3gpp18 - 360p - video/mp4 22 - 720p - video/mp4 |
• storyboards Response Structure├─responseContext ├─ playabilityStatus ├─ streamingData │ ├─ [formats] (3)├─ playbackTracking │ ├─ videostatsPlaybackUrl │ ├─ videostatsDelayplayUrl │ ├─ videostatsWatchtimeUrl │ ├─ ptrackingUrl │ ├─ qoeUrl │ ├─ youtubeRemarketingUrl ├─ videoDetails │ ├─ [keywords] (29)│ ├─ thumbnail │ │ ├─ [thumbnails] (5)├─ playerConfig ├─ storyboards │ ├─ playerStoryboardSpecRenderer |
ANDROID_CREATOR (14) |
21.24.100 | 144p - 1080pvideo/3gpp video/mp4 audio/mp4 Formats (3)17 - 144p - video/3gpp18 - 360p - video/mp4 22 - 720p - video/mp4 Adaptive Formats (7)137 - 1080p - video/mp4136 - 720p - video/mp4 135 - 480p - video/mp4 134 - 360p - video/mp4 133 - 240p - video/mp4 160 - 144p - video/mp4 140 - None - audio/mp4 |
Response Structure├─responseContext │ ├─ [serviceTrackingParams] (2)├─ playabilityStatus ├─ streamingData │ ├─ [formats] (3)│ ├─ [adaptiveFormats] (7)├─ playbackTracking │ ├─ videostatsPlaybackUrl │ ├─ videostatsDelayplayUrl │ ├─ videostatsWatchtimeUrl │ ├─ ptrackingUrl │ ├─ qoeUrl │ ├─ youtubeRemarketingUrl ├─ videoDetails │ ├─ [keywords] (29)│ ├─ thumbnail │ │ ├─ [thumbnails] (4)├─ playerConfig |
IOS_CREATOR (15) |
21.24.100 | 144p - 720pvideo/3gpp video/mp4 Formats (3)17 - 144p - video/3gpp18 - 360p - video/mp4 22 - 720p - video/mp4 |
• HLS SupportResponse Structure├─responseContext │ ├─ [serviceTrackingParams] (2)├─ playabilityStatus ├─ streamingData │ ├─ [formats] (3)├─ playbackTracking │ ├─ videostatsPlaybackUrl │ ├─ videostatsDelayplayUrl │ ├─ videostatsWatchtimeUrl │ ├─ ptrackingUrl │ ├─ qoeUrl │ ├─ youtubeRemarketingUrl ├─ videoDetails │ ├─ [keywords] (29)│ ├─ thumbnail │ │ ├─ [thumbnails] (3)├─ playerConfig |
TVAPPLE (16) |
1.0 | 144p - 720pvideo/3gpp video/mp4 Formats (3)17 - 144p - video/3gpp18 - 360p - video/mp4 22 - 720p - video/mp4 |
• HLS Support • annotations Response Structure├─responseContext │ ├─ [serviceTrackingParams] (1)├─ playabilityStatus ├─ streamingData │ ├─ [formats] (3)│ ├─ [hlsFormats] (8)├─ [playerAds] (1)├─ playbackTracking │ ├─ videostatsPlaybackUrl │ ├─ videostatsDelayplayUrl │ ├─ videostatsWatchtimeUrl │ ├─ ptrackingUrl │ ├─ qoeUrl │ ├─ youtubeRemarketingUrl ├─ videoDetails │ ├─ [keywords] (29)│ ├─ thumbnail │ │ ├─ [thumbnails] (5)├─ [annotations] (1)├─ playerConfig |
ANDROID_TV (23) |
2.13 | 144p - 1080pvideo/3gpp video/mp4 audio/mp4 Formats (3)17 - 144p - video/3gpp18 - 360p - video/mp4 22 - 720p - video/mp4 Adaptive Formats (7)137 - 1080p - video/mp4136 - 720p - video/mp4 135 - 480p - video/mp4 134 - 360p - video/mp4 133 - 240p - video/mp4 160 - 144p - video/mp4 140 - None - audio/mp4 |
Response Structure├─responseContext ├─ playabilityStatus ├─ streamingData │ ├─ [formats] (3)│ ├─ [adaptiveFormats] (7)├─ playbackTracking │ ├─ videostatsPlaybackUrl │ │ ├─ [headers] (3)│ ├─ videostatsDelayplayUrl │ │ ├─ [headers] (3)│ ├─ videostatsWatchtimeUrl │ │ ├─ [headers] (3)│ ├─ ptrackingUrl │ │ ├─ [headers] (3)│ ├─ qoeUrl │ │ ├─ [headers] (3)│ ├─ youtubeRemarketingUrl │ │ ├─ [headers] (2)├─ videoDetails │ ├─ [keywords] (29)│ ├─ thumbnail │ │ ├─ [thumbnails] (4)├─ playerConfig |
MWEB_TIER_2 (27) |
9.20220325 | 144p - 720pvideo/3gpp video/mp4 Formats (3)17 - 144p - video/3gpp18 - 360p - video/mp4 22 - 720p - video/mp4 |
• microformat Response Structure├─responseContext │ ├─ [serviceTrackingParams] (1)├─ playabilityStatus ├─ streamingData │ ├─ [formats] (3)├─ playbackTracking │ ├─ videostatsPlaybackUrl │ ├─ videostatsDelayplayUrl │ ├─ videostatsWatchtimeUrl │ ├─ ptrackingUrl │ ├─ qoeUrl │ ├─ youtubeRemarketingUrl ├─ videoDetails │ ├─ [keywords] (29)│ ├─ thumbnail │ │ ├─ [thumbnails] (5)├─ playerConfig ├─ microformat │ ├─ microformatDataRenderer │ │ ├─ thumbnail │ │ │ ├─ [thumbnails] (1)│ │ ├─ [tags] (29)│ │ ├─ [availableCountries] (249)│ │ ├─ pageOwnerDetails │ │ ├─ videoDetails │ │ ├─ embedDetails │ │ ├─ [linkAlternates] (5) |
ANDROID_VR (28) |
0.1 | 144p - 2160pvideo/3gpp video/mp4 video/webm audio/mp4 audio/webm Formats (3)17 - 144p - video/3gpp18 - 360p - video/mp4 22 - 720p - video/mp4 Adaptive Formats (19)313 - 2160p - video/webm271 - 1440p - video/webm 137 - 1080p - video/mp4 248 - 1080p - video/webm 136 - 720p - video/mp4 247 - 720p - video/webm 135 - 480p - video/mp4 244 - 480p - video/webm 134 - 360p - video/mp4 243 - 360p - video/webm 133 - 240p - video/mp4 242 - 240p - video/webm 160 - 144p - video/mp4 278 - 144p - video/webm 139 - None - audio/mp4 140 - None - audio/mp4 249 - None - audio/webm 250 - None - audio/webm 251 - None - audio/webm |
• storyboards Response Structure├─responseContext ├─ playabilityStatus ├─ streamingData │ ├─ [formats] (3)│ ├─ [adaptiveFormats] (19)├─ [playerAds] (1)├─ playbackTracking │ ├─ videostatsPlaybackUrl │ │ ├─ [headers] (3)│ ├─ videostatsDelayplayUrl │ │ ├─ [headers] (3)│ ├─ videostatsWatchtimeUrl │ │ ├─ [headers] (3)│ ├─ ptrackingUrl │ │ ├─ [headers] (3)│ ├─ qoeUrl │ │ ├─ [headers] (3)├─ videoDetails │ ├─ [keywords] (29)│ ├─ thumbnail │ │ ├─ [thumbnails] (4)├─ playerConfig │ ├─ audioConfig │ ├─ exoPlayerConfig │ │ ├─ [lowAudioQualityConnTypes] (2)│ │ ├─ [nonHardwareMediaCodecNames] (8)│ │ ├─ [bearerMinDurationToRetainAfterDiscardMs] (8)│ ├─ decodeQualityConfig │ ├─ androidPlayerStatsConfig ├─ storyboards │ ├─ playerStoryboardSpecRenderer |
ANDROID_UNPLUGGED (29) |
5.26.1 | 144p - 1080pvideo/3gpp video/mp4 audio/mp4 audio/webm Formats (3)17 - 144p - video/3gpp18 - 360p - video/mp4 22 - 720p - video/mp4 Adaptive Formats (11)137 - 1080p - video/mp4136 - 720p - video/mp4 135 - 480p - video/mp4 134 - 360p - video/mp4 133 - 240p - video/mp4 160 - 144p - video/mp4 139 - None - audio/mp4 140 - None - audio/mp4 249 - None - audio/webm 250 - None - audio/webm 251 - None - audio/webm |
• MPEG-DASH Support • storyboards • attestation Response Structure├─responseContext │ ├─ [serviceTrackingParams] (3)├─ playabilityStatus ├─ streamingData │ ├─ [formats] (3)│ ├─ [adaptiveFormats] (11)├─ playbackTracking │ ├─ videostatsPlaybackUrl │ │ ├─ [headers] (3)│ ├─ videostatsDelayplayUrl │ │ ├─ [headers] (3)│ ├─ videostatsWatchtimeUrl │ │ ├─ [headers] (3)│ ├─ ptrackingUrl │ │ ├─ [headers] (3)│ ├─ qoeUrl │ │ ├─ [headers] (3)│ ├─ atrUrl │ │ ├─ [headers] (3)│ ├─ [videostatsScheduledFlushWalltimeSeconds] (3)│ ├─ youtubeRemarketingUrl │ │ ├─ [headers] (2)├─ videoDetails │ ├─ [keywords] (29)│ ├─ thumbnail │ │ ├─ [thumbnails] (4)├─ playerConfig │ ├─ audioConfig │ ├─ exoPlayerConfig │ │ ├─ [lowAudioQualityConnTypes] (2)│ │ ├─ [nonHardwareMediaCodecNames] (8)│ │ ├─ [bearerMinDurationToRetainAfterDiscardMs] (8)│ ├─ adRequestConfig │ ├─ networkProtocolConfig │ ├─ androidNetworkStackConfig │ │ ├─ androidMetadataNetworkConfig │ ├─ lidarSdkConfig │ ├─ androidMedialibConfig │ ├─ variableSpeedConfig │ ├─ decodeQualityConfig │ ├─ androidPlayerStatsConfig │ ├─ retryConfig │ │ ├─ [retryEligibleErrors] (5)│ ├─ cmsPathProbeConfig │ ├─ mediaCommonConfig │ │ ├─ dynamicReadaheadConfig │ │ ├─ mediaUstreamerRequestConfig │ │ ├─ predictedReadaheadConfig │ │ ├─ mediaFetchRetryConfig │ │ ├─ serverReadaheadConfig │ │ │ ├─ nextRequestPolicy ├─ storyboards │ ├─ playerStoryboardSpecRenderer ├─ attestation │ ├─ playerAttestationRenderer |
ANDROID_TESTSUITE (30) |
1.9 | 144p - 4320pvideo/3gpp video/mp4 video/webm audio/mp4 audio/webm Formats (3)17 - 144p - video/3gpp18 - 360p - video/mp4 22 - 720p - video/mp4 Adaptive Formats (28)571 - 4320p - video/mp4313 - 2160p - video/webm 401 - 2160p - video/mp4 271 - 1440p - video/webm 400 - 1440p - video/mp4 137 - 1080p - video/mp4 248 - 1080p - video/webm 399 - 1080p - video/mp4 136 - 720p - video/mp4 247 - 720p - video/webm 398 - 720p - video/mp4 135 - 480p - video/mp4 244 - 480p - video/webm 397 - 480p - video/mp4 134 - 360p - video/mp4 243 - 360p - video/webm 396 - 360p - video/mp4 133 - 240p - video/mp4 242 - 240p - video/webm 395 - 240p - video/mp4 160 - 144p - video/mp4 278 - 144p - video/webm 394 - 144p - video/mp4 139 - None - audio/mp4 140 - None - audio/mp4 249 - None - audio/webm 250 - None - audio/webm 251 - None - audio/webm |
Response Structure├─responseContext ├─ playabilityStatus ├─ streamingData │ ├─ [formats] (3)│ ├─ [adaptiveFormats] (28)├─ [playerAds] (1)├─ playbackTracking │ ├─ videostatsPlaybackUrl │ │ ├─ [headers] (2)│ ├─ videostatsDelayplayUrl │ │ ├─ [headers] (2)│ ├─ videostatsWatchtimeUrl │ │ ├─ [headers] (2)│ ├─ ptrackingUrl │ │ ├─ [headers] (2)│ ├─ qoeUrl │ │ ├─ [headers] (2)│ ├─ youtubeRemarketingUrl │ │ ├─ [headers] (2)├─ videoDetails │ ├─ [keywords] (29)│ ├─ thumbnail │ │ ├─ [thumbnails] (4)├─ playerConfig │ ├─ audioConfig │ ├─ exoPlayerConfig │ │ ├─ [lowAudioQualityConnTypes] (2)│ │ ├─ [nonHardwareMediaCodecNames] (8)│ │ ├─ [bearerMinDurationToRetainAfterDiscardMs] (8) |
WEB_MUSIC_ANALYTICS (31) |
0.2 | 144p - 2160pvideo/mp4 video/webm audio/mp4 audio/webm Formats (2)18 - 360p - video/mp422 - 720p - video/mp4 Adaptive Formats (18)313 - 2160p - video/webm271 - 1440p - video/webm 137 - 1080p - video/mp4 248 - 1080p - video/webm 136 - 720p - video/mp4 247 - 720p - video/webm 135 - 480p - video/mp4 244 - 480p - video/webm 134 - 360p - video/mp4 243 - 360p - video/webm 133 - 240p - video/mp4 242 - 240p - video/webm 160 - 144p - video/mp4 278 - 144p - video/webm 140 - None - audio/mp4 249 - None - audio/webm 250 - None - audio/webm 251 - None - audio/webm |
Response Structure├─responseContext ├─ playabilityStatus ├─ streamingData │ ├─ [formats] (2)│ ├─ [adaptiveFormats] (18)├─ playbackTracking │ ├─ videostatsPlaybackUrl │ ├─ videostatsDelayplayUrl │ ├─ videostatsWatchtimeUrl │ ├─ ptrackingUrl │ ├─ qoeUrl │ ├─ youtubeRemarketingUrl ├─ videoDetails │ ├─ [keywords] (29)│ ├─ thumbnail │ │ ├─ [thumbnails] (5)├─ playerConfig |
IOS_UNPLUGGED (33) |
5.26.1 | 144p - 1080pvideo/3gpp video/mp4 audio/mp4 Formats (3)17 - 144p - video/3gpp18 - 360p - video/mp4 22 - 720p - video/mp4 Adaptive Formats (8)137 - 1080p - video/mp4136 - 720p - video/mp4 135 - 480p - video/mp4 134 - 360p - video/mp4 133 - 240p - video/mp4 160 - 144p - video/mp4 139 - None - audio/mp4 140 - None - audio/mp4 |
• HLS Support • storyboards • attestation Response Structure├─responseContext │ ├─ [serviceTrackingParams] (3)├─ playabilityStatus ├─ streamingData │ ├─ [formats] (3)│ ├─ [adaptiveFormats] (8)│ ├─ [hlsFormats] (8)├─ playbackTracking │ ├─ videostatsPlaybackUrl │ │ ├─ [headers] (3)│ ├─ videostatsDelayplayUrl │ │ ├─ [headers] (3)│ ├─ videostatsWatchtimeUrl │ │ ├─ [headers] (3)│ ├─ ptrackingUrl │ │ ├─ [headers] (3)│ ├─ qoeUrl │ │ ├─ [headers] (3)│ ├─ atrUrl │ │ ├─ [headers] (3)│ ├─ [videostatsScheduledFlushWalltimeSeconds] (3)│ ├─ youtubeRemarketingUrl │ │ ├─ [headers] (2)├─ videoDetails │ ├─ [keywords] (29)│ ├─ thumbnail │ │ ├─ [thumbnails] (3)├─ playerConfig │ ├─ hlsProxyConfig │ ├─ audioConfig │ ├─ audioPairingConfig │ │ ├─ [pairs] (6)│ ├─ backgroundPlaybackConfig │ ├─ lidarSdkConfig │ ├─ iosAvPlayerConfig │ ├─ iosPlayerConfig │ ├─ iosBandwidthEstimatorConfig │ ├─ qoeStatsClientConfig │ ├─ daiConfig │ ├─ mediaCommonConfig │ │ ├─ dynamicReadaheadConfig │ │ ├─ mediaUstreamerRequestConfig │ │ ├─ serverReadaheadConfig │ │ │ ├─ nextRequestPolicy ├─ storyboards │ ├─ playerStoryboardSpecRenderer ├─ attestation │ ├─ playerAttestationRenderer |
ANDROID_LITE (38) |
3.26.1 | 144p - 720pvideo/3gpp video/mp4 audio/mp4 Formats (2)17 - 144p - video/3gpp18 - 360p - video/mp4 Adaptive Formats (7)136 - 720p - video/mp4135 - 480p - video/mp4 134 - 360p - video/mp4 133 - 240p - video/mp4 160 - 144p - video/mp4 139 - None - audio/mp4 140 - None - audio/mp4 |
• MPEG-DASH Support • storyboards • attestation Response Structure├─responseContext │ ├─ [serviceTrackingParams] (1)├─ playabilityStatus │ ├─ offlineability │ │ ├─ offlineabilityRenderer ├─ streamingData │ ├─ [formats] (2)│ ├─ [adaptiveFormats] (7)├─ playbackTracking │ ├─ videostatsPlaybackUrl │ │ ├─ [headers] (3)│ ├─ videostatsDelayplayUrl │ │ ├─ [headers] (3)│ ├─ videostatsWatchtimeUrl │ │ ├─ [headers] (3)│ ├─ ptrackingUrl │ │ ├─ [headers] (3)│ ├─ qoeUrl │ │ ├─ [headers] (3)│ ├─ atrUrl │ │ ├─ [headers] (3)│ ├─ [videostatsScheduledFlushWalltimeSeconds] (3)│ ├─ youtubeRemarketingUrl │ │ ├─ [headers] (2)├─ videoDetails │ ├─ [keywords] (29)│ ├─ thumbnail │ │ ├─ [thumbnails] (2)├─ playerConfig │ ├─ audioConfig │ ├─ exoPlayerConfig │ │ ├─ [lowAudioQualityConnTypes] (2)│ │ ├─ [nonHardwareMediaCodecNames] (8)│ │ ├─ [bearerMinDurationToRetainAfterDiscardMs] (8)│ ├─ adRequestConfig │ ├─ networkProtocolConfig │ ├─ androidNetworkStackConfig │ │ ├─ androidCronetResponsePriority │ │ ├─ androidMetadataNetworkConfig │ ├─ androidMedialibConfig │ ├─ variableSpeedConfig │ │ ├─ [availablePlaybackSpeeds] (8)│ ├─ decodeQualityConfig │ ├─ androidPlayerStatsConfig │ ├─ retryConfig │ │ ├─ [retryEligibleErrors] (5)│ ├─ cmsPathProbeConfig │ ├─ mediaCommonConfig │ │ ├─ dynamicReadaheadConfig │ │ ├─ mediaUstreamerRequestConfig │ │ ├─ predictedReadaheadConfig │ │ ├─ mediaFetchRetryConfig │ │ ├─ serverReadaheadConfig │ │ │ ├─ nextRequestPolicy │ │ ├─ scriptedPlayerConfig ├─ storyboards │ ├─ playerStoryboardSpecRenderer ├─ attestation │ ├─ playerAttestationRenderer |
IOS_EMBEDDED_PLAYER (39) |
2.0 | 144p - 1080pvideo/3gpp video/mp4 audio/mp4 Formats (3)17 - 144p - video/3gpp18 - 360p - video/mp4 22 - 720p - video/mp4 Adaptive Formats (8)137 - 1080p - video/mp4136 - 720p - video/mp4 135 - 480p - video/mp4 134 - 360p - video/mp4 133 - 240p - video/mp4 160 - 144p - video/mp4 139 - None - audio/mp4 140 - None - audio/mp4 |
• HLS Support • annotations • cards • attestation Response Structure├─responseContext │ ├─ [serviceTrackingParams] (5)├─ playabilityStatus │ ├─ backgroundability │ │ ├─ backgroundabilityRenderer ├─ streamingData │ ├─ [formats] (3)│ ├─ [adaptiveFormats] (8)│ ├─ [hlsFormats] (8)├─ playbackTracking │ ├─ videostatsPlaybackUrl │ │ ├─ [headers] (2)│ ├─ videostatsDelayplayUrl │ │ ├─ [headers] (2)│ ├─ videostatsWatchtimeUrl │ │ ├─ [headers] (2)│ ├─ ptrackingUrl │ │ ├─ [headers] (2)│ ├─ qoeUrl │ │ ├─ [headers] (2)│ ├─ atrUrl │ │ ├─ [headers] (2)│ ├─ engageUrl │ │ ├─ [headers] (2)│ ├─ [videostatsScheduledFlushWalltimeSeconds] (3)│ ├─ youtubeRemarketingUrl │ │ ├─ [headers] (2)├─ videoDetails │ ├─ [keywords] (29)│ ├─ thumbnail │ │ ├─ [thumbnails] (3)├─ [annotations] (1)├─ playerConfig │ ├─ hlsProxyConfig │ ├─ audioConfig │ ├─ audioPairingConfig │ │ ├─ [pairs] (6)│ ├─ backgroundPlaybackConfig │ ├─ adRequestConfig │ ├─ lidarSdkConfig │ ├─ iosAvPlayerConfig │ ├─ iosPlayerConfig │ ├─ iosBandwidthEstimatorConfig ├─ cards │ ├─ cardCollectionRenderer │ │ ├─ [cards] (1)│ │ ├─ headerText │ │ │ ├─ [runs] (1)├─ attestation │ ├─ playerAttestationRenderer |
WEB_UNPLUGGED (41) |
1.20220325 | 144p - 4320pvideo/mp4 video/webm audio/mp4 audio/webm Formats (2)18 - 360p - video/mp422 - 720p - video/mp4 Adaptive Formats (27)571 - 4320p - video/mp4313 - 2160p - video/webm 401 - 2160p - video/mp4 271 - 1440p - video/webm 400 - 1440p - video/mp4 137 - 1080p - video/mp4 248 - 1080p - video/webm 399 - 1080p - video/mp4 136 - 720p - video/mp4 247 - 720p - video/webm 398 - 720p - video/mp4 135 - 480p - video/mp4 244 - 480p - video/webm 397 - 480p - video/mp4 134 - 360p - video/mp4 243 - 360p - video/webm 396 - 360p - video/mp4 133 - 240p - video/mp4 242 - 240p - video/webm 395 - 240p - video/mp4 160 - 144p - video/mp4 278 - 144p - video/webm 394 - 144p - video/mp4 140 - None - audio/mp4 249 - None - audio/webm 250 - None - audio/webm 251 - None - audio/webm |
• annotations • storyboards • cards • attestation • endscreen Response Structure├─responseContext │ ├─ [serviceTrackingParams] (1)├─ playabilityStatus ├─ streamingData │ ├─ [formats] (2)│ ├─ [adaptiveFormats] (27)├─ playbackTracking │ ├─ videostatsPlaybackUrl │ │ ├─ [headers] (3)│ ├─ videostatsDelayplayUrl │ │ ├─ [headers] (3)│ ├─ videostatsWatchtimeUrl │ │ ├─ [headers] (3)│ ├─ ptrackingUrl │ │ ├─ [headers] (3)│ ├─ qoeUrl │ │ ├─ [headers] (3)│ ├─ atrUrl │ │ ├─ [headers] (3)│ ├─ [videostatsScheduledFlushWalltimeSeconds] (3)│ ├─ youtubeRemarketingUrl │ │ ├─ [headers] (2)├─ videoDetails │ ├─ [keywords] (29)│ ├─ thumbnail │ │ ├─ [thumbnails] (5)├─ [annotations] (1)├─ playerConfig │ ├─ audioConfig │ ├─ mediaCommonConfig │ │ ├─ dynamicReadaheadConfig │ ├─ webPlayerConfig │ │ ├─ webPlayerActionsPorting ├─ storyboards │ ├─ playerStoryboardSpecRenderer ├─ cards │ ├─ cardCollectionRenderer │ │ ├─ [cards] (1)│ │ ├─ headerText │ │ │ ├─ [runs] (1)│ │ ├─ icon │ │ │ ├─ infoCardIconRenderer │ │ ├─ closeButton │ │ │ ├─ infoCardIconRenderer ├─ attestation │ ├─ playerAttestationRenderer │ │ ├─ botguardData │ │ │ ├─ interpreterSafeUrl ├─ endscreen │ ├─ endscreenRenderer │ │ ├─ [elements] (2)├─ [adPlacements] (9) |
WEB_EXPERIMENTS (42) |
1 | 144p - 4320pvideo/mp4 video/webm audio/mp4 audio/webm Formats (2)18 - 360p - video/mp422 - 720p - video/mp4 Adaptive Formats (27)571 - 4320p - video/mp4313 - 2160p - video/webm 401 - 2160p - video/mp4 271 - 1440p - video/webm 400 - 1440p - video/mp4 137 - 1080p - video/mp4 248 - 1080p - video/webm 399 - 1080p - video/mp4 136 - 720p - video/mp4 247 - 720p - video/webm 398 - 720p - video/mp4 135 - 480p - video/mp4 244 - 480p - video/webm 397 - 480p - video/mp4 134 - 360p - video/mp4 243 - 360p - video/webm 396 - 360p - video/mp4 133 - 240p - video/mp4 242 - 240p - video/webm 395 - 240p - video/mp4 160 - 144p - video/mp4 278 - 144p - video/webm 394 - 144p - video/mp4 140 - None - audio/mp4 249 - None - audio/webm 250 - None - audio/webm 251 - None - audio/webm |
Response Structure├─responseContext │ ├─ webResponseContextExtensionData ├─ playabilityStatus ├─ streamingData │ ├─ [formats] (2)│ ├─ [adaptiveFormats] (27)├─ playbackTracking │ ├─ videostatsPlaybackUrl │ ├─ videostatsDelayplayUrl │ ├─ videostatsWatchtimeUrl │ ├─ ptrackingUrl │ ├─ qoeUrl │ ├─ [videostatsScheduledFlushWalltimeSeconds] (3)│ ├─ youtubeRemarketingUrl ├─ videoDetails │ ├─ [keywords] (29)│ ├─ thumbnail │ │ ├─ [thumbnails] (5)├─ playerConfig |
TVHTML5_CAST (43) |
1.1 | 144p - 4320pvideo/mp4 video/webm audio/mp4 audio/webm Formats (2)18 - 360p - video/mp422 - 720p - video/mp4 Adaptive Formats (27)571 - 4320p - video/mp4313 - 2160p - video/webm 401 - 2160p - video/mp4 271 - 1440p - video/webm 400 - 1440p - video/mp4 137 - 1080p - video/mp4 248 - 1080p - video/webm 399 - 1080p - video/mp4 136 - 720p - video/mp4 247 - 720p - video/webm 398 - 720p - video/mp4 135 - 480p - video/mp4 244 - 480p - video/webm 397 - 480p - video/mp4 134 - 360p - video/mp4 243 - 360p - video/webm 396 - 360p - video/mp4 133 - 240p - video/mp4 242 - 240p - video/webm 395 - 240p - video/mp4 160 - 144p - video/mp4 278 - 144p - video/webm 394 - 144p - video/mp4 140 - None - audio/mp4 249 - None - audio/webm 250 - None - audio/webm 251 - None - audio/webm |
• storyboards • attestation • endscreen Response Structure├─responseContext │ ├─ [serviceTrackingParams] (1)├─ playabilityStatus │ ├─ homeGroupPlayability │ │ ├─ [unplayableHomeGroupTypes] (2)├─ streamingData │ ├─ [formats] (2)│ ├─ [adaptiveFormats] (27)├─ [playerAds] (1)├─ playbackTracking │ ├─ videostatsPlaybackUrl │ ├─ videostatsDelayplayUrl │ ├─ videostatsWatchtimeUrl │ ├─ ptrackingUrl │ ├─ qoeUrl │ ├─ atrUrl │ ├─ [videostatsScheduledFlushWalltimeSeconds] (3)│ ├─ youtubeRemarketingUrl ├─ videoDetails │ ├─ [keywords] (29)│ ├─ thumbnail │ │ ├─ [thumbnails] (6)├─ playerConfig │ ├─ audioConfig │ ├─ mediaCommonConfig │ │ ├─ dynamicReadaheadConfig ├─ storyboards │ ├─ playerStoryboardSpecRenderer ├─ attestation │ ├─ playerAttestationRenderer │ │ ├─ botguardData │ │ │ ├─ interpreterSafeUrl ├─ endscreen │ ├─ endscreenRenderer │ │ ├─ [elements] (2)├─ [adPlacements] (8) |
ANDROID_EMBEDDED_PLAYER (55) |
16.20 | 144p - 1080pvideo/3gpp video/mp4 audio/mp4 Formats (3)17 - 144p - video/3gpp18 - 360p - video/mp4 22 - 720p - video/mp4 Adaptive Formats (8)137 - 1080p - video/mp4136 - 720p - video/mp4 135 - 480p - video/mp4 134 - 360p - video/mp4 133 - 240p - video/mp4 160 - 144p - video/mp4 139 - None - audio/mp4 140 - None - audio/mp4 |
• MPEG-DASH Support • annotations • cards • attestation • endscreen Response Structure├─responseContext │ ├─ [serviceTrackingParams] (5)├─ playabilityStatus │ ├─ backgroundability │ │ ├─ backgroundabilityRenderer ├─ streamingData │ ├─ [formats] (3)│ ├─ [adaptiveFormats] (8)├─ playbackTracking │ ├─ videostatsPlaybackUrl │ │ ├─ [headers] (3)│ ├─ videostatsDelayplayUrl │ │ ├─ [headers] (3)│ ├─ videostatsWatchtimeUrl │ │ ├─ [headers] (3)│ ├─ ptrackingUrl │ │ ├─ [headers] (3)│ ├─ qoeUrl │ │ ├─ [headers] (3)│ ├─ atrUrl │ │ ├─ [headers] (3)│ ├─ engageUrl │ │ ├─ [headers] (2)│ ├─ [videostatsScheduledFlushWalltimeSeconds] (3)│ ├─ youtubeRemarketingUrl │ │ ├─ [headers] (2)├─ videoDetails │ ├─ [keywords] (29)│ ├─ thumbnail │ │ ├─ [thumbnails] (4)├─ [annotations] (1)├─ playerConfig │ ├─ audioConfig │ ├─ exoPlayerConfig │ │ ├─ [lowAudioQualityConnTypes] (2)│ │ ├─ [nonHardwareMediaCodecNames] (8)│ │ ├─ [bearerMinDurationToRetainAfterDiscardMs] (8)│ ├─ adRequestConfig │ ├─ networkProtocolConfig │ ├─ androidNetworkStackConfig │ │ ├─ androidCronetResponsePriority │ │ ├─ androidMetadataNetworkConfig │ ├─ lidarSdkConfig │ ├─ androidMedialibConfig │ ├─ playerControlsConfig │ ├─ variableSpeedConfig │ ├─ decodeQualityConfig │ ├─ vrConfig │ ├─ qoeStatsClientConfig │ ├─ androidPlayerStatsConfig │ ├─ adSurveyRequestConfig │ ├─ retryConfig │ │ ├─ [retryEligibleErrors] (5)│ ├─ cmsPathProbeConfig │ ├─ mediaCommonConfig │ │ ├─ mediaUstreamerRequestConfig │ │ ├─ predictedReadaheadConfig │ │ ├─ mediaFetchRetryConfig │ │ ├─ serverReadaheadConfig │ │ │ ├─ nextRequestPolicy ├─ cards │ ├─ cardCollectionRenderer │ │ ├─ [cards] (1)│ │ ├─ headerText │ │ │ ├─ [runs] (1)│ │ ├─ icon │ │ │ ├─ infoCardIconRenderer │ │ ├─ closeButton │ │ │ ├─ infoCardIconRenderer ├─ attestation │ ├─ playerAttestationRenderer ├─ endscreen │ ├─ endscreenRenderer │ │ ├─ [elements] (2) |
WEB_EMBEDDED_PLAYER (56) |
9.20220325 | 144p - 4320pvideo/mp4 video/webm audio/mp4 audio/webm Formats (2)18 - 360p - video/mp422 - 720p - video/mp4 Adaptive Formats (27)571 - 4320p - video/mp4313 - 2160p - video/webm 401 - 2160p - video/mp4 271 - 1440p - video/webm 400 - 1440p - video/mp4 137 - 1080p - video/mp4 248 - 1080p - video/webm 399 - 1080p - video/mp4 136 - 720p - video/mp4 247 - 720p - video/webm 398 - 720p - video/mp4 135 - 480p - video/mp4 244 - 480p - video/webm 397 - 480p - video/mp4 134 - 360p - video/mp4 243 - 360p - video/webm 396 - 360p - video/mp4 133 - 240p - video/mp4 242 - 240p - video/webm 395 - 240p - video/mp4 160 - 144p - video/mp4 278 - 144p - video/webm 394 - 144p - video/mp4 140 - None - audio/mp4 249 - None - audio/webm 250 - None - audio/webm 251 - None - audio/webm |
• annotations • storyboards • cards • attestation • endscreen Response Structure├─responseContext │ ├─ [serviceTrackingParams] (5)├─ playabilityStatus ├─ streamingData │ ├─ [formats] (2)│ ├─ [adaptiveFormats] (27)├─ [playerAds] (1)├─ playbackTracking │ ├─ videostatsPlaybackUrl │ ├─ videostatsDelayplayUrl │ ├─ videostatsWatchtimeUrl │ ├─ ptrackingUrl │ ├─ qoeUrl │ ├─ atrUrl │ ├─ [videostatsScheduledFlushWalltimeSeconds] (3)│ ├─ youtubeRemarketingUrl ├─ videoDetails │ ├─ [keywords] (29)│ ├─ thumbnail │ │ ├─ [thumbnails] (10)├─ [annotations] (1)├─ playerConfig │ ├─ audioConfig │ ├─ streamSelectionConfig │ ├─ mediaCommonConfig │ │ ├─ dynamicReadaheadConfig │ ├─ webPlayerConfig │ │ ├─ webPlayerActionsPorting │ │ │ ├─ getSharePanelCommand │ │ │ │ ├─ webPlayerShareEntityServiceEndpoint │ │ │ ├─ subscribeCommand │ │ │ │ ├─ subscribeEndpoint │ │ │ │ │ ├─ [channelIds] (1)│ │ │ ├─ unsubscribeCommand │ │ │ │ ├─ unsubscribeEndpoint │ │ │ │ │ ├─ [channelIds] (1)│ │ │ ├─ addToWatchLaterCommand │ │ │ │ ├─ playlistEditEndpoint │ │ │ │ │ ├─ [actions] (1)│ │ │ ├─ removeFromWatchLaterCommand │ │ │ │ ├─ playlistEditEndpoint │ │ │ │ │ ├─ [actions] (1)├─ storyboards │ ├─ playerStoryboardSpecRenderer ├─ cards │ ├─ cardCollectionRenderer │ │ ├─ [cards] (1)│ │ ├─ headerText │ │ │ ├─ [runs] (1)│ │ ├─ icon │ │ │ ├─ infoCardIconRenderer │ │ ├─ closeButton │ │ │ ├─ infoCardIconRenderer ├─ attestation │ ├─ playerAttestationRenderer │ │ ├─ botguardData │ │ │ ├─ interpreterSafeUrl ├─ endscreen │ ├─ endscreenRenderer │ │ ├─ [elements] (2)├─ [adPlacements] (9) |
TV_UNPLUGGED_CAST (58) |
0.1 | 144p - 4320pvideo/mp4 video/webm audio/mp4 audio/webm Formats (2)18 - 360p - video/mp422 - 720p - video/mp4 Adaptive Formats (27)571 - 4320p - video/mp4313 - 2160p - video/webm 401 - 2160p - video/mp4 271 - 1440p - video/webm 400 - 1440p - video/mp4 137 - 1080p - video/mp4 248 - 1080p - video/webm 399 - 1080p - video/mp4 136 - 720p - video/mp4 247 - 720p - video/webm 398 - 720p - video/mp4 135 - 480p - video/mp4 244 - 480p - video/webm 397 - 480p - video/mp4 134 - 360p - video/mp4 243 - 360p - video/webm 396 - 360p - video/mp4 133 - 240p - video/mp4 242 - 240p - video/webm 395 - 240p - video/mp4 160 - 144p - video/mp4 278 - 144p - video/webm 394 - 144p - video/mp4 140 - None - audio/mp4 249 - None - audio/webm 250 - None - audio/webm 251 - None - audio/webm |
• storyboards • attestation Response Structure├─responseContext │ ├─ [serviceTrackingParams] (3)├─ playabilityStatus ├─ streamingData │ ├─ [formats] (2)│ ├─ [adaptiveFormats] (27)├─ playbackTracking │ ├─ videostatsPlaybackUrl │ │ ├─ [headers] (3)│ ├─ videostatsDelayplayUrl │ │ ├─ [headers] (3)│ ├─ videostatsWatchtimeUrl │ │ ├─ [headers] (3)│ ├─ ptrackingUrl │ │ ├─ [headers] (3)│ ├─ qoeUrl │ │ ├─ [headers] (3)│ ├─ atrUrl │ │ ├─ [headers] (3)│ ├─ [videostatsScheduledFlushWalltimeSeconds] (3)│ ├─ youtubeRemarketingUrl │ │ ├─ [headers] (2)├─ videoDetails │ ├─ [keywords] (29)│ ├─ thumbnail │ │ ├─ [thumbnails] (5)├─ playerConfig │ ├─ audioConfig │ ├─ mediaCommonConfig │ │ ├─ dynamicReadaheadConfig ├─ storyboards │ ├─ playerStoryboardSpecRenderer ├─ attestation │ ├─ playerAttestationRenderer |
WEB_HEROES (60) |
0.1 | 144p - 2160pvideo/mp4 video/webm audio/mp4 audio/webm Formats (2)18 - 360p - video/mp422 - 720p - video/mp4 Adaptive Formats (18)313 - 2160p - video/webm271 - 1440p - video/webm 137 - 1080p - video/mp4 248 - 1080p - video/webm 136 - 720p - video/mp4 247 - 720p - video/webm 135 - 480p - video/mp4 244 - 480p - video/webm 134 - 360p - video/mp4 243 - 360p - video/webm 133 - 240p - video/mp4 242 - 240p - video/webm 160 - 144p - video/mp4 278 - 144p - video/webm 140 - None - audio/mp4 249 - None - audio/webm 250 - None - audio/webm 251 - None - audio/webm |
Response Structure├─responseContext ├─ playabilityStatus ├─ streamingData │ ├─ [formats] (2)│ ├─ [adaptiveFormats] (18)├─ playbackTracking │ ├─ videostatsPlaybackUrl │ ├─ videostatsDelayplayUrl │ ├─ videostatsWatchtimeUrl │ ├─ ptrackingUrl │ ├─ qoeUrl │ ├─ youtubeRemarketingUrl ├─ videoDetails │ ├─ [keywords] (29)│ ├─ thumbnail │ │ ├─ [thumbnails] (5)├─ playerConfig |
WEB_CREATOR (62) |
1.20220325 | 144p - 4320pvideo/mp4 video/webm audio/mp4 audio/webm Formats (2)18 - 360p - video/mp422 - 720p - video/mp4 Adaptive Formats (27)571 - 4320p - video/mp4313 - 2160p - video/webm 401 - 2160p - video/mp4 271 - 1440p - video/webm 400 - 1440p - video/mp4 137 - 1080p - video/mp4 248 - 1080p - video/webm 399 - 1080p - video/mp4 136 - 720p - video/mp4 247 - 720p - video/webm 398 - 720p - video/mp4 135 - 480p - video/mp4 244 - 480p - video/webm 397 - 480p - video/mp4 134 - 360p - video/mp4 243 - 360p - video/webm 396 - 360p - video/mp4 133 - 240p - video/mp4 242 - 240p - video/webm 395 - 240p - video/mp4 160 - 144p - video/mp4 278 - 144p - video/webm 394 - 144p - video/mp4 140 - None - audio/mp4 249 - None - audio/webm 250 - None - audio/webm 251 - None - audio/webm |
• annotations • storyboards • cards • attestation Response Structure├─responseContext │ ├─ [serviceTrackingParams] (4)│ ├─ webResponseContextExtensionData ├─ playabilityStatus ├─ streamingData │ ├─ [formats] (2)│ ├─ [adaptiveFormats] (27)├─ playbackTracking │ ├─ videostatsPlaybackUrl │ ├─ videostatsDelayplayUrl │ ├─ videostatsWatchtimeUrl │ ├─ ptrackingUrl │ ├─ qoeUrl │ ├─ atrUrl │ ├─ [videostatsScheduledFlushWalltimeSeconds] (3)│ ├─ youtubeRemarketingUrl ├─ videoDetails │ ├─ [keywords] (29)│ ├─ thumbnail │ │ ├─ [thumbnails] (5)├─ [annotations] (1)├─ playerConfig │ ├─ audioConfig │ ├─ streamSelectionConfig │ ├─ mediaCommonConfig │ │ ├─ dynamicReadaheadConfig │ ├─ webPlayerConfig │ │ ├─ webPlayerActionsPorting ├─ storyboards │ ├─ playerStoryboardSpecRenderer ├─ cards │ ├─ cardCollectionRenderer │ │ ├─ [cards] (1)│ │ ├─ headerText │ │ ├─ icon │ │ │ ├─ infoCardIconRenderer │ │ ├─ closeButton │ │ │ ├─ infoCardIconRenderer ├─ attestation │ ├─ playerAttestationRenderer │ │ ├─ botguardData │ │ │ ├─ interpreterSafeUrl |
TV_UNPLUGGED_ANDROID (63) |
0.1 | 144p - 2160pvideo/3gpp video/mp4 video/webm audio/mp4 audio/webm Formats (3)17 - 144p - video/3gpp18 - 360p - video/mp4 22 - 720p - video/mp4 Adaptive Formats (19)313 - 2160p - video/webm271 - 1440p - video/webm 137 - 1080p - video/mp4 248 - 1080p - video/webm 136 - 720p - video/mp4 247 - 720p - video/webm 135 - 480p - video/mp4 244 - 480p - video/webm 134 - 360p - video/mp4 243 - 360p - video/webm 133 - 240p - video/mp4 242 - 240p - video/webm 160 - 144p - video/mp4 278 - 144p - video/webm 139 - None - audio/mp4 140 - None - audio/mp4 249 - None - audio/webm 250 - None - audio/webm 251 - None - audio/webm |
• MPEG-DASH SupportResponse Structure├─responseContext │ ├─ [serviceTrackingParams] (3)├─ playabilityStatus ├─ streamingData │ ├─ [formats] (3)│ ├─ [adaptiveFormats] (19)├─ playbackTracking │ ├─ videostatsPlaybackUrl │ ├─ videostatsDelayplayUrl │ ├─ videostatsWatchtimeUrl │ ├─ ptrackingUrl │ ├─ qoeUrl │ ├─ [videostatsScheduledFlushWalltimeSeconds] (3)│ ├─ youtubeRemarketingUrl ├─ videoDetails │ ├─ [keywords] (29)│ ├─ thumbnail │ │ ├─ [thumbnails] (4)├─ playerConfig │ ├─ audioConfig │ ├─ exoPlayerConfig │ │ ├─ [lowAudioQualityConnTypes] (2)│ │ ├─ [nonHardwareMediaCodecNames] (8)│ │ ├─ [bearerMinDurationToRetainAfterDiscardMs] (8)│ ├─ adRequestConfig │ ├─ androidNetworkStackConfig │ │ ├─ androidMetadataNetworkConfig │ ├─ lidarSdkConfig │ ├─ androidMedialibConfig │ ├─ variableSpeedConfig │ ├─ decodeQualityConfig │ ├─ androidPlayerStatsConfig │ ├─ retryConfig │ │ ├─ [retryEligibleErrors] (5)│ ├─ cmsPathProbeConfig |
IOS_LIVE_CREATION_EXTENSION (64) |
16.20 | 144p - 720pvideo/3gpp video/mp4 Formats (3)17 - 144p - video/3gpp18 - 360p - video/mp4 22 - 720p - video/mp4 |
• HLS SupportResponse Structure├─responseContext ├─ playabilityStatus ├─ streamingData │ ├─ [formats] (3)├─ playbackTracking │ ├─ videostatsPlaybackUrl │ ├─ videostatsDelayplayUrl │ ├─ videostatsWatchtimeUrl │ ├─ ptrackingUrl │ ├─ qoeUrl │ ├─ youtubeRemarketingUrl ├─ videoDetails │ ├─ [keywords] (29)│ ├─ thumbnail │ │ ├─ [thumbnails] (3)├─ playerConfig |
TVHTML5_UNPLUGGED (65) |
5.26.1 | 144p - 4320pvideo/mp4 video/webm audio/mp4 audio/webm Formats (2)18 - 360p - video/mp422 - 720p - video/mp4 Adaptive Formats (27)571 - 4320p - video/mp4313 - 2160p - video/webm 401 - 2160p - video/mp4 271 - 1440p - video/webm 400 - 1440p - video/mp4 137 - 1080p - video/mp4 248 - 1080p - video/webm 399 - 1080p - video/mp4 136 - 720p - video/mp4 247 - 720p - video/webm 398 - 720p - video/mp4 135 - 480p - video/mp4 244 - 480p - video/webm 397 - 480p - video/mp4 134 - 360p - video/mp4 243 - 360p - video/webm 396 - 360p - video/mp4 133 - 240p - video/mp4 242 - 240p - video/webm 395 - 240p - video/mp4 160 - 144p - video/mp4 278 - 144p - video/webm 394 - 144p - video/mp4 140 - None - audio/mp4 249 - None - audio/webm 250 - None - audio/webm 251 - None - audio/webm |
• storyboards • attestation Response Structure├─responseContext ├─ playabilityStatus ├─ streamingData │ ├─ [formats] (2)│ ├─ [adaptiveFormats] (27)├─ playbackTracking │ ├─ videostatsPlaybackUrl │ ├─ videostatsDelayplayUrl │ ├─ videostatsWatchtimeUrl │ ├─ ptrackingUrl │ ├─ qoeUrl │ ├─ atrUrl │ ├─ [videostatsScheduledFlushWalltimeSeconds] (3)│ ├─ youtubeRemarketingUrl ├─ videoDetails │ ├─ [keywords] (29)│ ├─ thumbnail │ │ ├─ [thumbnails] (5)├─ playerConfig │ ├─ audioConfig │ ├─ mediaCommonConfig │ │ ├─ dynamicReadaheadConfig ├─ storyboards │ ├─ playerStoryboardSpecRenderer ├─ attestation │ ├─ playerAttestationRenderer │ │ ├─ botguardData │ │ │ ├─ interpreterSafeUrl ├─ [adPlacements] (9) |
IOS_MESSAGES_EXTENSION (66) |
16.20 | 144p - 1080pvideo/mp4 audio/mp4 Adaptive Formats (8)137 - 1080p - video/mp4136 - 720p - video/mp4 135 - 480p - video/mp4 134 - 360p - video/mp4 133 - 240p - video/mp4 160 - 144p - video/mp4 139 - None - audio/mp4 140 - None - audio/mp4 |
• HLS Support • annotations • storyboards • attestation • endscreen • overlay Response Structure├─responseContext │ ├─ [serviceTrackingParams] (6)├─ playabilityStatus ├─ streamingData │ ├─ [adaptiveFormats] (8)├─ playbackTracking │ ├─ videostatsPlaybackUrl │ │ ├─ [headers] (2)│ ├─ videostatsDelayplayUrl │ │ ├─ [headers] (2)│ ├─ videostatsWatchtimeUrl │ │ ├─ [headers] (2)│ ├─ ptrackingUrl │ │ ├─ [headers] (2)│ ├─ qoeUrl │ │ ├─ [headers] (2)│ ├─ atrUrl │ │ ├─ [headers] (2)│ ├─ engageUrl │ │ ├─ [headers] (2)│ ├─ [videostatsScheduledFlushWalltimeSeconds] (3)│ ├─ youtubeRemarketingUrl │ │ ├─ [headers] (2)├─ videoDetails │ ├─ [keywords] (29)│ ├─ thumbnail │ │ ├─ [thumbnails] (3)├─ [annotations] (1)├─ playerConfig │ ├─ hlsProxyConfig │ ├─ audioConfig │ ├─ backgroundPlaybackConfig │ ├─ adRequestConfig │ ├─ lidarSdkConfig │ ├─ iosAvPlayerConfig │ ├─ iosPlayerConfig │ ├─ iosBandwidthEstimatorConfig │ ├─ qoeStatsClientConfig │ ├─ hamplayerConfig │ │ ├─ videoTrackRenderer │ │ │ ├─ hamplayerPixelBufferVideoTrackRendererConfig │ │ ├─ audioTrackRenderer │ │ │ ├─ hamplayerAudioEngineTrackRendererConfig │ │ ├─ stallPredictor │ │ │ ├─ hamplayerDefaultStallPredictorConfig │ │ ├─ live │ │ ├─ networkStatsSamplerConfig │ │ ├─ resyncPolicyConfig │ │ ├─ audioAbrConfig │ │ ├─ videoAbrConfig │ │ ├─ chunkLoaderConfig │ │ ├─ loadRetryConfig │ │ ├─ serverAbrConfig │ ├─ mediaCommonConfig │ │ ├─ dynamicReadaheadConfig │ │ ├─ mediaUstreamerRequestConfig │ │ ├─ serverReadaheadConfig │ │ │ ├─ nextRequestPolicy ├─ storyboards │ ├─ playerStoryboardSpecRenderer ├─ attestation │ ├─ playerAttestationRenderer ├─ endscreen │ ├─ endscreenRenderer │ │ ├─ [elements] (2)├─ overlay │ ├─ playerControlsOverlayRenderer │ │ ├─ overflow │ │ │ ├─ playerOverflowRenderer │ │ │ │ ├─ endpoint │ │ │ │ │ ├─ menuEndpoint │ │ │ │ │ │ ├─ menu │ │ │ │ │ │ │ ├─ menuRenderer │ │ │ │ │ │ │ │ ├─ [items] (4) |
IOS_UPTIME (68) |
1.0 | 144p - 720pvideo/3gpp video/mp4 Formats (3)17 - 144p - video/3gpp18 - 360p - video/mp4 22 - 720p - video/mp4 |
• HLS SupportResponse Structure├─responseContext ├─ playabilityStatus ├─ streamingData │ ├─ [formats] (3)│ ├─ [hlsFormats] (8)├─ playbackTracking │ ├─ videostatsPlaybackUrl │ ├─ videostatsDelayplayUrl │ ├─ videostatsWatchtimeUrl │ ├─ ptrackingUrl │ ├─ qoeUrl │ ├─ youtubeRemarketingUrl ├─ videoDetails │ ├─ [keywords] (29)│ ├─ thumbnail │ │ ├─ [thumbnails] (3)├─ playerConfig │ ├─ hlsProxyConfig |
WEB_UNPLUGGED_ONBOARDING (69) |
0.1 | 144p - 2160pvideo/mp4 video/webm audio/mp4 audio/webm Formats (2)18 - 360p - video/mp422 - 720p - video/mp4 Adaptive Formats (18)313 - 2160p - video/webm271 - 1440p - video/webm 137 - 1080p - video/mp4 248 - 1080p - video/webm 136 - 720p - video/mp4 247 - 720p - video/webm 135 - 480p - video/mp4 244 - 480p - video/webm 134 - 360p - video/mp4 243 - 360p - video/webm 133 - 240p - video/mp4 242 - 240p - video/webm 160 - 144p - video/mp4 278 - 144p - video/webm 140 - None - audio/mp4 249 - None - audio/webm 250 - None - audio/webm 251 - None - audio/webm |
• storyboards Response Structure├─responseContext │ ├─ [serviceTrackingParams] (1)├─ playabilityStatus ├─ streamingData │ ├─ [formats] (2)│ ├─ [adaptiveFormats] (18)├─ playbackTracking │ ├─ videostatsPlaybackUrl │ │ ├─ [headers] (3)│ ├─ videostatsDelayplayUrl │ │ ├─ [headers] (3)│ ├─ videostatsWatchtimeUrl │ │ ├─ [headers] (3)│ ├─ ptrackingUrl │ │ ├─ [headers] (3)│ ├─ qoeUrl │ │ ├─ [headers] (3)│ ├─ youtubeRemarketingUrl │ │ ├─ [headers] (2)├─ videoDetails │ ├─ [keywords] (29)│ ├─ thumbnail │ │ ├─ [thumbnails] (5)├─ playerConfig │ ├─ audioConfig ├─ storyboards │ ├─ playerStoryboardSpecRenderer |
WEB_UNPLUGGED_OPS (70) |
0.1 | 144p - 2160pvideo/mp4 video/webm audio/mp4 audio/webm Formats (2)18 - 360p - video/mp422 - 720p - video/mp4 Adaptive Formats (18)313 - 2160p - video/webm271 - 1440p - video/webm 137 - 1080p - video/mp4 248 - 1080p - video/webm 136 - 720p - video/mp4 247 - 720p - video/webm 135 - 480p - video/mp4 244 - 480p - video/webm 134 - 360p - video/mp4 243 - 360p - video/webm 133 - 240p - video/mp4 242 - 240p - video/webm 160 - 144p - video/mp4 278 - 144p - video/webm 140 - None - audio/mp4 249 - None - audio/webm 250 - None - audio/webm 251 - None - audio/webm |
• storyboards Response Structure├─responseContext │ ├─ [serviceTrackingParams] (1)├─ playabilityStatus ├─ streamingData │ ├─ [formats] (2)│ ├─ [adaptiveFormats] (18)├─ playbackTracking │ ├─ videostatsPlaybackUrl │ │ ├─ [headers] (3)│ ├─ videostatsDelayplayUrl │ │ ├─ [headers] (3)│ ├─ videostatsWatchtimeUrl │ │ ├─ [headers] (3)│ ├─ ptrackingUrl │ │ ├─ [headers] (3)│ ├─ qoeUrl │ │ ├─ [headers] (3)│ ├─ youtubeRemarketingUrl │ │ ├─ [headers] (2)├─ videoDetails │ ├─ [keywords] (29)│ ├─ thumbnail │ │ ├─ [thumbnails] (5)├─ playerConfig │ ├─ audioConfig ├─ storyboards │ ├─ playerStoryboardSpecRenderer |
WEB_UNPLUGGED_PUBLIC (71) |
0.1 | 144p - 2160pvideo/mp4 video/webm audio/mp4 audio/webm Formats (2)18 - 360p - video/mp422 - 720p - video/mp4 Adaptive Formats (18)313 - 2160p - video/webm271 - 1440p - video/webm 137 - 1080p - video/mp4 248 - 1080p - video/webm 136 - 720p - video/mp4 247 - 720p - video/webm 135 - 480p - video/mp4 244 - 480p - video/webm 134 - 360p - video/mp4 243 - 360p - video/webm 133 - 240p - video/mp4 242 - 240p - video/webm 160 - 144p - video/mp4 278 - 144p - video/webm 140 - None - audio/mp4 249 - None - audio/webm 250 - None - audio/webm 251 - None - audio/webm |
Response Structure├─responseContext │ ├─ [serviceTrackingParams] (1)├─ playabilityStatus ├─ streamingData │ ├─ [formats] (2)│ ├─ [adaptiveFormats] (18)├─ playbackTracking │ ├─ videostatsPlaybackUrl │ ├─ videostatsDelayplayUrl │ ├─ videostatsWatchtimeUrl │ ├─ ptrackingUrl │ ├─ qoeUrl │ ├─ youtubeRemarketingUrl ├─ videoDetails │ ├─ [keywords] (29)│ ├─ thumbnail │ │ ├─ [thumbnails] (5)├─ playerConfig │ ├─ audioConfig |
TVHTML5_VR (72) |
0.1 | 144p - 2160pvideo/mp4 video/webm audio/mp4 audio/webm Formats (2)18 - 360p - video/mp422 - 720p - video/mp4 Adaptive Formats (18)313 - 2160p - video/webm271 - 1440p - video/webm 137 - 1080p - video/mp4 248 - 1080p - video/webm 136 - 720p - video/mp4 247 - 720p - video/webm 135 - 480p - video/mp4 244 - 480p - video/webm 134 - 360p - video/mp4 243 - 360p - video/webm 133 - 240p - video/mp4 242 - 240p - video/webm 160 - 144p - video/mp4 278 - 144p - video/webm 140 - None - audio/mp4 249 - None - audio/webm 250 - None - audio/webm 251 - None - audio/webm |
• storyboards • attestation Response Structure├─responseContext ├─ playabilityStatus ├─ streamingData │ ├─ [formats] (2)│ ├─ [adaptiveFormats] (18)├─ playbackTracking │ ├─ videostatsPlaybackUrl │ ├─ videostatsDelayplayUrl │ ├─ videostatsWatchtimeUrl │ ├─ ptrackingUrl │ ├─ qoeUrl │ ├─ atrUrl │ ├─ youtubeRemarketingUrl ├─ videoDetails │ ├─ [keywords] (29)│ ├─ thumbnail │ │ ├─ [thumbnails] (5)├─ playerConfig │ ├─ audioConfig ├─ storyboards │ ├─ playerStoryboardSpecRenderer ├─ attestation │ ├─ playerAttestationRenderer |
TVHTML5_SIMPLY (75) |
1.0 | 144p - 4320pvideo/mp4 video/webm audio/mp4 audio/webm Formats (2)18 - 360p - video/mp422 - 720p - video/mp4 Adaptive Formats (27)571 - 4320p - video/mp4313 - 2160p - video/webm 401 - 2160p - video/mp4 271 - 1440p - video/webm 400 - 1440p - video/mp4 137 - 1080p - video/mp4 248 - 1080p - video/webm 399 - 1080p - video/mp4 136 - 720p - video/mp4 247 - 720p - video/webm 398 - 720p - video/mp4 135 - 480p - video/mp4 244 - 480p - video/webm 397 - 480p - video/mp4 134 - 360p - video/mp4 243 - 360p - video/webm 396 - 360p - video/mp4 133 - 240p - video/mp4 242 - 240p - video/webm 395 - 240p - video/mp4 160 - 144p - video/mp4 278 - 144p - video/webm 394 - 144p - video/mp4 140 - None - audio/mp4 249 - None - audio/webm 250 - None - audio/webm 251 - None - audio/webm |
• storyboards • attestation Response Structure├─responseContext ├─ playabilityStatus │ ├─ homeGroupPlayability │ │ ├─ [unplayableHomeGroupTypes] (2)├─ streamingData │ ├─ [formats] (2)│ ├─ [adaptiveFormats] (27)├─ playbackTracking │ ├─ videostatsPlaybackUrl │ ├─ videostatsDelayplayUrl │ ├─ videostatsWatchtimeUrl │ ├─ ptrackingUrl │ ├─ qoeUrl │ ├─ atrUrl │ ├─ [videostatsScheduledFlushWalltimeSeconds] (3)│ ├─ youtubeRemarketingUrl ├─ videoDetails │ ├─ [keywords] (29)│ ├─ thumbnail │ │ ├─ [thumbnails] (6)├─ playerConfig │ ├─ audioConfig │ ├─ mediaCommonConfig │ │ ├─ dynamicReadaheadConfig ├─ storyboards │ ├─ playerStoryboardSpecRenderer ├─ attestation │ ├─ playerAttestationRenderer │ │ ├─ botguardData │ │ │ ├─ interpreterSafeUrl ├─ [adPlacements] (1) |
TVHTML5_YONGLE (80) |
0.1 | 144p - 720pvideo/3gpp video/mp4 Formats (3)17 - 144p - video/3gpp18 - 360p - video/mp4 22 - 720p - video/mp4 |
• storyboards • attestation Response Structure├─responseContext ├─ playabilityStatus ├─ streamingData │ ├─ [formats] (3)├─ playbackTracking │ ├─ videostatsPlaybackUrl │ ├─ videostatsDelayplayUrl │ ├─ videostatsWatchtimeUrl │ ├─ ptrackingUrl │ ├─ qoeUrl │ ├─ atrUrl │ ├─ youtubeRemarketingUrl ├─ videoDetails │ ├─ [keywords] (29)│ ├─ thumbnail │ │ ├─ [thumbnails] (6)├─ playerConfig │ ├─ audioConfig ├─ storyboards │ ├─ playerStoryboardSpecRenderer ├─ attestation │ ├─ playerAttestationRenderer |
GOOGLE_ASSISTANT (84) |
0.1 | 144p - 720pvideo/3gpp video/mp4 Formats (3)17 - 144p - video/3gpp18 - 360p - video/mp4 22 - 720p - video/mp4 |
Response Structure├─responseContext ├─ playabilityStatus ├─ streamingData │ ├─ [formats] (3)├─ playbackTracking │ ├─ videostatsPlaybackUrl │ ├─ videostatsDelayplayUrl │ ├─ videostatsWatchtimeUrl │ ├─ ptrackingUrl │ ├─ qoeUrl │ ├─ youtubeRemarketingUrl ├─ videoDetails │ ├─ [keywords] (29)│ ├─ thumbnail │ │ ├─ [thumbnails] (5)├─ playerConfig |
TVHTML5_SIMPLY_EMBEDDED_PLAYER (85) |
2.0 | 144p - 4320pvideo/mp4 video/webm audio/mp4 audio/webm Formats (2)18 - 360p - video/mp422 - 720p - video/mp4 Adaptive Formats (27)571 - 4320p - video/mp4313 - 2160p - video/webm 401 - 2160p - video/mp4 271 - 1440p - video/webm 400 - 1440p - video/mp4 137 - 1080p - video/mp4 248 - 1080p - video/webm 399 - 1080p - video/mp4 136 - 720p - video/mp4 247 - 720p - video/webm 398 - 720p - video/mp4 135 - 480p - video/mp4 244 - 480p - video/webm 397 - 480p - video/mp4 134 - 360p - video/mp4 243 - 360p - video/webm 396 - 360p - video/mp4 133 - 240p - video/mp4 242 - 240p - video/webm 395 - 240p - video/mp4 160 - 144p - video/mp4 278 - 144p - video/webm 394 - 144p - video/mp4 140 - None - audio/mp4 249 - None - audio/webm 250 - None - audio/webm 251 - None - audio/webm |
• No Age restrictions • storyboards • attestation Response Structure├─responseContext ├─ playabilityStatus ├─ streamingData │ ├─ [formats] (2)│ ├─ [adaptiveFormats] (27)├─ playbackTracking │ ├─ videostatsPlaybackUrl │ ├─ videostatsDelayplayUrl │ ├─ videostatsWatchtimeUrl │ ├─ ptrackingUrl │ ├─ qoeUrl │ ├─ atrUrl │ ├─ [videostatsScheduledFlushWalltimeSeconds] (3)│ ├─ youtubeRemarketingUrl ├─ videoDetails │ ├─ [keywords] (29)│ ├─ thumbnail │ │ ├─ [thumbnails] (5)├─ playerConfig │ ├─ audioConfig │ ├─ mediaCommonConfig │ │ ├─ dynamicReadaheadConfig ├─ storyboards │ ├─ playerStoryboardSpecRenderer ├─ attestation │ ├─ playerAttestationRenderer |
WEB_INTERNAL_ANALYTICS (87) |
0.1 | 144p - 720pvideo/3gpp video/mp4 Formats (3)17 - 144p - video/3gpp18 - 360p - video/mp4 22 - 720p - video/mp4 |
Response Structure├─responseContext ├─ playabilityStatus ├─ streamingData │ ├─ [formats] (3)├─ playbackTracking │ ├─ videostatsPlaybackUrl │ ├─ videostatsDelayplayUrl │ ├─ videostatsWatchtimeUrl │ ├─ ptrackingUrl │ ├─ qoeUrl │ ├─ youtubeRemarketingUrl ├─ videoDetails │ ├─ [keywords] (29)│ ├─ thumbnail │ │ ├─ [thumbnails] (5)├─ playerConfig |
WEB_PARENT_TOOLS (88) |
1.20220325 | 144p - 720pvideo/3gpp video/mp4 Formats (3)17 - 144p - video/3gpp18 - 360p - video/mp4 22 - 720p - video/mp4 |
• annotations • storyboards • cards • attestation Response Structure├─responseContext ├─ playabilityStatus ├─ streamingData │ ├─ [formats] (3)├─ playbackTracking │ ├─ videostatsPlaybackUrl │ ├─ videostatsDelayplayUrl │ ├─ videostatsWatchtimeUrl │ ├─ ptrackingUrl │ ├─ qoeUrl │ ├─ atrUrl │ ├─ youtubeRemarketingUrl ├─ videoDetails │ ├─ [keywords] (29)│ ├─ thumbnail │ │ ├─ [thumbnails] (5)├─ [annotations] (1)├─ playerConfig │ ├─ audioConfig │ ├─ streamSelectionConfig │ ├─ webPlayerConfig │ │ ├─ webPlayerActionsPorting ├─ storyboards │ ├─ playerStoryboardSpecRenderer ├─ cards │ ├─ cardCollectionRenderer │ │ ├─ [cards] (1)│ │ ├─ headerText │ │ │ ├─ [runs] (1)│ │ ├─ icon │ │ │ ├─ infoCardIconRenderer │ │ ├─ closeButton │ │ │ ├─ infoCardIconRenderer ├─ attestation │ ├─ playerAttestationRenderer │ │ ├─ botguardData │ │ │ ├─ interpreterSafeUrl |
GOOGLE_MEDIA_ACTIONS (89) |
0.1 | 144p - 720pvideo/3gpp video/mp4 Formats (3)17 - 144p - video/3gpp18 - 360p - video/mp4 22 - 720p - video/mp4 |
Response Structure├─responseContext ├─ playabilityStatus ├─ streamingData │ ├─ [formats] (3)├─ playbackTracking │ ├─ videostatsPlaybackUrl │ ├─ videostatsDelayplayUrl │ ├─ videostatsWatchtimeUrl │ ├─ ptrackingUrl │ ├─ qoeUrl │ ├─ youtubeRemarketingUrl ├─ videoDetails │ ├─ [keywords] (29)│ ├─ thumbnail │ │ ├─ [thumbnails] (5)├─ playerConfig |
WEB_PHONE_VERIFICATION (90) |
1.0.0 | 144p - 720pvideo/3gpp video/mp4 Formats (3)17 - 144p - video/3gpp18 - 360p - video/mp4 22 - 720p - video/mp4 |
Response Structure├─responseContext │ ├─ [serviceTrackingParams] (4)├─ playabilityStatus ├─ streamingData │ ├─ [formats] (3)├─ playbackTracking │ ├─ videostatsPlaybackUrl │ ├─ videostatsDelayplayUrl │ ├─ videostatsWatchtimeUrl │ ├─ ptrackingUrl │ ├─ qoeUrl │ ├─ youtubeRemarketingUrl ├─ videoDetails │ ├─ [keywords] (29)│ ├─ thumbnail │ │ ├─ [thumbnails] (5)├─ playerConfig |
IOS_PRODUCER (92) |
0.1 | 144p - 720pvideo/3gpp video/mp4 Formats (3)17 - 144p - video/3gpp18 - 360p - video/mp4 22 - 720p - video/mp4 |
Response Structure├─responseContext ├─ playabilityStatus ├─ streamingData │ ├─ [formats] (3)├─ playbackTracking │ ├─ videostatsPlaybackUrl │ ├─ videostatsDelayplayUrl │ ├─ videostatsWatchtimeUrl │ ├─ ptrackingUrl │ ├─ qoeUrl │ ├─ youtubeRemarketingUrl ├─ videoDetails │ ├─ [keywords] (29)│ ├─ thumbnail │ │ ├─ [thumbnails] (5)├─ playerConfig |
TVHTML5_FOR_KIDS (93) |
7.20220325 | 144p - 2160pvideo/mp4 video/webm audio/mp4 audio/webm Formats (2)18 - 360p - video/mp422 - 720p - video/mp4 Adaptive Formats (18)313 - 2160p - video/webm271 - 1440p - video/webm 137 - 1080p - video/mp4 248 - 1080p - video/webm 136 - 720p - video/mp4 247 - 720p - video/webm 135 - 480p - video/mp4 244 - 480p - video/webm 134 - 360p - video/mp4 243 - 360p - video/webm 133 - 240p - video/mp4 242 - 240p - video/webm 160 - 144p - video/mp4 278 - 144p - video/webm 140 - None - audio/mp4 249 - None - audio/webm 250 - None - audio/webm 251 - None - audio/webm |
• storyboards • attestation Response Structure├─responseContext │ ├─ [serviceTrackingParams] (1)├─ playabilityStatus ├─ streamingData │ ├─ [formats] (2)│ ├─ [adaptiveFormats] (18)├─ playbackTracking │ ├─ videostatsPlaybackUrl │ ├─ videostatsDelayplayUrl │ ├─ videostatsWatchtimeUrl │ ├─ ptrackingUrl │ ├─ qoeUrl │ ├─ atrUrl │ ├─ [videostatsScheduledFlushWalltimeSeconds] (3)├─ videoDetails │ ├─ [keywords] (29)│ ├─ thumbnail │ │ ├─ [thumbnails] (6)├─ playerConfig │ ├─ audioConfig │ ├─ mediaCommonConfig │ │ ├─ dynamicReadaheadConfig ├─ storyboards │ ├─ playerStoryboardSpecRenderer ├─ attestation │ ├─ playerAttestationRenderer │ │ ├─ botguardData │ │ │ ├─ interpreterSafeUrl |