Checklist
Region
Southern Europe
Provide a description that is worded well enough to be understood
I have started noticing this erratic behaviour since yesterday, March 5th, 2026; my region has probably begun being the target of yet another Youtube A/B test and as a result the ANDR-V youtube player_client has started "malfunctioning", often times yielding only the 18 formatID (360p25 pre-muxed file, served over HTTPS) ; this is still quite random; retrying the same command will, more often than not, produce the whole range of available ANDR-V formats, so this is not a fatal issue yet when attempting to manually download a single YT clip, but automated scripts are highly likely to break as a result of this issue...
Since the ANDR-V client doesn't require n/sig decryption (that I know of) and it doesn't work at all with made-for-kids IDs or when passing logged-in YT cookies (FWIW, I don't have an account with them), enabling a JS runtime (quickjs in my case) isn't a factor that can change the outcome of the available ANDR-V formats; the use of a JS runtime here, "anonymously", will still produce the range of the WEB-S (inferior) formats...
When only -f=18 is returned, the WARNING generated reads like below:
[youtube] CDJsj-WiL_Y: Downloading android vr player API JSON
WARNING: [youtube] CDJsj-WiL_Y: Some android_vr client https formats have been skipped as they are missing a URL. YouTube may have enabled the SABR-only streaming experiment for the current session. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details
Provide verbose output that clearly demonstrates the problem
Complete Verbose Output
Invocation where the issue manifests itself (occurs in a random fashion):
[debug] Command-line config: ['--ffmpeg-location', 'FFmpeg', '--downloader-args', 'ffmpeg_i:-hide_banner -v 8 -stats', '-vUF', 'CDJsj-WiL_Y']
[debug] Encodings: locale cp1253, fs utf-8, pref cp1253, out utf-8 (No VT), error utf-8 (No VT), screen utf-8 (No VT)
[debug] yt-dlp version master@2026.03.03.162040 from yt-dlp/yt-dlp-master-builds [2ecc4c3bc] (zip)
[debug] Python 3.11.14 (CPython x86 32bit) - Windows-Vista-6.0.6003-SP2 (OpenSSL 3.6.1 27 Jan 2026)
[debug] exe versions: ffmpeg n8.1-dev-630-N-121254-g635cb45 (setts), ffprobe n8.1-dev-630-N-121254-g635cb45
[debug] Optional libraries: Cryptodome-3.23.0, brotli-1.2.0, certifi-2026.02.25, mutagen-1.47.0, requests-2.32.5, sqlite3-3.51.2, urllib3-2.6.3, websockets-16.0, yt_dlp_ejs-0.5.0
[debug] JS runtimes: none
[debug] Proxy map: {}
[debug] Request Handlers: urllib, requests, websockets
[debug] Plugin directories: none
[debug] Loaded 1864 extractors
[debug] Fetching release info: https://api.github.com/repos/yt-dlp/yt-dlp-master-builds/releases/latest
Latest version: master@2026.03.03.162040 from yt-dlp/yt-dlp-master-builds
yt-dlp is up to date (master@2026.03.03.162040 from yt-dlp/yt-dlp-master-builds)
[debug] [youtube] [pot] PO Token Providers: none
[debug] [youtube] [pot] PO Token Cache Providers: memory
[debug] [youtube] [pot] PO Token Cache Spec Providers: webpo
[debug] [youtube] [jsc] JS Challenge Providers: bun (unavailable), deno (unavailable), node (unavailable), quickjs (unavailable)
[youtube] Extracting URL: CDJsj-WiL_Y
[youtube] CDJsj-WiL_Y: Downloading webpage
WARNING: [youtube] No supported JavaScript runtime could be found. Only deno is enabled by default; to use another runtime add --js-runtimes RUNTIME[:PATH] to your command/config. YouTube extraction without a JS runtime has been deprecated, and some formats may be missing. See https://github.com/yt-dlp/yt-dlp/wiki/EJS for details on installing one
[debug] [youtube] Forcing player 9f4cc5e4 in place of player 6c5cb4f4
Forcing "tv" player JS variant for player 9f4cc5e4
original url = /s/player/6c5cb4f4/player_es6.vflset/en_US/base.js
[youtube] CDJsj-WiL_Y: Downloading android vr player API JSON
WARNING: [youtube] CDJsj-WiL_Y: Some android_vr client https formats have been skipped as they are missing a URL. YouTube may have enabled the SABR-only streaming experiment for the current session. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details
[debug] Sort order given by extractor: quality, res, fps, hdr:12, source, vcodec, channels, acodec, lang, proto
[debug] Formats sorted by: hasvid, ie_pref, quality, res, fps, hdr:12(7), source, vcodec, channels, acodec, lang, proto, size, br, asr, vext, aext, hasaud, id
[info] Available formats for CDJsj-WiL_Y:
ID EXT RESOLUTION FPS CH | FILESIZE TBR PROTO | VCODEC ACODEC ASR MORE INFO
-------------------------------------------------------------------------------------------------
sb3 mhtml 48x27 0 | mhtml | images storyboard
sb2 mhtml 80x45 0 | mhtml | images storyboard
sb1 mhtml 160x90 0 | mhtml | images storyboard
sb0 mhtml 320x180 0 | mhtml | images storyboard
18 mp4 640x360 25 2 | 101.04MiB 385k https | avc1.42001E mp4a.40.2 22k [en] 360p, ANDR-V
Successful invocation:
[debug] Command-line config: ['--ffmpeg-location', 'FFmpeg', '--downloader-args', 'ffmpeg_i:-hide_banner -v 8 -stats', '-vUF', 'CDJsj-WiL_Y']
[debug] Encodings: locale cp1253, fs utf-8, pref cp1253, out utf-8 (No VT), error utf-8 (No VT), screen utf-8 (No VT)
[debug] yt-dlp version master@2026.03.03.162040 from yt-dlp/yt-dlp-master-builds [2ecc4c3bc] (zip)
[debug] Python 3.11.14 (CPython x86 32bit) - Windows-Vista-6.0.6003-SP2 (OpenSSL 3.6.1 27 Jan 2026)
[debug] exe versions: ffmpeg n8.1-dev-630-N-121254-g635cb45 (setts), ffprobe n8.1-dev-630-N-121254-g635cb45
[debug] Optional libraries: Cryptodome-3.23.0, brotli-1.2.0, certifi-2026.02.25, mutagen-1.47.0, requests-2.32.5, sqlite3-3.51.2, urllib3-2.6.3, websockets-16.0, yt_dlp_ejs-0.5.0
[debug] JS runtimes: none
[debug] Proxy map: {}
[debug] Request Handlers: urllib, requests, websockets
[debug] Plugin directories: none
[debug] Loaded 1864 extractors
[debug] Fetching release info: https://api.github.com/repos/yt-dlp/yt-dlp-master-builds/releases/latest
Latest version: master@2026.03.03.162040 from yt-dlp/yt-dlp-master-builds
yt-dlp is up to date (master@2026.03.03.162040 from yt-dlp/yt-dlp-master-builds)
[debug] [youtube] [pot] PO Token Providers: none
[debug] [youtube] [pot] PO Token Cache Providers: memory
[debug] [youtube] [pot] PO Token Cache Spec Providers: webpo
[debug] [youtube] [jsc] JS Challenge Providers: bun (unavailable), deno (unavailable), node (unavailable), quickjs (unavailable)
[youtube] Extracting URL: CDJsj-WiL_Y
[youtube] CDJsj-WiL_Y: Downloading webpage
WARNING: [youtube] No supported JavaScript runtime could be found. Only deno is enabled by default; to use another runtime add --js-runtimes RUNTIME[:PATH] to your command/config. YouTube extraction without a JS runtime has been deprecated, and some formats may be missing. See https://github.com/yt-dlp/yt-dlp/wiki/EJS for details on installing one
[debug] [youtube] Forcing player 9f4cc5e4 in place of player edc3ba07
Forcing "tv" player JS variant for player 9f4cc5e4
original url = /s/player/edc3ba07/player_es6.vflset/en_US/base.js
[youtube] CDJsj-WiL_Y: Downloading android vr player API JSON
[debug] Sort order given by extractor: quality, res, fps, hdr:12, source, vcodec, channels, acodec, lang, proto
[debug] Formats sorted by: hasvid, ie_pref, quality, res, fps, hdr:12(7), source, vcodec, channels, acodec, lang, proto, size, br, asr, vext, aext, hasaud, id
[info] Available formats for CDJsj-WiL_Y:
ID EXT RESOLUTION FPS CH | FILESIZE TBR PROTO | VCODEC VBR ACODEC ABR ASR MORE INFO
-------------------------------------------------------------------------------------------------------------------------------
sb3 mhtml 48x27 0 | mhtml | images storyboard
sb2 mhtml 80x45 0 | mhtml | images storyboard
sb1 mhtml 160x90 0 | mhtml | images storyboard
sb0 mhtml 320x180 0 | mhtml | images storyboard
139 m4a audio only 2 | 12.81MiB 49k https | audio only mp4a.40.5 49k 22k [en] low, ANDR-V, m4a_dash
249 webm audio only 2 | 13.25MiB 50k https | audio only opus 50k 48k [en] low, ANDR-V, webm_dash
140 m4a audio only 2 | 33.99MiB 129k https | audio only mp4a.40.2 129k 44k [en] medium, ANDR-V, m4a_dash
251 webm audio only 2 | 33.97MiB 129k https | audio only opus 129k 48k [en] medium, ANDR-V, webm_dash
160 mp4 256x144 25 | 20.62MiB 79k https | avc1.4d400c 79k video only 144p, ANDR-V, mp4_dash
278 webm 256x144 25 | 26.49MiB 101k https | vp9 101k video only 144p, ANDR-V, webm_dash
394 mp4 256x144 25 | 15.87MiB 60k https | av01.0.00M.08 60k video only 144p, ANDR-V, mp4_dash
133 mp4 426x240 25 | 45.14MiB 172k https | avc1.4d4015 172k video only 240p, ANDR-V, mp4_dash
242 webm 426x240 25 | 43.56MiB 166k https | vp9 166k video only 240p, ANDR-V, webm_dash
395 mp4 426x240 25 | 30.01MiB 114k https | av01.0.00M.08 114k video only 240p, ANDR-V, mp4_dash
134 mp4 640x360 25 | 88.49MiB 337k https | avc1.4d401e 337k video only 360p, ANDR-V, mp4_dash
18 mp4 640x360 25 2 | 101.04MiB 385k https | avc1.42001E mp4a.40.2 22k [en] 360p, ANDR-V
243 webm 640x360 25 | 79.01MiB 301k https | vp9 301k video only 360p, ANDR-V, webm_dash
396 mp4 640x360 25 | 56.57MiB 215k https | av01.0.01M.08 215k video only 360p, ANDR-V, mp4_dash
135 mp4 854x480 25 | 179.94MiB 685k https | avc1.4d401e 685k video only 480p, ANDR-V, mp4_dash
244 webm 854x480 25 | 132.75MiB 506k https | vp9 506k video only 480p, ANDR-V, webm_dash
397 mp4 854x480 25 | 90.22MiB 344k https | av01.0.04M.08 344k video only 480p, ANDR-V, mp4_dash
298 mp4 1280x720 50 | 434.12MiB 1654k https | avc1.640020 1654k video only 720p50, ANDR-V, mp4_dash
302 webm 1280x720 50 | 337.95MiB 1287k https | vp9 1287k video only 720p50, ANDR-V, webm_dash
398 mp4 1280x720 50 | 183.81MiB 700k https | av01.0.08M.08 700k video only 720p50, ANDR-V, mp4_dash
299 mp4 1920x1080 50 | 797.71MiB 3039k https | avc1.64002a 3039k video only 1080p50, ANDR-V, mp4_dash
303 webm 1920x1080 50 | 624.99MiB 2381k https | vp9 2381k video only 1080p50, ANDR-V, webm_dash
399 mp4 1920x1080 50 | 327.66MiB 1248k https | av01.0.09M.08 1248k video only 1080p50, ANDR-V, mp4_dash
308 webm 2560x1440 50 | 1.88GiB 7347k https | vp9 7347k video only 1440p50, ANDR-V, webm_dash
400 mp4 2560x1440 50 | 827.54MiB 3153k https | av01.0.12M.08 3153k video only 1440p50, ANDR-V, mp4_dash
315 webm 3840x2160 50 | 4.76GiB 18569k https | vp9 18569k video only 2160p50, ANDR-V, webm_dash
401 mp4 3840x2160 50 | 1.87GiB 7282k https | av01.0.13M.08 7282k video only 2160p50, ANDR-V, mp4_dash
Checklist
Region
Southern Europe
Provide a description that is worded well enough to be understood
I have started noticing this erratic behaviour since yesterday, March 5th, 2026; my region has probably begun being the target of yet another Youtube A/B test and as a result the
ANDR-Vyoutube player_client has started "malfunctioning", often times yielding only the18formatID (360p25 pre-muxed file, served over HTTPS) ; this is still quite random; retrying the same command will, more often than not, produce the whole range of availableANDR-Vformats, so this is not a fatal issue yet when attempting to manually download a single YT clip, but automated scripts are highly likely to break as a result of this issue...Since the
ANDR-Vclient doesn't requiren/sigdecryption (that I know of) and it doesn't work at all withmade-for-kidsIDs or when passing logged-in YT cookies (FWIW, I don't have an account with them), enabling a JS runtime (quickjsin my case) isn't a factor that can change the outcome of the availableANDR-Vformats; the use of a JS runtime here, "anonymously", will still produce the range of theWEB-S(inferior) formats...When only
-f=18is returned, theWARNINGgenerated reads like below:Provide verbose output that clearly demonstrates the problem
yt-dlp -vU <your command line>)'verbose': TruetoYoutubeDLparams instead[debug] Command-line config) and insert it belowComplete Verbose Output
Invocation where the issue manifests itself (occurs in a random fashion):
Successful invocation: