/downline

A cross-platform video and audio downloader for YouTube, Vimeo, Dailymotion, SoundCloud and many other sites

Primary LanguageJavaScriptMIT LicenseMIT

Downline

GitHub All Releases

Downline is a free and open source video and audio downloader for YouTube, Vimeo, Dailymotion, SoundCloud and many other sites and works on Windows, MacOS and Linux.

Downline is built using electron and vuejs, and uses youtube-dl and ffmpeg.

Download the latest version here.

Screenshots

screenshot

Features

  • Works for links from several sites
  • Choose audio and video quality (with support for 4K videos)
  • Pause and resume downloads
  • Download entire playlist and channel
  • Download and embed subtitles
  • Download multiple files simultaneously

Coming Soon

  • Choose video and audio format
  • Choose format for filenames
  • 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

More information about packaging and distribution can be found on the electron-builder docs.

Legal

This software is distributed under the MIT license.