v0.13.0 — dl
dl — download a video, or just its audio, through yt-dlp
A thin front for yt-dlp, in the same shape vid is a thin front for ffmpeg.
dl https://example.com/watch?v=abc # the video
dl --height 720 https://example.com/v/abc # capped
dl audio https://example.com/watch?v=abc # → .m4a
dl info https://example.com/watch?v=abc # nothing downloaded
dl formats https://example.com/watch?v=abcTwo defaults are decisions rather than plumbing:
--no-playlist. A YouTube link copied while a mix is playing carrieslist=, and yt-dlp reads that as "download all of it" — the difference between one file and two hundred, on a command whose entire input is a pasted URL.- ffmpeg-awareness in the format selector. Above ~720p picture and sound arrive as separate streams needing a mux, so without ffmpeg the
bv*+baalternatives are a wasted download: yt-dlp fetches both halves and only then finds it cannot merge. Without ffmpegdlrestricts itself to single-stream formats and says so.dl audiois-x, which is ffmpeg, so there it is a hard requirement.
findBinary grew a probe flag: it ran candidates with -version, which ImageMagick and ffmpeg answer 0 — but yt-dlp's parser reads that single dash as seven combined short options and exits non-zero, so probing it the same way reported an installed binary as missing.
Installing what it needs
moshcode v0.66+ can install the binaries: moshcode install yt-dlp, moshcode install ffmpeg, moshcode install imagemagick.
Upgrading
cli-tools update — the install is symlinks into a working tree, so this pulls and relinks rather than re-cloning.
Note: v0.12.0 was never tagged; its work (companions) is in this history.