|
|
||
|---|---|---|
| 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• frameworkUpdatesResponse 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• attestationResponse 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• endscreenResponse 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• overlayResponse 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• endscreenResponse 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 |
• storyboardsResponse 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 |
• storyboardsResponse 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 • annotationsResponse 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 |
• microformatResponse 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 |
• storyboardsResponse 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• attestationResponse 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• attestationResponse 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• attestationResponse 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• attestationResponse 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• endscreenResponse 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• endscreenResponse 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• endscreenResponse 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• endscreenResponse 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• attestationResponse 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• attestationResponse 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• attestationResponse 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• overlayResponse 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 |
• storyboardsResponse 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 |
• storyboardsResponse 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• attestationResponse 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• attestationResponse 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• attestationResponse 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• attestationResponse 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• attestationResponse 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• attestationResponse 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 |