From 075f6681c82fd7db7381c070a40ff7d47dc33d36 Mon Sep 17 00:00:00 2001 From: David <59258980+zerodytrash@users.noreply.github.com> Date: Tue, 5 Apr 2022 01:11:48 +0200 Subject: [PATCH] add more details --- analysis.py | 89 +++++++++++++++++++++++++++++----- payloads/post_data.txt | 2 +- results/working_clients.md | 98 +++++++++++++++++++------------------- 3 files changed, 126 insertions(+), 63 deletions(-) diff --git a/analysis.py b/analysis.py index 260d56c..b793562 100644 --- a/analysis.py +++ b/analysis.py @@ -1,9 +1,47 @@ import os import json +from numpy import array + +def get_min_max_quality_label(formats): + formats = [f for f in formats if f.get("qualityLabel") is not None] + formats.sort(key=lambda x: x.get("width")) + min_format = formats[0] + max_format = formats[-1] + + return min_format.get("qualityLabel") + " - " + max_format.get("qualityLabel") + +def get_unique_mime_str(formats): + mimes = [] + for f in formats: + if f.get("mimeType") is not None: + mime_short = f.get("mimeType").split(";")[0] + + if mime_short not in mimes: + mimes.append(mime_short) + + mimes_str = "" + for m in mimes: + mimes_str += "`" + m + "` " + + return mimes_str + +def get_structure_tree(data, depth = 0): + result = "" + + for attribute in data: + if isinstance(data[attribute], dict): + result += ("│    " * depth) + "├─`" + attribute + "`
" + result += get_structure_tree(data[attribute], depth + 1) + if isinstance(data[attribute], list): + result += ("│    " * depth) + "├─`[" + attribute + "]` (" + str(len(data[attribute])) + ")
" + + return result + + markdown = "" -markdown += "| Client Name | Client Version | Quality Formats | Features |\n" -markdown += "|-------------|----------------|-----------------|----------|\n" +markdown += "|ID| Client Name | Client Version | Quality Formats | Features/Attributes |\n" +markdown += "|--|-------------|----------------|-----------------|----------|\n" txt_output = "" @@ -41,25 +79,36 @@ for client_id in client_ids: txt_output += client_name + ";" + client_version + "\n" - formatsStr = "
Formats" + formats_combined = [] + + formatsStr = "" if response_data.get('streamingData'): formats = response_data.get('streamingData').get('formats') - if formats is not None and len(formats) > 0: + if formats is not None: + formatsStr = "
Formats (" + str(len(formats)) + ")" + formats_combined += formats + for format in formats: - formatsStr += str(format.get("itag")) + " - " + str(format.get("qualityLabel")) + " - " + str(format.get("fps")) + " FPS - " + str(format.get("mimeType")).split(';')[0] + "
" + formatsStr += str(format.get("itag")) + " - " + str(format.get("qualityLabel")) + " - " + str(format.get("mimeType")).split(';')[0] + "
" - formatsStr += "
" + formatsStr += "
" - adaptiveFormatsStr= "
Adaptive Formats" + adaptiveFormatsStr = "" if response_data.get('streamingData'): formats = response_data.get('streamingData').get('adaptiveFormats') - if formats is not None and len(formats) > 0: - for format in formats: - adaptiveFormatsStr += str(format.get("itag")) + " - " + str(format.get("qualityLabel")) + " - " + str(format.get("fps")) + " FPS - " + str(format.get("mimeType")).split(';')[0] + "
" + if formats is not None: + adaptiveFormatsStr = "
Adaptive Formats (" + str(len(formats)) + ")" + formats_combined += formats - adaptiveFormatsStr += "
" + for format in formats: + adaptiveFormatsStr += str(format.get("itag")) + " - " + str(format.get("qualityLabel")) + " - " + str(format.get("mimeType")).split(';')[0] + "
" + + adaptiveFormatsStr += "
" + + formats_summary = "" + get_min_max_quality_label(formats_combined) + "
" + formats_summary += get_unique_mime_str(formats_combined) + "

" extraInfo = "" if has_hls_format: @@ -68,12 +117,26 @@ for client_id in client_ids: if has_mpeg_dash: extraInfo += "• MPEG-DASH Support" + ignore_attributes = ["videoDetails", "playerConfig", "responseContext", "playabilityStatus", "streamingData", "playbackTracking", "trackingParams", "adPlacements", "playerAds", "adParams", "adBreakParams"] - markdown += client_name + "|" + client_version + "|" + formatsStr + adaptiveFormatsStr + "|" + extraInfo + "|\n" + if extraInfo != "": + extraInfo += "

