yt-dlp has stopped officially supporting playing back youtube URLs without a JS engine installed in the system - and it sometimes manifests itself as only audio being played, or the wheel spinning forever without anything playing.
[youtube] No supported JavaScript runtime could be found. 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. To silence this warning, you can use --extractor-args "youtube:player_client=default"
The one they support by default is Deno, it's packaged on pypi - which may help creating a Kodi package for it. The source files for the pypi package also has some code that constructs the download URL etc: https://gist.github.com/gjedeer/c81c7d26c11bc6a15fb213e5d2291d0a (I couldn't find it on github, it's from deno-2.6.4.tar.gz on pypi)
When it's available it's quite easy to use it in yt-dlp:
ydl_opts['js_runtimes'] = {
'deno': {'location': '/home/user/.local/share/pipx/venvs/yt-dlp/bin/deno'}
}
ydl_opts['remote_components'] = ['ejs:github']
Maybe sendtokodi could ship the binaries or download them on demand?
yt-dlp has stopped officially supporting playing back youtube URLs without a JS engine installed in the system - and it sometimes manifests itself as only audio being played, or the wheel spinning forever without anything playing.
The one they support by default is Deno, it's packaged on pypi - which may help creating a Kodi package for it. The source files for the pypi package also has some code that constructs the download URL etc: https://gist.github.com/gjedeer/c81c7d26c11bc6a15fb213e5d2291d0a (I couldn't find it on github, it's from deno-2.6.4.tar.gz on pypi)
When it's available it's quite easy to use it in yt-dlp:
Maybe sendtokodi could ship the binaries or download them on demand?