Dear Maintainer,
Presently, when attempting to download from YouTube playlists, I receive
an error message:
>Signature solving failed: Some formats may be missing. Ensure you have
>a supported JavaScript runtime and challenge solver script
>distribution installed. Review any warnings presented before this
>message. For more details, refer to
>https://github.com/yt-dlp/yt-dlp/wiki/EJS
I am able to resume downloading by either adding the following flags
to the command or enabling them in `/etc/yt-dlp.conf`:
`--js-runtimes node --remote-components ejs:github`
(I have the `nodejs` Debian package installed).
I notice that the external JS runtime is currently set as `Suggests`.
Since YouTube is likely a common host to wish to download from, I think
`Recommends` would be more appropriate, if not a hard `Depends`.
As well, the EJS documentation from the error message mentions that
challenge solver scripts, in python package `yt-dlp-ejs`, are also
needed. I think it would be helpful to package these as well, either in
the existing Debian `yt-dlp` package, or as a separate `yt-dlp-ejs`
package that is also set as a `Recommends` or `Depends` within `yt-dlp`.
This way, there would be no need to have them downloaded via the
`--remote-components` flag.
I see that `/etc/yt-dlp.conf` has these options documented at least, but
disabled by default. Would creating a `postinst` script that checks for
installed JS runtimes, and enabling the appropriate `--js-runtimes` flag
in the `/etc/yt-dlp.conf`, be possible and/or desirable?
In Solidarity,
Preston Maness