/downline

Free cross-platform desktop app to download videos and music from YouTube and many other sites

Primary LanguageJavaScriptMIT LicenseMIT

Downline

GitHub All Releases

Downline is a free, cross-platform desktop application for downloading video and audio from YouTube and many other sites. Works on Windows, MacOS and Linux.

Download the latest version here.

Screenshots

screenshots

Features

  • Works for links from several sites
  • Choose audio and video quality (with support for 4K videos)
  • Convert audio to multiple formats (mp3, aac, m4a and more)
  • Convert video to multiple formats (mp4, webm, mkv)
  • Pause and resume downloads
  • Download entire playlist and channel
  • Download and embed subtitles
  • Download multiple files simultaneously

Coming Soon

  • More file naming options
  • Notifications and system tray integration
  • Load links from text file
  • Display errors

Developer Instructions

After downloading the source code, add the platform specific versions of youtube-dl and ffmpeg for the current platform as shown:

resources
├ ffmpeg
│ └ ffmpeg.exe
└ youtube-dl
  └ youtube-dl.exe

Install dependencies (electron and electron-builder) and run the app (on port 5500):

npm install
npm run dev

Build Instructions

Before proceeding with the build steps, create a folder named releases in the root directory. The build process performs the following steps:

  • Clean output directories (removes dist and removes files from releases)
  • Build distributable(s) for target platform(s)
  • Compress portable distributions (requires tar and 7z)
  • Rename distributables in the format downline-{version}-{type}-{platform}.{ext}
  • Move all distributables to releases folder

Place the dependencies for the target platform (e.g. for windows) in a folder as shown:

resources
│ ...
└ win
  ├ ffmpeg
  │ └ ffmpeg.exe
  └ youtube-dl
    └ youtube-dl.exe

Build for the target platform (win, mac or linux):

npm run build:platform

Build for all three platforms in parallel:

npm run build:all

If you would like to build for a platform without all the extra build steps (or npm run build:platform fails), run:

./node_modules/.bin/electron-builder build --platform

Credits

Legal

This software is distributed under the MIT license.