#1127795 yt-dlp: Convert External JS Runtime to `Recommends` or `Depends` and Package Challenge Solver Scripts

#1127795#5
Date:
2026-02-13 03:48:03 UTC
From:
To:
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

#1127795#10
Date:
2026-02-13 03:54:42 UTC
From:
To:
Ugh. reportbug continues to be a bear to use properly. I *have*
confirmed that this problem occurs with the Debian package and not just
the deb-multimedia.org package. I forgot to update the `Version:` header
to reflect that.