" + + for attribute in response_data: + if attribute not in ignore_attributes: + extraInfo += "• `" + attribute + "`
" + + if extraInfo != "": + extraInfo += "
" + + extraInfo += "
Response Structure" + get_structure_tree(response_data) +"
" + + + markdown += str(client_id) + "|" + client_name + "|" + client_version + "|" + formats_summary + formatsStr + adaptiveFormatsStr + "|" + extraInfo + "|\n" break -f = open("results/working_clients.md", "w") +f = open("results/working_clients.md", "w", encoding="utf-8") f.write(markdown) f.close() diff --git a/payloads/post_data.txt b/payloads/post_data.txt index 505dda8..7be586d 100644 --- a/payloads/post_data.txt +++ b/payloads/post_data.txt @@ -25,7 +25,7 @@ "consistencyTokenJars": [] } }, - "videoId": "xcJtL7QggTI", + "videoId": "Zv11L-ZfrSg", "playbackContext": { "contentPlaybackContext": { "currentUrl": "/watch?v=7t0SqerlBA0", diff --git a/results/working_clients.md b/results/working_clients.md index 34ead96..ac9b9b3 100644 --- a/results/working_clients.md +++ b/results/working_clients.md @@ -1,49 +1,49 @@ -| Client Name | Client Version | Quality Formats | Features | -|-------------|----------------|-----------------|----------| -WEB|2.20220325|
Formats18 - 360p - 30 FPS - video/mp4
22 - 720p - 30 FPS - video/mp4
Adaptive Formats272 - 4320p60 - 60 FPS - video/webm
702 - 4320p60 HDR - 60 FPS - video/mp4
315 - 2160p60 - 60 FPS - video/webm
337 - 2160p60 HDR - 60 FPS - video/webm
701 - 2160p60 HDR - 60 FPS - video/mp4
308 - 1440p60 - 60 FPS - video/webm
336 - 1440p60 HDR - 60 FPS - video/webm
700 - 1440p60 HDR - 60 FPS - video/mp4
299 - 1080p60 - 60 FPS - video/mp4
303 - 1080p60 - 60 FPS - video/webm
335 - 1080p60 HDR - 60 FPS - video/webm
699 - 1080p60 HDR - 60 FPS - video/mp4
136 - 720p - 30 FPS - video/mp4
247 - 720p - 30 FPS - video/webm
298 - 720p60 - 60 FPS - video/mp4
302 - 720p60 - 60 FPS - video/webm
334 - 720p60 HDR - 60 FPS - video/webm
698 - 720p60 HDR - 60 FPS - video/mp4
135 - 480p - 30 FPS - video/mp4
244 - 480p - 30 FPS - video/webm
333 - 480p60 HDR - 60 FPS - video/webm
697 - 480p60 HDR - 60 FPS - video/mp4
134 - 360p - 30 FPS - video/mp4
243 - 360p - 30 FPS - video/webm
332 - 360p60 HDR - 60 FPS - video/webm
696 - 360p60 HDR - 60 FPS - video/mp4
133 - 240p - 30 FPS - video/mp4
242 - 240p - 30 FPS - video/webm
331 - 240p60 HDR - 60 FPS - video/webm
695 - 240p60 HDR - 60 FPS - video/mp4
160 - 144p - 30 FPS - video/mp4
278 - 144p - 30 FPS - video/webm
330 - 144p60 HDR - 60 FPS - video/webm
694 - 144p60 HDR - 60 FPS - video/mp4
140 - None - None FPS - audio/mp4
249 - None - None FPS - audio/webm
250 - None - None FPS - audio/webm
251 - None - None FPS - audio/webm
|| -MWEB|2.20220325|
Formats17 - 144p - 8 FPS - video/3gpp
18 - 360p - 30 FPS - video/mp4
22 - 720p - 30 FPS - video/mp4
Adaptive Formats272 - 4320p60 - 60 FPS - video/webm
702 - 4320p60 HDR - 60 FPS - video/mp4
315 - 2160p60 - 60 FPS - video/webm
337 - 2160p60 HDR - 60 FPS - video/webm
701 - 2160p60 HDR - 60 FPS - video/mp4
308 - 1440p60 - 60 FPS - video/webm
336 - 1440p60 HDR - 60 FPS - video/webm
700 - 1440p60 HDR - 60 FPS - video/mp4
299 - 1080p60 - 60 FPS - video/mp4
303 - 1080p60 - 60 FPS - video/webm
335 - 1080p60 HDR - 60 FPS - video/webm
699 - 1080p60 HDR - 60 FPS - video/mp4
136 - 720p - 30 FPS - video/mp4
247 - 720p - 30 FPS - video/webm
298 - 720p60 - 60 FPS - video/mp4
302 - 720p60 - 60 FPS - video/webm
334 - 720p60 HDR - 60 FPS - video/webm
698 - 720p60 HDR - 60 FPS - video/mp4
135 - 480p - 30 FPS - video/mp4
244 - 480p - 30 FPS - video/webm
333 - 480p60 HDR - 60 FPS - video/webm
697 - 480p60 HDR - 60 FPS - video/mp4
134 - 360p - 30 FPS - video/mp4
243 - 360p - 30 FPS - video/webm
332 - 360p60 HDR - 60 FPS - video/webm
696 - 360p60 HDR - 60 FPS - video/mp4
133 - 240p - 30 FPS - video/mp4
242 - 240p - 30 FPS - video/webm
331 - 240p60 HDR - 60 FPS - video/webm
695 - 240p60 HDR - 60 FPS - video/mp4
160 - 144p - 30 FPS - video/mp4
278 - 144p - 30 FPS - video/webm
330 - 144p60 HDR - 60 FPS - video/webm
597 - 144p - 15 FPS - video/mp4
598 - 144p - 15 FPS - video/webm
694 - 144p60 HDR - 60 FPS - video/mp4
140 - None - None FPS - audio/mp4
249 - None - None FPS - audio/webm
250 - None - None FPS - audio/webm
251 - None - None FPS - audio/webm
599 - None - None FPS - audio/mp4
600 - None - None FPS - audio/webm
|| -ANDROID|16.20|
Formats17 - 144p - 8 FPS - video/3gpp
18 - 360p - 30 FPS - video/mp4
22 - 720p - 30 FPS - video/mp4
Adaptive Formats702 - 4320p60 HDR - 60 FPS - video/mp4
315 - 2160p60 - 60 FPS - video/webm
337 - 2160p60 HDR - 60 FPS - video/webm
701 - 2160p60 HDR - 60 FPS - video/mp4
308 - 1440p60 - 60 FPS - video/webm
336 - 1440p60 HDR - 60 FPS - video/webm
700 - 1440p60 HDR - 60 FPS - video/mp4
299 - 1080p60 - 60 FPS - video/mp4
303 - 1080p60 - 60 FPS - video/webm
335 - 1080p60 HDR - 60 FPS - video/webm
699 - 1080p60 HDR - 60 FPS - video/mp4
298 - 720p60 - 60 FPS - video/mp4
302 - 720p60 - 60 FPS - video/webm
334 - 720p60 HDR - 60 FPS - video/webm
698 - 720p60 HDR - 60 FPS - video/mp4
135 - 480p - 30 FPS - video/mp4
244 - 480p - 30 FPS - video/webm
333 - 480p60 HDR - 60 FPS - video/webm
697 - 480p60 HDR - 60 FPS - video/mp4
134 - 360p - 30 FPS - video/mp4
243 - 360p - 30 FPS - video/webm
332 - 360p60 HDR - 60 FPS - video/webm
696 - 360p60 HDR - 60 FPS - video/mp4
133 - 240p - 30 FPS - video/mp4
242 - 240p - 30 FPS - video/webm
331 - 240p60 HDR - 60 FPS - video/webm
695 - 240p60 HDR - 60 FPS - video/mp4
160 - 144p - 30 FPS - video/mp4
278 - 144p - 30 FPS - video/webm
330 - 144p60 HDR - 60 FPS - video/webm
694 - 144p60 HDR - 60 FPS - video/mp4
139 - None - None FPS - audio/mp4
140 - None - None FPS - audio/mp4
249 - None - None FPS - audio/webm
250 - None - None FPS - audio/webm
251 - None - None FPS - audio/webm
|• MPEG-DASH Support| -IOS|16.20|
Formats
Adaptive Formats136 - 720p - 30 FPS - video/mp4
135 - 480p - 30 FPS - video/mp4
134 - 360p - 30 FPS - video/mp4
133 - 240p - 30 FPS - video/mp4
160 - 144p - 30 FPS - video/mp4
139 - None - None FPS - audio/mp4
140 - None - None FPS - audio/mp4
|• HLS Support| -TVHTML5|7.20220325|
Formats18 - 360p - 30 FPS - video/mp4
22 - 720p - 30 FPS - video/mp4
Adaptive Formats272 - 4320p60 - 60 FPS - video/webm
702 - 4320p60 HDR - 60 FPS - video/mp4
315 - 2160p60 - 60 FPS - video/webm
337 - 2160p60 HDR - 60 FPS - video/webm
701 - 2160p60 HDR - 60 FPS - video/mp4
308 - 1440p60 - 60 FPS - video/webm
336 - 1440p60 HDR - 60 FPS - video/webm
700 - 1440p60 HDR - 60 FPS - video/mp4
299 - 1080p60 - 60 FPS - video/mp4
303 - 1080p60 - 60 FPS - video/webm
335 - 1080p60 HDR - 60 FPS - video/webm
699 - 1080p60 HDR - 60 FPS - video/mp4
136 - 720p - 30 FPS - video/mp4
247 - 720p - 30 FPS - video/webm
298 - 720p60 - 60 FPS - video/mp4
302 - 720p60 - 60 FPS - video/webm
334 - 720p60 HDR - 60 FPS - video/webm
698 - 720p60 HDR - 60 FPS - video/mp4
135 - 480p - 30 FPS - video/mp4
244 - 480p - 30 FPS - video/webm
333 - 480p60 HDR - 60 FPS - video/webm
697 - 480p60 HDR - 60 FPS - video/mp4
134 - 360p - 30 FPS - video/mp4
243 - 360p - 30 FPS - video/webm
332 - 360p60 HDR - 60 FPS - video/webm
696 - 360p60 HDR - 60 FPS - video/mp4
133 - 240p - 30 FPS - video/mp4
242 - 240p - 30 FPS - video/webm
331 - 240p60 HDR - 60 FPS - video/webm
695 - 240p60 HDR - 60 FPS - video/mp4
160 - 144p - 30 FPS - video/mp4
278 - 144p - 30 FPS - video/webm
330 - 144p60 HDR - 60 FPS - video/webm
694 - 144p60 HDR - 60 FPS - video/mp4
140 - None - None FPS - audio/mp4
249 - None - None FPS - audio/webm
250 - None - None FPS - audio/webm
251 - None - None FPS - audio/webm
|| -TVLITE|2|
Formats17 - 144p - 8 FPS - video/3gpp
18 - 360p - 30 FPS - video/mp4
22 - 720p - 30 FPS - video/mp4
Adaptive Formats
|| -TVANDROID|1.0|
Formats17 - 144p - 8 FPS - video/3gpp
18 - 360p - 30 FPS - video/mp4
22 - 720p - 30 FPS - video/mp4
Adaptive Formats
|| -XBOXONEGUIDE|1.0|
Formats17 - 144p - 8 FPS - video/3gpp
18 - 360p - 30 FPS - video/mp4
22 - 720p - 30 FPS - video/mp4
Adaptive Formats
|| -ANDROID_CREATOR|21.24.100|
Formats17 - 144p - 8 FPS - video/3gpp
18 - 360p - 30 FPS - video/mp4
22 - 720p - 30 FPS - video/mp4
Adaptive Formats136 - 720p - 30 FPS - video/mp4
135 - 480p - 30 FPS - video/mp4
134 - 360p - 30 FPS - video/mp4
133 - 240p - 30 FPS - video/mp4
160 - 144p - 30 FPS - video/mp4
140 - None - None FPS - audio/mp4
|| -IOS_CREATOR|21.24.100|
Formats17 - 144p - 8 FPS - video/3gpp
18 - 360p - 30 FPS - video/mp4
22 - 720p - 30 FPS - video/mp4
Adaptive Formats
|| -TVAPPLE|1.0|
Formats17 - 144p - 8 FPS - video/3gpp
18 - 360p - 30 FPS - video/mp4
22 - 720p - 30 FPS - video/mp4
Adaptive Formats
|• HLS Support| -ANDROID_TV|2.13|
Formats17 - 144p - 8 FPS - video/3gpp
18 - 360p - 30 FPS - video/mp4
22 - 720p - 30 FPS - video/mp4
Adaptive Formats299 - 1080p60 - 60 FPS - video/mp4
298 - 720p60 - 60 FPS - video/mp4
135 - 480p - 30 FPS - video/mp4
134 - 360p - 30 FPS - video/mp4
133 - 240p - 30 FPS - video/mp4
160 - 144p - 30 FPS - video/mp4
140 - None - None FPS - audio/mp4
|| -MWEB_TIER_2|9.20220325|
Formats17 - 144p - 8 FPS - video/3gpp
18 - 360p - 30 FPS - video/mp4
22 - 720p - 30 FPS - video/mp4
Adaptive Formats
|| -ANDROID_VR|0.1|
Formats17 - 144p - 8 FPS - video/3gpp
18 - 360p - 30 FPS - video/mp4
22 - 720p - 30 FPS - video/mp4
Adaptive Formats272 - 4320p60 - 60 FPS - video/webm
136 - 720p - 30 FPS - video/mp4
247 - 720p - 30 FPS - video/webm
135 - 480p - 30 FPS - video/mp4
244 - 480p - 30 FPS - video/webm
134 - 360p - 30 FPS - video/mp4
243 - 360p - 30 FPS - video/webm
133 - 240p - 30 FPS - video/mp4
242 - 240p - 30 FPS - video/webm
160 - 144p - 30 FPS - video/mp4
278 - 144p - 30 FPS - video/webm
139 - None - None FPS - audio/mp4
140 - None - None FPS - audio/mp4
249 - None - None FPS - audio/webm
250 - None - None FPS - audio/webm
251 - None - None FPS - audio/webm
|| -ANDROID_UNPLUGGED|5.26.1|
Formats17 - 144p - 8 FPS - video/3gpp
18 - 360p - 30 FPS - video/mp4
22 - 720p - 30 FPS - video/mp4
Adaptive Formats299 - 1080p60 - 60 FPS - video/mp4
136 - 720p - 30 FPS - video/mp4
298 - 720p60 - 60 FPS - video/mp4
135 - 480p - 30 FPS - video/mp4
134 - 360p - 30 FPS - video/mp4
133 - 240p - 30 FPS - video/mp4
160 - 144p - 30 FPS - video/mp4
139 - None - None FPS - audio/mp4
140 - None - None FPS - audio/mp4
249 - None - None FPS - audio/webm
250 - None - None FPS - audio/webm
251 - None - None FPS - audio/webm
|• MPEG-DASH Support| -ANDROID_TESTSUITE|1.9|
Formats17 - 144p - 8 FPS - video/3gpp
18 - 360p - 30 FPS - video/mp4
22 - 720p - 30 FPS - video/mp4
Adaptive Formats702 - 4320p60 HDR - 60 FPS - video/mp4
315 - 2160p60 - 60 FPS - video/webm
701 - 2160p60 HDR - 60 FPS - video/mp4
308 - 1440p60 - 60 FPS - video/webm
700 - 1440p60 HDR - 60 FPS - video/mp4
299 - 1080p60 - 60 FPS - video/mp4
303 - 1080p60 - 60 FPS - video/webm
699 - 1080p60 HDR - 60 FPS - video/mp4
298 - 720p60 - 60 FPS - video/mp4
302 - 720p60 - 60 FPS - video/webm
698 - 720p60 HDR - 60 FPS - video/mp4
135 - 480p - 30 FPS - video/mp4
244 - 480p - 30 FPS - video/webm
697 - 480p60 HDR - 60 FPS - video/mp4
134 - 360p - 30 FPS - video/mp4
243 - 360p - 30 FPS - video/webm
696 - 360p60 HDR - 60 FPS - video/mp4
133 - 240p - 30 FPS - video/mp4
242 - 240p - 30 FPS - video/webm
695 - 240p60 HDR - 60 FPS - video/mp4
160 - 144p - 30 FPS - video/mp4
278 - 144p - 30 FPS - video/webm
694 - 144p60 HDR - 60 FPS - video/mp4
139 - None - None FPS - audio/mp4
140 - None - None FPS - audio/mp4
249 - None - None FPS - audio/webm
250 - None - None FPS - audio/webm
251 - None - None FPS - audio/webm
|| -WEB_MUSIC_ANALYTICS|0.2|
Formats18 - 360p - 30 FPS - video/mp4
22 - 720p - 30 FPS - video/mp4
Adaptive Formats272 - 4320p60 - 60 FPS - video/webm
315 - 2160p60 - 60 FPS - video/webm
337 - 2160p60 HDR - 60 FPS - video/webm
308 - 1440p60 - 60 FPS - video/webm
336 - 1440p60 HDR - 60 FPS - video/webm
299 - 1080p60 - 60 FPS - video/mp4
303 - 1080p60 - 60 FPS - video/webm
335 - 1080p60 HDR - 60 FPS - video/webm
136 - 720p - 30 FPS - video/mp4
247 - 720p - 30 FPS - video/webm
298 - 720p60 - 60 FPS - video/mp4
302 - 720p60 - 60 FPS - video/webm
334 - 720p60 HDR - 60 FPS - video/webm
135 - 480p - 30 FPS - video/mp4
244 - 480p - 30 FPS - video/webm
333 - 480p60 HDR - 60 FPS - video/webm
134 - 360p - 30 FPS - video/mp4
243 - 360p - 30 FPS - video/webm
332 - 360p60 HDR - 60 FPS - video/webm
133 - 240p - 30 FPS - video/mp4
242 - 240p - 30 FPS - video/webm
331 - 240p60 HDR - 60 FPS - video/webm
160 - 144p - 30 FPS - video/mp4
278 - 144p - 30 FPS - video/webm
330 - 144p60 HDR - 60 FPS - video/webm
140 - None - None FPS - audio/mp4
249 - None - None FPS - audio/webm
250 - None - None FPS - audio/webm
251 - None - None FPS - audio/webm
|| -IOS_UNPLUGGED|5.26.1|
Formats17 - 144p - 8 FPS - video/3gpp
18 - 360p - 30 FPS - video/mp4
22 - 720p - 30 FPS - video/mp4
Adaptive Formats299 - 1080p60 - 60 FPS - video/mp4
136 - 720p - 30 FPS - video/mp4
298 - 720p60 - 60 FPS - video/mp4
135 - 480p - 30 FPS - video/mp4
134 - 360p - 30 FPS - video/mp4
133 - 240p - 30 FPS - video/mp4
160 - 144p - 30 FPS - video/mp4
139 - None - None FPS - audio/mp4
140 - None - None FPS - audio/mp4
|• HLS Support| -ANDROID_LITE|3.26.1|
Formats17 - 144p - 8 FPS - video/3gpp
18 - 360p - 30 FPS - video/mp4
Adaptive Formats136 - 720p - 30 FPS - video/mp4
135 - 480p - 30 FPS - video/mp4
134 - 360p - 30 FPS - video/mp4
133 - 240p - 30 FPS - video/mp4
160 - 144p - 30 FPS - video/mp4
139 - None - None FPS - audio/mp4
140 - None - None FPS - audio/mp4
|• MPEG-DASH Support| -IOS_EMBEDDED_PLAYER|2.0|
Formats17 - 144p - 8 FPS - video/3gpp
18 - 360p - 30 FPS - video/mp4
22 - 720p - 30 FPS - video/mp4
Adaptive Formats299 - 1080p60 - 60 FPS - video/mp4
298 - 720p60 - 60 FPS - video/mp4
135 - 480p - 30 FPS - video/mp4
134 - 360p - 30 FPS - video/mp4
133 - 240p - 30 FPS - video/mp4
160 - 144p - 30 FPS - video/mp4
139 - None - None FPS - audio/mp4
140 - None - None FPS - audio/mp4
|• HLS Support| -WEB_UNPLUGGED|1.20220325|
Formats18 - 360p - 30 FPS - video/mp4
22 - 720p - 30 FPS - video/mp4
Adaptive Formats272 - 4320p60 - 60 FPS - video/webm
702 - 4320p60 HDR - 60 FPS - video/mp4
315 - 2160p60 - 60 FPS - video/webm
337 - 2160p60 HDR - 60 FPS - video/webm
701 - 2160p60 HDR - 60 FPS - video/mp4
308 - 1440p60 - 60 FPS - video/webm
336 - 1440p60 HDR - 60 FPS - video/webm
700 - 1440p60 HDR - 60 FPS - video/mp4
299 - 1080p60 - 60 FPS - video/mp4
303 - 1080p60 - 60 FPS - video/webm
335 - 1080p60 HDR - 60 FPS - video/webm
699 - 1080p60 HDR - 60 FPS - video/mp4
136 - 720p - 30 FPS - video/mp4
247 - 720p - 30 FPS - video/webm
298 - 720p60 - 60 FPS - video/mp4
302 - 720p60 - 60 FPS - video/webm
334 - 720p60 HDR - 60 FPS - video/webm
698 - 720p60 HDR - 60 FPS - video/mp4
135 - 480p - 30 FPS - video/mp4
244 - 480p - 30 FPS - video/webm
333 - 480p60 HDR - 60 FPS - video/webm
697 - 480p60 HDR - 60 FPS - video/mp4
134 - 360p - 30 FPS - video/mp4
243 - 360p - 30 FPS - video/webm
332 - 360p60 HDR - 60 FPS - video/webm
696 - 360p60 HDR - 60 FPS - video/mp4
133 - 240p - 30 FPS - video/mp4
242 - 240p - 30 FPS - video/webm
331 - 240p60 HDR - 60 FPS - video/webm
695 - 240p60 HDR - 60 FPS - video/mp4
160 - 144p - 30 FPS - video/mp4
278 - 144p - 30 FPS - video/webm
330 - 144p60 HDR - 60 FPS - video/webm
694 - 144p60 HDR - 60 FPS - video/mp4
140 - None - None FPS - audio/mp4
249 - None - None FPS - audio/webm
250 - None - None FPS - audio/webm
251 - None - None FPS - audio/webm
|| -WEB_EXPERIMENTS|1|
Formats18 - 360p - 30 FPS - video/mp4
22 - 720p - 30 FPS - video/mp4
Adaptive Formats272 - 4320p60 - 60 FPS - video/webm
702 - 4320p60 HDR - 60 FPS - video/mp4
315 - 2160p60 - 60 FPS - video/webm
337 - 2160p60 HDR - 60 FPS - video/webm
701 - 2160p60 HDR - 60 FPS - video/mp4
308 - 1440p60 - 60 FPS - video/webm
336 - 1440p60 HDR - 60 FPS - video/webm
700 - 1440p60 HDR - 60 FPS - video/mp4
299 - 1080p60 - 60 FPS - video/mp4
303 - 1080p60 - 60 FPS - video/webm
335 - 1080p60 HDR - 60 FPS - video/webm
699 - 1080p60 HDR - 60 FPS - video/mp4
136 - 720p - 30 FPS - video/mp4
247 - 720p - 30 FPS - video/webm
298 - 720p60 - 60 FPS - video/mp4
302 - 720p60 - 60 FPS - video/webm
334 - 720p60 HDR - 60 FPS - video/webm
698 - 720p60 HDR - 60 FPS - video/mp4
135 - 480p - 30 FPS - video/mp4
244 - 480p - 30 FPS - video/webm
333 - 480p60 HDR - 60 FPS - video/webm
697 - 480p60 HDR - 60 FPS - video/mp4
134 - 360p - 30 FPS - video/mp4
243 - 360p - 30 FPS - video/webm
332 - 360p60 HDR - 60 FPS - video/webm
696 - 360p60 HDR - 60 FPS - video/mp4
133 - 240p - 30 FPS - video/mp4
242 - 240p - 30 FPS - video/webm
331 - 240p60 HDR - 60 FPS - video/webm
695 - 240p60 HDR - 60 FPS - video/mp4
160 - 144p - 30 FPS - video/mp4
278 - 144p - 30 FPS - video/webm
330 - 144p60 HDR - 60 FPS - video/webm
694 - 144p60 HDR - 60 FPS - video/mp4
140 - None - None FPS - audio/mp4
249 - None - None FPS - audio/webm
250 - None - None FPS - audio/webm
251 - None - None FPS - audio/webm
|| -TVHTML5_CAST|1.1|
Formats18 - 360p - 30 FPS - video/mp4
22 - 720p - 30 FPS - video/mp4
Adaptive Formats272 - 4320p60 - 60 FPS - video/webm
702 - 4320p60 HDR - 60 FPS - video/mp4
315 - 2160p60 - 60 FPS - video/webm
337 - 2160p60 HDR - 60 FPS - video/webm
701 - 2160p60 HDR - 60 FPS - video/mp4
308 - 1440p60 - 60 FPS - video/webm
336 - 1440p60 HDR - 60 FPS - video/webm
700 - 1440p60 HDR - 60 FPS - video/mp4
299 - 1080p60 - 60 FPS - video/mp4
303 - 1080p60 - 60 FPS - video/webm
335 - 1080p60 HDR - 60 FPS - video/webm
699 - 1080p60 HDR - 60 FPS - video/mp4
136 - 720p - 30 FPS - video/mp4
247 - 720p - 30 FPS - video/webm
298 - 720p60 - 60 FPS - video/mp4
302 - 720p60 - 60 FPS - video/webm
334 - 720p60 HDR - 60 FPS - video/webm
698 - 720p60 HDR - 60 FPS - video/mp4
135 - 480p - 30 FPS - video/mp4
244 - 480p - 30 FPS - video/webm
333 - 480p60 HDR - 60 FPS - video/webm
697 - 480p60 HDR - 60 FPS - video/mp4
134 - 360p - 30 FPS - video/mp4
243 - 360p - 30 FPS - video/webm
332 - 360p60 HDR - 60 FPS - video/webm
696 - 360p60 HDR - 60 FPS - video/mp4
133 - 240p - 30 FPS - video/mp4
242 - 240p - 30 FPS - video/webm
331 - 240p60 HDR - 60 FPS - video/webm
695 - 240p60 HDR - 60 FPS - video/mp4
160 - 144p - 30 FPS - video/mp4
278 - 144p - 30 FPS - video/webm
330 - 144p60 HDR - 60 FPS - video/webm
694 - 144p60 HDR - 60 FPS - video/mp4
140 - None - None FPS - audio/mp4
249 - None - None FPS - audio/webm
250 - None - None FPS - audio/webm
251 - None - None FPS - audio/webm
|| -ANDROID_EMBEDDED_PLAYER|16.20|
Formats17 - 144p - 8 FPS - video/3gpp
18 - 360p - 30 FPS - video/mp4
22 - 720p - 30 FPS - video/mp4
Adaptive Formats136 - 720p - 30 FPS - video/mp4
135 - 480p - 30 FPS - video/mp4
134 - 360p - 30 FPS - video/mp4
133 - 240p - 30 FPS - video/mp4
160 - 144p - 30 FPS - video/mp4
139 - None - None FPS - audio/mp4
140 - None - None FPS - audio/mp4
|• MPEG-DASH Support| -WEB_EMBEDDED_PLAYER|9.20220325|
Formats18 - 360p - 30 FPS - video/mp4
22 - 720p - 30 FPS - video/mp4
Adaptive Formats272 - 4320p60 - 60 FPS - video/webm
702 - 4320p60 HDR - 60 FPS - video/mp4
315 - 2160p60 - 60 FPS - video/webm
337 - 2160p60 HDR - 60 FPS - video/webm
701 - 2160p60 HDR - 60 FPS - video/mp4
308 - 1440p60 - 60 FPS - video/webm
336 - 1440p60 HDR - 60 FPS - video/webm
700 - 1440p60 HDR - 60 FPS - video/mp4
299 - 1080p60 - 60 FPS - video/mp4
303 - 1080p60 - 60 FPS - video/webm
335 - 1080p60 HDR - 60 FPS - video/webm
699 - 1080p60 HDR - 60 FPS - video/mp4
136 - 720p - 30 FPS - video/mp4
247 - 720p - 30 FPS - video/webm
298 - 720p60 - 60 FPS - video/mp4
302 - 720p60 - 60 FPS - video/webm
334 - 720p60 HDR - 60 FPS - video/webm
698 - 720p60 HDR - 60 FPS - video/mp4
135 - 480p - 30 FPS - video/mp4
244 - 480p - 30 FPS - video/webm
333 - 480p60 HDR - 60 FPS - video/webm
697 - 480p60 HDR - 60 FPS - video/mp4
134 - 360p - 30 FPS - video/mp4
243 - 360p - 30 FPS - video/webm
332 - 360p60 HDR - 60 FPS - video/webm
696 - 360p60 HDR - 60 FPS - video/mp4
133 - 240p - 30 FPS - video/mp4
242 - 240p - 30 FPS - video/webm
331 - 240p60 HDR - 60 FPS - video/webm
695 - 240p60 HDR - 60 FPS - video/mp4
160 - 144p - 30 FPS - video/mp4
278 - 144p - 30 FPS - video/webm
330 - 144p60 HDR - 60 FPS - video/webm
694 - 144p60 HDR - 60 FPS - video/mp4
140 - None - None FPS - audio/mp4
249 - None - None FPS - audio/webm
250 - None - None FPS - audio/webm
251 - None - None FPS - audio/webm
|| -TV_UNPLUGGED_CAST|0.1|
Formats18 - 360p - 30 FPS - video/mp4
22 - 720p - 30 FPS - video/mp4
Adaptive Formats272 - 4320p60 - 60 FPS - video/webm
702 - 4320p60 HDR - 60 FPS - video/mp4
315 - 2160p60 - 60 FPS - video/webm
337 - 2160p60 HDR - 60 FPS - video/webm
701 - 2160p60 HDR - 60 FPS - video/mp4
308 - 1440p60 - 60 FPS - video/webm
336 - 1440p60 HDR - 60 FPS - video/webm
700 - 1440p60 HDR - 60 FPS - video/mp4
299 - 1080p60 - 60 FPS - video/mp4
303 - 1080p60 - 60 FPS - video/webm
335 - 1080p60 HDR - 60 FPS - video/webm
699 - 1080p60 HDR - 60 FPS - video/mp4
136 - 720p - 30 FPS - video/mp4
247 - 720p - 30 FPS - video/webm
298 - 720p60 - 60 FPS - video/mp4
302 - 720p60 - 60 FPS - video/webm
334 - 720p60 HDR - 60 FPS - video/webm
698 - 720p60 HDR - 60 FPS - video/mp4
135 - 480p - 30 FPS - video/mp4
244 - 480p - 30 FPS - video/webm
333 - 480p60 HDR - 60 FPS - video/webm
697 - 480p60 HDR - 60 FPS - video/mp4
134 - 360p - 30 FPS - video/mp4
243 - 360p - 30 FPS - video/webm
332 - 360p60 HDR - 60 FPS - video/webm
696 - 360p60 HDR - 60 FPS - video/mp4
133 - 240p - 30 FPS - video/mp4
242 - 240p - 30 FPS - video/webm
331 - 240p60 HDR - 60 FPS - video/webm
695 - 240p60 HDR - 60 FPS - video/mp4
160 - 144p - 30 FPS - video/mp4
278 - 144p - 30 FPS - video/webm
330 - 144p60 HDR - 60 FPS - video/webm
694 - 144p60 HDR - 60 FPS - video/mp4
140 - None - None FPS - audio/mp4
249 - None - None FPS - audio/webm
250 - None - None FPS - audio/webm
251 - None - None FPS - audio/webm
|| -WEB_HEROES|0.1|
Formats18 - 360p - 30 FPS - video/mp4
22 - 720p - 30 FPS - video/mp4
Adaptive Formats272 - 4320p60 - 60 FPS - video/webm
315 - 2160p60 - 60 FPS - video/webm
337 - 2160p60 HDR - 60 FPS - video/webm
308 - 1440p60 - 60 FPS - video/webm
336 - 1440p60 HDR - 60 FPS - video/webm
299 - 1080p60 - 60 FPS - video/mp4
303 - 1080p60 - 60 FPS - video/webm
335 - 1080p60 HDR - 60 FPS - video/webm
136 - 720p - 30 FPS - video/mp4
247 - 720p - 30 FPS - video/webm
298 - 720p60 - 60 FPS - video/mp4
302 - 720p60 - 60 FPS - video/webm
334 - 720p60 HDR - 60 FPS - video/webm
135 - 480p - 30 FPS - video/mp4
244 - 480p - 30 FPS - video/webm
333 - 480p60 HDR - 60 FPS - video/webm
134 - 360p - 30 FPS - video/mp4
243 - 360p - 30 FPS - video/webm
332 - 360p60 HDR - 60 FPS - video/webm
133 - 240p - 30 FPS - video/mp4
242 - 240p - 30 FPS - video/webm
331 - 240p60 HDR - 60 FPS - video/webm
160 - 144p - 30 FPS - video/mp4
278 - 144p - 30 FPS - video/webm
330 - 144p60 HDR - 60 FPS - video/webm
140 - None - None FPS - audio/mp4
249 - None - None FPS - audio/webm
250 - None - None FPS - audio/webm
251 - None - None FPS - audio/webm
|| -WEB_CREATOR|1.20220325|
Formats18 - 360p - 30 FPS - video/mp4
22 - 720p - 30 FPS - video/mp4
Adaptive Formats272 - 4320p60 - 60 FPS - video/webm
702 - 4320p60 HDR - 60 FPS - video/mp4
315 - 2160p60 - 60 FPS - video/webm
337 - 2160p60 HDR - 60 FPS - video/webm
701 - 2160p60 HDR - 60 FPS - video/mp4
308 - 1440p60 - 60 FPS - video/webm
336 - 1440p60 HDR - 60 FPS - video/webm
700 - 1440p60 HDR - 60 FPS - video/mp4
299 - 1080p60 - 60 FPS - video/mp4
303 - 1080p60 - 60 FPS - video/webm
335 - 1080p60 HDR - 60 FPS - video/webm
699 - 1080p60 HDR - 60 FPS - video/mp4
136 - 720p - 30 FPS - video/mp4
247 - 720p - 30 FPS - video/webm
298 - 720p60 - 60 FPS - video/mp4
302 - 720p60 - 60 FPS - video/webm
334 - 720p60 HDR - 60 FPS - video/webm
698 - 720p60 HDR - 60 FPS - video/mp4
135 - 480p - 30 FPS - video/mp4
244 - 480p - 30 FPS - video/webm
333 - 480p60 HDR - 60 FPS - video/webm
697 - 480p60 HDR - 60 FPS - video/mp4
134 - 360p - 30 FPS - video/mp4
243 - 360p - 30 FPS - video/webm
332 - 360p60 HDR - 60 FPS - video/webm
696 - 360p60 HDR - 60 FPS - video/mp4
133 - 240p - 30 FPS - video/mp4
242 - 240p - 30 FPS - video/webm
331 - 240p60 HDR - 60 FPS - video/webm
695 - 240p60 HDR - 60 FPS - video/mp4
160 - 144p - 30 FPS - video/mp4
278 - 144p - 30 FPS - video/webm
330 - 144p60 HDR - 60 FPS - video/webm
694 - 144p60 HDR - 60 FPS - video/mp4
140 - None - None FPS - audio/mp4
249 - None - None FPS - audio/webm
250 - None - None FPS - audio/webm
251 - None - None FPS - audio/webm
|| -TV_UNPLUGGED_ANDROID|0.1|
Formats17 - 144p - 8 FPS - video/3gpp
18 - 360p - 30 FPS - video/mp4
22 - 720p - 30 FPS - video/mp4
Adaptive Formats315 - 2160p60 - 60 FPS - video/webm
308 - 1440p60 - 60 FPS - video/webm
299 - 1080p60 - 60 FPS - video/mp4
303 - 1080p60 - 60 FPS - video/webm
298 - 720p60 - 60 FPS - video/mp4
302 - 720p60 - 60 FPS - video/webm
135 - 480p - 30 FPS - video/mp4
244 - 480p - 30 FPS - video/webm
134 - 360p - 30 FPS - video/mp4
243 - 360p - 30 FPS - video/webm
133 - 240p - 30 FPS - video/mp4
242 - 240p - 30 FPS - video/webm
160 - 144p - 30 FPS - video/mp4
278 - 144p - 30 FPS - video/webm
139 - None - None FPS - audio/mp4
140 - None - None FPS - audio/mp4
249 - None - None FPS - audio/webm
250 - None - None FPS - audio/webm
251 - None - None FPS - audio/webm
|• MPEG-DASH Support| -IOS_LIVE_CREATION_EXTENSION|16.20|
Formats17 - 144p - 8 FPS - video/3gpp
18 - 360p - 30 FPS - video/mp4
22 - 720p - 30 FPS - video/mp4
Adaptive Formats
|| -TVHTML5_UNPLUGGED|5.26.1|
Formats18 - 360p - 30 FPS - video/mp4
22 - 720p - 30 FPS - video/mp4
Adaptive Formats272 - 4320p60 - 60 FPS - video/webm
702 - 4320p60 HDR - 60 FPS - video/mp4
337 - 2160p60 HDR - 60 FPS - video/webm
701 - 2160p60 HDR - 60 FPS - video/mp4
336 - 1440p60 HDR - 60 FPS - video/webm
700 - 1440p60 HDR - 60 FPS - video/mp4
335 - 1080p60 HDR - 60 FPS - video/webm
699 - 1080p60 HDR - 60 FPS - video/mp4
136 - 720p - 30 FPS - video/mp4
247 - 720p - 30 FPS - video/webm
334 - 720p60 HDR - 60 FPS - video/webm
698 - 720p60 HDR - 60 FPS - video/mp4
135 - 480p - 30 FPS - video/mp4
244 - 480p - 30 FPS - video/webm
333 - 480p60 HDR - 60 FPS - video/webm
697 - 480p60 HDR - 60 FPS - video/mp4
134 - 360p - 30 FPS - video/mp4
243 - 360p - 30 FPS - video/webm
332 - 360p60 HDR - 60 FPS - video/webm
696 - 360p60 HDR - 60 FPS - video/mp4
133 - 240p - 30 FPS - video/mp4
242 - 240p - 30 FPS - video/webm
331 - 240p60 HDR - 60 FPS - video/webm
695 - 240p60 HDR - 60 FPS - video/mp4
160 - 144p - 30 FPS - video/mp4
278 - 144p - 30 FPS - video/webm
330 - 144p60 HDR - 60 FPS - video/webm
694 - 144p60 HDR - 60 FPS - video/mp4
140 - None - None FPS - audio/mp4
249 - None - None FPS - audio/webm
250 - None - None FPS - audio/webm
251 - None - None FPS - audio/webm
|| -IOS_MESSAGES_EXTENSION|16.20|
Formats
Adaptive Formats136 - 720p - 30 FPS - video/mp4
135 - 480p - 30 FPS - video/mp4
134 - 360p - 30 FPS - video/mp4
133 - 240p - 30 FPS - video/mp4
160 - 144p - 30 FPS - video/mp4
139 - None - None FPS - audio/mp4
140 - None - None FPS - audio/mp4
|• HLS Support| -IOS_UPTIME|1.0|
Formats17 - 144p - 8 FPS - video/3gpp
18 - 360p - 30 FPS - video/mp4
22 - 720p - 30 FPS - video/mp4
Adaptive Formats
|• HLS Support| -WEB_UNPLUGGED_ONBOARDING|0.1|
Formats18 - 360p - 30 FPS - video/mp4
22 - 720p - 30 FPS - video/mp4
Adaptive Formats272 - 4320p60 - 60 FPS - video/webm
315 - 2160p60 - 60 FPS - video/webm
337 - 2160p60 HDR - 60 FPS - video/webm
308 - 1440p60 - 60 FPS - video/webm
336 - 1440p60 HDR - 60 FPS - video/webm
299 - 1080p60 - 60 FPS - video/mp4
303 - 1080p60 - 60 FPS - video/webm
335 - 1080p60 HDR - 60 FPS - video/webm
136 - 720p - 30 FPS - video/mp4
247 - 720p - 30 FPS - video/webm
298 - 720p60 - 60 FPS - video/mp4
302 - 720p60 - 60 FPS - video/webm
334 - 720p60 HDR - 60 FPS - video/webm
135 - 480p - 30 FPS - video/mp4
244 - 480p - 30 FPS - video/webm
333 - 480p60 HDR - 60 FPS - video/webm
134 - 360p - 30 FPS - video/mp4
243 - 360p - 30 FPS - video/webm
332 - 360p60 HDR - 60 FPS - video/webm
133 - 240p - 30 FPS - video/mp4
242 - 240p - 30 FPS - video/webm
331 - 240p60 HDR - 60 FPS - video/webm
160 - 144p - 30 FPS - video/mp4
278 - 144p - 30 FPS - video/webm
330 - 144p60 HDR - 60 FPS - video/webm
140 - None - None FPS - audio/mp4
249 - None - None FPS - audio/webm
250 - None - None FPS - audio/webm
251 - None - None FPS - audio/webm
|| -WEB_UNPLUGGED_OPS|0.1|
Formats18 - 360p - 30 FPS - video/mp4
22 - 720p - 30 FPS - video/mp4
Adaptive Formats272 - 4320p60 - 60 FPS - video/webm
315 - 2160p60 - 60 FPS - video/webm
337 - 2160p60 HDR - 60 FPS - video/webm
308 - 1440p60 - 60 FPS - video/webm
336 - 1440p60 HDR - 60 FPS - video/webm
299 - 1080p60 - 60 FPS - video/mp4
303 - 1080p60 - 60 FPS - video/webm
335 - 1080p60 HDR - 60 FPS - video/webm
136 - 720p - 30 FPS - video/mp4
247 - 720p - 30 FPS - video/webm
298 - 720p60 - 60 FPS - video/mp4
302 - 720p60 - 60 FPS - video/webm
334 - 720p60 HDR - 60 FPS - video/webm
135 - 480p - 30 FPS - video/mp4
244 - 480p - 30 FPS - video/webm
333 - 480p60 HDR - 60 FPS - video/webm
134 - 360p - 30 FPS - video/mp4
243 - 360p - 30 FPS - video/webm
332 - 360p60 HDR - 60 FPS - video/webm
133 - 240p - 30 FPS - video/mp4
242 - 240p - 30 FPS - video/webm
331 - 240p60 HDR - 60 FPS - video/webm
160 - 144p - 30 FPS - video/mp4
278 - 144p - 30 FPS - video/webm
330 - 144p60 HDR - 60 FPS - video/webm
140 - None - None FPS - audio/mp4
249 - None - None FPS - audio/webm
250 - None - None FPS - audio/webm
251 - None - None FPS - audio/webm
|| -WEB_UNPLUGGED_PUBLIC|0.1|
Formats18 - 360p - 30 FPS - video/mp4
22 - 720p - 30 FPS - video/mp4
Adaptive Formats272 - 4320p60 - 60 FPS - video/webm
315 - 2160p60 - 60 FPS - video/webm
337 - 2160p60 HDR - 60 FPS - video/webm
308 - 1440p60 - 60 FPS - video/webm
336 - 1440p60 HDR - 60 FPS - video/webm
299 - 1080p60 - 60 FPS - video/mp4
303 - 1080p60 - 60 FPS - video/webm
335 - 1080p60 HDR - 60 FPS - video/webm
136 - 720p - 30 FPS - video/mp4
247 - 720p - 30 FPS - video/webm
298 - 720p60 - 60 FPS - video/mp4
302 - 720p60 - 60 FPS - video/webm
334 - 720p60 HDR - 60 FPS - video/webm
135 - 480p - 30 FPS - video/mp4
244 - 480p - 30 FPS - video/webm
333 - 480p60 HDR - 60 FPS - video/webm
134 - 360p - 30 FPS - video/mp4
243 - 360p - 30 FPS - video/webm
332 - 360p60 HDR - 60 FPS - video/webm
133 - 240p - 30 FPS - video/mp4
242 - 240p - 30 FPS - video/webm
331 - 240p60 HDR - 60 FPS - video/webm
160 - 144p - 30 FPS - video/mp4
278 - 144p - 30 FPS - video/webm
330 - 144p60 HDR - 60 FPS - video/webm
140 - None - None FPS - audio/mp4
249 - None - None FPS - audio/webm
250 - None - None FPS - audio/webm
251 - None - None FPS - audio/webm
|| -TVHTML5_VR|0.1|
Formats18 - 360p - 30 FPS - video/mp4
22 - 720p - 30 FPS - video/mp4
Adaptive Formats272 - 4320p60 - 60 FPS - video/webm
315 - 2160p60 - 60 FPS - video/webm
337 - 2160p60 HDR - 60 FPS - video/webm
308 - 1440p60 - 60 FPS - video/webm
336 - 1440p60 HDR - 60 FPS - video/webm
299 - 1080p60 - 60 FPS - video/mp4
303 - 1080p60 - 60 FPS - video/webm
335 - 1080p60 HDR - 60 FPS - video/webm
136 - 720p - 30 FPS - video/mp4
247 - 720p - 30 FPS - video/webm
298 - 720p60 - 60 FPS - video/mp4
302 - 720p60 - 60 FPS - video/webm
334 - 720p60 HDR - 60 FPS - video/webm
135 - 480p - 30 FPS - video/mp4
244 - 480p - 30 FPS - video/webm
333 - 480p60 HDR - 60 FPS - video/webm
134 - 360p - 30 FPS - video/mp4
243 - 360p - 30 FPS - video/webm
332 - 360p60 HDR - 60 FPS - video/webm
133 - 240p - 30 FPS - video/mp4
242 - 240p - 30 FPS - video/webm
331 - 240p60 HDR - 60 FPS - video/webm
160 - 144p - 30 FPS - video/mp4
278 - 144p - 30 FPS - video/webm
330 - 144p60 HDR - 60 FPS - video/webm
140 - None - None FPS - audio/mp4
249 - None - None FPS - audio/webm
250 - None - None FPS - audio/webm
251 - None - None FPS - audio/webm
|| -TVHTML5_SIMPLY|1.0|
Formats18 - 360p - 30 FPS - video/mp4
22 - 720p - 30 FPS - video/mp4
Adaptive Formats272 - 4320p60 - 60 FPS - video/webm
702 - 4320p60 HDR - 60 FPS - video/mp4
315 - 2160p60 - 60 FPS - video/webm
337 - 2160p60 HDR - 60 FPS - video/webm
701 - 2160p60 HDR - 60 FPS - video/mp4
308 - 1440p60 - 60 FPS - video/webm
336 - 1440p60 HDR - 60 FPS - video/webm
700 - 1440p60 HDR - 60 FPS - video/mp4
299 - 1080p60 - 60 FPS - video/mp4
303 - 1080p60 - 60 FPS - video/webm
335 - 1080p60 HDR - 60 FPS - video/webm
699 - 1080p60 HDR - 60 FPS - video/mp4
136 - 720p - 30 FPS - video/mp4
247 - 720p - 30 FPS - video/webm
298 - 720p60 - 60 FPS - video/mp4
302 - 720p60 - 60 FPS - video/webm
334 - 720p60 HDR - 60 FPS - video/webm
698 - 720p60 HDR - 60 FPS - video/mp4
135 - 480p - 30 FPS - video/mp4
244 - 480p - 30 FPS - video/webm
333 - 480p60 HDR - 60 FPS - video/webm
697 - 480p60 HDR - 60 FPS - video/mp4
134 - 360p - 30 FPS - video/mp4
243 - 360p - 30 FPS - video/webm
332 - 360p60 HDR - 60 FPS - video/webm
696 - 360p60 HDR - 60 FPS - video/mp4
133 - 240p - 30 FPS - video/mp4
242 - 240p - 30 FPS - video/webm
331 - 240p60 HDR - 60 FPS - video/webm
695 - 240p60 HDR - 60 FPS - video/mp4
160 - 144p - 30 FPS - video/mp4
278 - 144p - 30 FPS - video/webm
330 - 144p60 HDR - 60 FPS - video/webm
694 - 144p60 HDR - 60 FPS - video/mp4
140 - None - None FPS - audio/mp4
249 - None - None FPS - audio/webm
250 - None - None FPS - audio/webm
251 - None - None FPS - audio/webm
|| -TVHTML5_YONGLE|0.1|
Formats17 - 144p - 8 FPS - video/3gpp
18 - 360p - 30 FPS - video/mp4
22 - 720p - 30 FPS - video/mp4
Adaptive Formats
|| -GOOGLE_ASSISTANT|0.1|
Formats17 - 144p - 8 FPS - video/3gpp
18 - 360p - 30 FPS - video/mp4
22 - 720p - 30 FPS - video/mp4
Adaptive Formats
|| -TVHTML5_SIMPLY_EMBEDDED_PLAYER|2.0|
Formats18 - 360p - 30 FPS - video/mp4
22 - 720p - 30 FPS - video/mp4
Adaptive Formats272 - 4320p60 - 60 FPS - video/webm
702 - 4320p60 HDR - 60 FPS - video/mp4
315 - 2160p60 - 60 FPS - video/webm
337 - 2160p60 HDR - 60 FPS - video/webm
701 - 2160p60 HDR - 60 FPS - video/mp4
308 - 1440p60 - 60 FPS - video/webm
336 - 1440p60 HDR - 60 FPS - video/webm
700 - 1440p60 HDR - 60 FPS - video/mp4
299 - 1080p60 - 60 FPS - video/mp4
303 - 1080p60 - 60 FPS - video/webm
335 - 1080p60 HDR - 60 FPS - video/webm
699 - 1080p60 HDR - 60 FPS - video/mp4
136 - 720p - 30 FPS - video/mp4
247 - 720p - 30 FPS - video/webm
298 - 720p60 - 60 FPS - video/mp4
302 - 720p60 - 60 FPS - video/webm
334 - 720p60 HDR - 60 FPS - video/webm
698 - 720p60 HDR - 60 FPS - video/mp4
135 - 480p - 30 FPS - video/mp4
244 - 480p - 30 FPS - video/webm
333 - 480p60 HDR - 60 FPS - video/webm
697 - 480p60 HDR - 60 FPS - video/mp4
134 - 360p - 30 FPS - video/mp4
243 - 360p - 30 FPS - video/webm
332 - 360p60 HDR - 60 FPS - video/webm
696 - 360p60 HDR - 60 FPS - video/mp4
133 - 240p - 30 FPS - video/mp4
242 - 240p - 30 FPS - video/webm
331 - 240p60 HDR - 60 FPS - video/webm
695 - 240p60 HDR - 60 FPS - video/mp4
160 - 144p - 30 FPS - video/mp4
278 - 144p - 30 FPS - video/webm
330 - 144p60 HDR - 60 FPS - video/webm
694 - 144p60 HDR - 60 FPS - video/mp4
140 - None - None FPS - audio/mp4
249 - None - None FPS - audio/webm
250 - None - None FPS - audio/webm
251 - None - None FPS - audio/webm
|| -WEB_INTERNAL_ANALYTICS|0.1|
Formats17 - 144p - 8 FPS - video/3gpp
18 - 360p - 30 FPS - video/mp4
22 - 720p - 30 FPS - video/mp4
Adaptive Formats
|| -WEB_PARENT_TOOLS|1.20220325|
Formats17 - 144p - 8 FPS - video/3gpp
18 - 360p - 30 FPS - video/mp4
22 - 720p - 30 FPS - video/mp4
Adaptive Formats
|| -GOOGLE_MEDIA_ACTIONS|0.1|
Formats17 - 144p - 8 FPS - video/3gpp
18 - 360p - 30 FPS - video/mp4
22 - 720p - 30 FPS - video/mp4
Adaptive Formats
|| -WEB_PHONE_VERIFICATION|1.0.0|
Formats17 - 144p - 8 FPS - video/3gpp
18 - 360p - 30 FPS - video/mp4
22 - 720p - 30 FPS - video/mp4
Adaptive Formats
|| -IOS_PRODUCER|0.1|
Formats17 - 144p - 8 FPS - video/3gpp
18 - 360p - 30 FPS - video/mp4
22 - 720p - 30 FPS - video/mp4
Adaptive Formats
|| -TVHTML5_FOR_KIDS|7.20220325|
Formats18 - 360p - 30 FPS - video/mp4
22 - 720p - 30 FPS - video/mp4
Adaptive Formats272 - 4320p60 - 60 FPS - video/webm
315 - 2160p60 - 60 FPS - video/webm
337 - 2160p60 HDR - 60 FPS - video/webm
308 - 1440p60 - 60 FPS - video/webm
336 - 1440p60 HDR - 60 FPS - video/webm
299 - 1080p60 - 60 FPS - video/mp4
303 - 1080p60 - 60 FPS - video/webm
335 - 1080p60 HDR - 60 FPS - video/webm
136 - 720p - 30 FPS - video/mp4
247 - 720p - 30 FPS - video/webm
298 - 720p60 - 60 FPS - video/mp4
302 - 720p60 - 60 FPS - video/webm
334 - 720p60 HDR - 60 FPS - video/webm
135 - 480p - 30 FPS - video/mp4
244 - 480p - 30 FPS - video/webm
333 - 480p60 HDR - 60 FPS - video/webm
134 - 360p - 30 FPS - video/mp4
243 - 360p - 30 FPS - video/webm
332 - 360p60 HDR - 60 FPS - video/webm
133 - 240p - 30 FPS - video/mp4
242 - 240p - 30 FPS - video/webm
331 - 240p60 HDR - 60 FPS - video/webm
160 - 144p - 30 FPS - video/mp4
278 - 144p - 30 FPS - video/webm
330 - 144p60 HDR - 60 FPS - video/webm
140 - None - None FPS - audio/mp4
249 - None - None FPS - audio/webm
250 - None - None FPS - audio/webm
251 - None - None FPS - audio/webm
|| +|ID| Client Name | Client Version | Quality Formats | Features/Attributes | +|--|-------------|----------------|-----------------|----------| +1|WEB|2.20220325|144p - 4320p
`video/mp4` `video/webm` `audio/mp4` `audio/webm`

