Video Players#
Videos keep glitching#
The Unity Native playback engine can have this issue on some systems, which could be caused by hardware acceleration. This issue isn’t tracked yet.
Play the video in a different player that’s already set to use libVLC.
To fix your existing player:
- Open an Inspector on the video player you’re using in Resonite.
- Find the
VideoTextureProvidercomponent (normally under a slot withVideoin its name, in the first or second hierarchy level under its root). - If it’s using Unity Native, press
Use libVLC Playback Engine.
YouTube videos don’t load#
yt-dlp, the script that loads videos from YouTube and similar websites, updates itself on each Resonite startup (fetching a nightly release version), so restarting may help.
Sometimes YouTube videos just won’t load, which is caused by YouTube blocking yt-dlp (or your IP) in increasingly elaborate ways. This should only happen occasionally, but can be mitigated by using the Video Proxy mod. It streams videos (or audio-only, if requested) through the proxy selected by the user in the paste dialog. However, the server used to import them needs to download them first, which takes up time. Proxies also get occasionally blocked, requiring you to switch to a different one in the mod’s settings menu.
You could also try switching cookie settings in Resonite’s menu:
Settings → Network → Video Streaming Services → Use Cookies From Browser (start with NONE).
For more information on cookies and videos not loading, you can refer to the yt-dlp thread in Resonite’s Discord.
yt-dlp may require a JavaScript runtime to work, although this only seems to happen occasionally.
Community players will then show the status as PartiallyLoaded.
To install a JavaScript runtime, continue reading the next section.
YouTube videos play at a low resolution (360p)#
To fix YouTube videos playing at low resolution, install a JavaScript runtime:
-
Download an external JavaScript runtime, such as Deno.
You don’t need to install it; you only need one file, the executable binary.
-
Place the executable file (for example
denoif you downloaded Deno) in the RuntimeData folder:~/.local/share/Steam/steamapps/common/Resonite/RuntimeData/. -
Create
yt-dlp.confin Resonite’s root folder:~/.local/share/Steam/steamapps/common/Resonite/, with the file’s content pointing to the runtime.You can do it with this script:
echo "--js-runtimes deno:RuntimeData/deno" > ~/.local/share/Steam/steamapps/common/Resonite/yt-dlp.confIf you’re using Deno, the file’s content would be:
--js-runtimes deno:RuntimeData/deno
Note: Even though yt-dlp documentation says Deno is enabled by default, runtimes nomally can’t be fetched from outside of Resonite’s folder due to Steam’s runtime containers, which is why we place them in the RuntimeData folder.
Switching to an older version of yt-dlp#
-
Download an older nightly
yt-dlp_linux.In the worst-case scenario, download the latest stable.
-
Move it to
~/.local/share/Steam/steamapps/common/Resonite/RuntimeData/and overwrite theyt-dlp_linuxfile that was already there.To check the version, run
yt-dlp --versionin the same path. -
Mark it as executable with
chmod +x ~/.local/share/Steam/steamapps/common/Resonite/RuntimeData/yt-dlp.This fixes a
Permission deniederror you’d otherwise see in the Resonite log.
Note: if you follow these steps and start/restart Resonite, you’ll lose your changes.
Passing arguments to yt-dlp#
yt-dlp takes arguments from yt-dlp.conf in Resonite’s root folder.
It doesn’t exist by default.