VRChat Version: 1275
Recently, some YouTube videos cannot be played in VRChat.
It doesn't look like a yt-dlp problem. Using perfview, I captured the command used to obtain the video URL:
yt-dlp --no-check-certificate --no-cache-dir --rm-cache-dir -f "mp4[height<=?720][height>=?64][width>=?64]/best[height<=?720][height>=?64][width>=?64]" --get-url <URL>
. If I pass the same parameters to the VRChat version of yt-dlp, I get back a URL that I can successfully play in VLC.
However, the VRChat logs seem to show that VRChat does not understand the output of yt-dlp. It outputs messages like this:
2022.12.12 07:42:00 Error - [Video Playback] yt_dlp\jsinterp.pyc:344: FutureWarning: Possible nested set at position 3
2022.12.12 07:42:00 Log - [Video Playback] URL 'https://www.youtube.com/watch?v=0xZi79A2NRU' resolved to 'https://www.youtube.com/watch?v=0xZi79A2NRU'
Does VRChat's video resolving code bail out if it sees any text written to stderr? I tried setting
PYTHONWARNINGS=ignore
but it doesn't have any effect because py2exe sets Py_IgnoreEnvironmentFlag.
Known unplayable videos:
yt-dlp issue: yt-dlp/yt-dlp#5749. yt-dlp made a change to avoid the message, but since it's just a warning that doesn't impact the normal functioning of the program they are unlikely to make a new release just to get rid of it.