Formats (2)18 - 360p - video/mp4
22 - 720p - video/mp4
Adaptive Formats (27)571 - 4320p - video/mp4
313 - 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`
| +2|MWEB|2.20220325|144p - 4320p
`video/3gpp` `video/mp4` `video/webm` `audio/mp4` `audio/webm`

Formats (3)17 - 144p - video/3gpp
18 - 360p - video/mp4
22 - 720p - video/mp4
Adaptive Formats (31)571 - 4320p - video/mp4
313 - 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`
| +3|ANDROID|16.20|144p - 4320p
`video/3gpp` `video/mp4` `video/webm` `audio/mp4` `audio/webm`

Formats (3)17 - 144p - video/3gpp
18 - 360p - video/mp4
22 - 720p - video/mp4
Adaptive Formats (28)571 - 4320p - video/mp4
313 - 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`
• `playerSettingsMenuData`

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`
| +5|IOS|16.20|144p - 1080p
`video/mp4` `audio/mp4`

Adaptive Formats (8)137 - 1080p - video/mp4
136 - 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`
• `onResponseReceivedEndpoints`
• `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`
| +7|TVHTML5|7.20220325|144p - 4320p
`video/mp4` `video/webm` `audio/mp4` `audio/webm`

Formats (2)18 - 360p - video/mp4
22 - 720p - video/mp4
Adaptive Formats (27)571 - 4320p - video/mp4
313 - 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)
| +8|TVLITE|2|144p - 720p
`video/3gpp` `video/mp4`

Formats (3)17 - 144p - video/3gpp
18 - 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`
| +10|TVANDROID|1.0|144p - 720p
`video/3gpp` `video/mp4`

Formats (3)17 - 144p - video/3gpp
18 - 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`
| +13|XBOXONEGUIDE|1.0|144p - 720p
`video/3gpp` `video/mp4`

Formats (3)17 - 144p - video/3gpp
18 - 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`
| +14|ANDROID_CREATOR|21.24.100|144p - 1080p
`video/3gpp` `video/mp4` `audio/mp4`

Formats (3)17 - 144p - video/3gpp
18 - 360p - video/mp4
22 - 720p - video/mp4
Adaptive Formats (7)137 - 1080p - video/mp4
136 - 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`
| +15|IOS_CREATOR|21.24.100|144p - 720p
`video/3gpp` `video/mp4`

Formats (3)17 - 144p - video/3gpp
18 - 360p - video/mp4
22 - 720p - video/mp4
|• HLS Support


Response Structure├─`responseContext`
│    ├─`[serviceTrackingParams]` (2)
├─`playabilityStatus`
├─`streamingData`
│    ├─`[formats]` (3)
├─`playbackTracking`
│    ├─`videostatsPlaybackUrl`
│    ├─`videostatsDelayplayUrl`
│    ├─`videostatsWatchtimeUrl`
│    ├─`ptrackingUrl`
│    ├─`qoeUrl`
│    ├─`youtubeRemarketingUrl`
├─`videoDetails`
│    ├─`[keywords]` (29)
│    ├─`thumbnail`
│    │    ├─`[thumbnails]` (3)
├─`playerConfig`
| +16|TVAPPLE|1.0|144p - 720p
`video/3gpp` `video/mp4`

Formats (3)17 - 144p - video/3gpp
18 - 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`
| +23|ANDROID_TV|2.13|144p - 1080p
`video/3gpp` `video/mp4` `audio/mp4`

Formats (3)17 - 144p - video/3gpp
18 - 360p - video/mp4
22 - 720p - video/mp4
Adaptive Formats (7)137 - 1080p - video/mp4
136 - 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`
| +27|MWEB_TIER_2|9.20220325|144p - 720p
`video/3gpp` `video/mp4`

Formats (3)17 - 144p - video/3gpp
18 - 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)
| +28|ANDROID_VR|0.1|144p - 2160p
`video/3gpp` `video/mp4` `video/webm` `audio/mp4` `audio/webm`

Formats (3)17 - 144p - video/3gpp
18 - 360p - video/mp4
22 - 720p - video/mp4
Adaptive Formats (19)313 - 2160p - video/webm
271 - 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`
| +29|ANDROID_UNPLUGGED|5.26.1|144p - 1080p
`video/3gpp` `video/mp4` `audio/mp4` `audio/webm`

Formats (3)17 - 144p - video/3gpp
18 - 360p - video/mp4
22 - 720p - video/mp4
Adaptive Formats (11)137 - 1080p - video/mp4
136 - 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`
| +30|ANDROID_TESTSUITE|1.9|144p - 4320p
`video/3gpp` `video/mp4` `video/webm` `audio/mp4` `audio/webm`

Formats (3)17 - 144p - video/3gpp
18 - 360p - video/mp4
22 - 720p - video/mp4
Adaptive Formats (28)571 - 4320p - video/mp4
313 - 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)
| +31|WEB_MUSIC_ANALYTICS|0.2|144p - 2160p
`video/mp4` `video/webm` `audio/mp4` `audio/webm`

Formats (2)18 - 360p - video/mp4
22 - 720p - video/mp4
Adaptive Formats (18)313 - 2160p - video/webm
271 - 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`
| +33|IOS_UNPLUGGED|5.26.1|144p - 1080p
`video/3gpp` `video/mp4` `audio/mp4`

