Skip to content

v0.13.0 — dl

Choose a tag to compare

@ralyodio ralyodio released this 29 Aug 16:31
01dab4d

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=abc

Two defaults are decisions rather than plumbing:

  • --no-playlist. A YouTube link copied while a mix is playing carries list=, 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*+ba alternatives are a wasted download: yt-dlp fetches both halves and only then finds it cannot merge. Without ffmpeg dl restricts itself to single-stream formats and says so. dl audio is -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.