EVA.md
EVA.md is a terminal media downloader built with Node.js and yt-dlp.
Requirements
- Node.js 18 or newer, with npm available on
PATH. - An internet connection during installation to download yt-dlp and ffmpeg binaries.
Install
npm install --global --allow-scripts=ffmpeg-static,youtube-dl-exec eva-md
The package installs the eva command and downloads platform-specific yt-dlp and ffmpeg binaries through its dependencies.
Run and update
eva
eva --update
The update command installs the latest published eva-md package globally. Restart EVA.md after the update completes.
Downloads
Recognized playlists and collections are expanded into individual queue items when yt-dlp exposes their entries. The format selector's original option leaves format selection to yt-dlp without extracting or converting media. mp4 prefers an available MP4 file and converts a fallback format to MP4. Audio formats prefer a matching available stream before falling back to another audio stream and converting it. The separate Video+Audio option selects the best video and audio streams and lets yt-dlp choose the merged output container.
Collections containing multiple files are saved in a subfolder under the selected output directory. The folder uses the collection title when available, or an Audiolist/Videolist timestamped name otherwise.
Publish a release
Sign in to npm, increment the version in package.json and package-lock.json, then publish:
npm login
npm publish --access public
The package name eva-md must be available to your npm account. Users can install or upgrade it with:
npm install --global --allow-scripts=ffmpeg-static,youtube-dl-exec eva-md