Formats (3)17 - 144p - video/3gpp
18 - 360p - video/mp4
22 - 720p - video/mp4
Adaptive Formats (8)137 - 1080p - video/mp4
136 - 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`
| +38|ANDROID_LITE|3.26.1|144p - 720p
`video/3gpp` `video/mp4` `audio/mp4`

Formats (2)17 - 144p - video/3gpp
18 - 360p - video/mp4
Adaptive Formats (7)136 - 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

• `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`
| +39|IOS_EMBEDDED_PLAYER|2.0|144p - 1080p
`video/3gpp` `video/mp4` `audio/mp4`

Formats (3)17 - 144p - video/3gpp
18 - 360p - video/mp4
22 - 720p - video/mp4
Adaptive Formats (8)137 - 1080p - video/mp4
136 - 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`
| +41|WEB_UNPLUGGED|1.20220325|144p - 4320p
`video/mp4` `video/webm` `audio/mp4` `audio/webm`

Formats (2)18 - 360p - video/mp4
22 - 720p - video/mp4
Adaptive Formats (27)571 - 4320p - video/mp4
313 - 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)
| +42|WEB_EXPERIMENTS|1|144p - 4320p
`video/mp4` `video/webm` `audio/mp4` `audio/webm`

Formats (2)18 - 360p - video/mp4
22 - 720p - video/mp4
Adaptive Formats (27)571 - 4320p - video/mp4
313 - 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`
| +43|TVHTML5_CAST|1.1|144p - 4320p
`video/mp4` `video/webm` `audio/mp4` `audio/webm`

Formats (2)18 - 360p - video/mp4
22 - 720p - video/mp4
Adaptive Formats (27)571 - 4320p - video/mp4
313 - 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)
| +55|ANDROID_EMBEDDED_PLAYER|16.20|144p - 1080p
`video/3gpp` `video/mp4` `audio/mp4`

Formats (3)17 - 144p - video/3gpp
18 - 360p - video/mp4
22 - 720p - video/mp4
Adaptive Formats (8)137 - 1080p - video/mp4
136 - 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)
| +56|WEB_EMBEDDED_PLAYER|9.20220325|144p - 4320p
`video/mp4` `video/webm` `audio/mp4` `audio/webm`

Formats (2)18 - 360p - video/mp4
22 - 720p - video/mp4
Adaptive Formats (27)571 - 4320p - video/mp4
313 - 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)
| +58|TV_UNPLUGGED_CAST|0.1|144p - 4320p
`video/mp4` `video/webm` `audio/mp4` `audio/webm`

Formats (2)18 - 360p - video/mp4
22 - 720p - video/mp4
Adaptive Formats (27)571 - 4320p - video/mp4
313 - 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`
| +60|WEB_HEROES|0.1|144p - 2160p
`video/mp4` `video/webm` `audio/mp4` `audio/webm`

Formats (2)18 - 360p - video/mp4
22 - 720p - video/mp4
Adaptive Formats (18)313 - 2160p - video/webm
271 - 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`
| +62|WEB_CREATOR|1.20220325|144p - 4320p
`video/mp4` `video/webm` `audio/mp4` `audio/webm`

Formats (2)18 - 360p - video/mp4
22 - 720p - video/mp4
Adaptive Formats (27)571 - 4320p - video/mp4
313 - 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`
| +63|TV_UNPLUGGED_ANDROID|0.1|144p - 2160p
`video/3gpp` `video/mp4` `video/webm` `audio/mp4` `audio/webm`

Formats (3)17 - 144p - video/3gpp
18 - 360p - video/mp4
22 - 720p - video/mp4
Adaptive Formats (19)313 - 2160p - video/webm
271 - 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 Support


Response 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`
| +64|IOS_LIVE_CREATION_EXTENSION|16.20|144p - 720p
`video/3gpp` `video/mp4`

Formats (3)17 - 144p - video/3gpp
18 - 360p - video/mp4
22 - 720p - video/mp4
|• HLS Support


Response Structure├─`responseContext`
├─`playabilityStatus`
├─`streamingData`
│    ├─`[formats]` (3)
├─`playbackTracking`
│    ├─`videostatsPlaybackUrl`
│    ├─`videostatsDelayplayUrl`
│    ├─`videostatsWatchtimeUrl`
│    ├─`ptrackingUrl`
│    ├─`qoeUrl`
│    ├─`youtubeRemarketingUrl`
├─`videoDetails`
│    ├─`[keywords]` (29)
│    ├─`thumbnail`
│    │    ├─`[thumbnails]` (3)
├─`playerConfig`
| +65|TVHTML5_UNPLUGGED|5.26.1|144p - 4320p
`video/mp4` `video/webm` `audio/mp4` `audio/webm`

Formats (2)18 - 360p - video/mp4
22 - 720p - video/mp4
Adaptive Formats (27)571 - 4320p - video/mp4
313 - 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)
| +66|IOS_MESSAGES_EXTENSION|16.20|144p - 1080p
`video/mp4` `audio/mp4`

Adaptive Formats (8)137 - 1080p - video/mp4
136 - 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)
| +68|IOS_UPTIME|1.0|144p - 720p
`video/3gpp` `video/mp4`

Formats (3)17 - 144p - video/3gpp
18 - 360p - video/mp4
22 - 720p - video/mp4
|• HLS Support


Response Structure├─`responseContext`
├─`playabilityStatus`
├─`streamingData`
│    ├─`[formats]` (3)
│    ├─`[hlsFormats]` (8)
├─`playbackTracking`
│    ├─`videostatsPlaybackUrl`
│    ├─`videostatsDelayplayUrl`
│    ├─`videostatsWatchtimeUrl`
│    ├─`ptrackingUrl`
│    ├─`qoeUrl`
│    ├─`youtubeRemarketingUrl`
├─`videoDetails`
│    ├─`[keywords]` (29)
│    ├─`thumbnail`
│    │    ├─`[thumbnails]` (3)
├─`playerConfig`
│    ├─`hlsProxyConfig`
| +69|WEB_UNPLUGGED_ONBOARDING|0.1|144p - 2160p
`video/mp4` `video/webm` `audio/mp4` `audio/webm`

Formats (2)18 - 360p - video/mp4
22 - 720p - video/mp4
Adaptive Formats (18)313 - 2160p - video/webm
271 - 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`
| +70|WEB_UNPLUGGED_OPS|0.1|144p - 2160p
`video/mp4` `video/webm` `audio/mp4` `audio/webm`

Formats (2)18 - 360p - video/mp4
22 - 720p - video/mp4
Adaptive Formats (18)313 - 2160p - video/webm
271 - 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`
| +71|WEB_UNPLUGGED_PUBLIC|0.1|144p - 2160p
`video/mp4` `video/webm` `audio/mp4` `audio/webm`

Formats (2)18 - 360p - video/mp4
22 - 720p - video/mp4
Adaptive Formats (18)313 - 2160p - video/webm
271 - 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`
| +72|TVHTML5_VR|0.1|144p - 2160p
`video/mp4` `video/webm` `audio/mp4` `audio/webm`

Formats (2)18 - 360p - video/mp4
22 - 720p - video/mp4
Adaptive Formats (18)313 - 2160p - video/webm
271 - 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`
| +75|TVHTML5_SIMPLY|1.0|144p - 4320p
`video/mp4` `video/webm` `audio/mp4` `audio/webm`

Formats (2)18 - 360p - video/mp4
22 - 720p - video/mp4
Adaptive Formats (27)571 - 4320p - video/mp4
313 - 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)
| +80|TVHTML5_YONGLE|0.1|144p - 720p
`video/3gpp` `video/mp4`

Formats (3)17 - 144p - video/3gpp
18 - 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`
| +84|GOOGLE_ASSISTANT|0.1|144p - 720p
`video/3gpp` `video/mp4`

Formats (3)17 - 144p - video/3gpp
18 - 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`
| +85|TVHTML5_SIMPLY_EMBEDDED_PLAYER|2.0|144p - 4320p
`video/mp4` `video/webm` `audio/mp4` `audio/webm`

Formats (2)18 - 360p - video/mp4
22 - 720p - video/mp4
Adaptive Formats (27)571 - 4320p - video/mp4
313 - 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`
| +87|WEB_INTERNAL_ANALYTICS|0.1|144p - 720p
`video/3gpp` `video/mp4`

Formats (3)17 - 144p - video/3gpp
18 - 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`
| +88|WEB_PARENT_TOOLS|1.20220325|144p - 720p
`video/3gpp` `video/mp4`

Formats (3)17 - 144p - video/3gpp
18 - 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`
| +89|GOOGLE_MEDIA_ACTIONS|0.1|144p - 720p
`video/3gpp` `video/mp4`

Formats (3)17 - 144p - video/3gpp
18 - 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`
| +90|WEB_PHONE_VERIFICATION|1.0.0|144p - 720p
`video/3gpp` `video/mp4`

Formats (3)17 - 144p - video/3gpp
18 - 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`
| +92|IOS_PRODUCER|0.1|144p - 720p
`video/3gpp` `video/mp4`

Formats (3)17 - 144p - video/3gpp
18 - 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`
| +93|TVHTML5_FOR_KIDS|7.20220325|144p - 2160p
`video/mp4` `video/webm` `audio/mp4` `audio/webm`

Formats (2)18 - 360p - video/mp4
22 - 720p - video/mp4
Adaptive Formats (18)313 - 2160p - video/webm
271 - 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`
|