Code Monkey home page Code Monkey logo

electron-video-downloader's Introduction

Electron video (youtube) downloader

An app that quickly downloads video from youtube, and corresponding human or automated captions.

The app is built in electron for osx, and uses youtube-dl under the hood, which means there is a long list of supported sites.

Key features

  • Download video form youtube and other sites
  • Download captions from youtube vtt
  • Option to convert youtube capitons into plain text on download
  • Option to download youtube automated captions
  • Option to download "youtube human proofread captions" when available
  • Option to load a comprensive list of languages for captions files
  • Works on osx desktop

Usage

  • Download latest app from release section
    • For mac, download the .dmg file
    • open it, and drag the app in the application folder
    • in the application folder, the first time, right click to the app to open it
    • from then on after the first time you can just double click
  • Add youtube url from youtube share functionality
  • chose app preferences, see screenshot below.
  • click Download
  • retrieve downloaed files in Movie folder
  • done :)

video_downloader

video_downloader_loader

Development

git clone repo, cd into folder, npm install, npm start.

Build

To package for OSX as dmg

npm run build:mac

OR to package for OSX as zip file


npm run pack:mac

See package.json scripts section for details on packaging for other platforms.

"pack": "build --dir",
"pack:mac": "build --dir --mac --x64",
"pack:linux": "build --dir --linux --x64",
"pack:win": "build --dir --win --x64",
"build": "build",
"build:mac": "build --mac --x64",
"build:mac_app_store": "echo 'Mac App Store Option Not currently implemented'",
"build:win": "build --win nsis-web --x64",
"build:linux": "build --linux  --x64"

Possible todo to extend the app:

  • add check box option for downloading associated subtitles.

  • support languages other then english when downloading captions.

  • if url is of playlist, then download playlist

  • show list of extractors in app half implemented, but vimeo not working

  • optional a video preview for select url.

  • figure out a way to support direct url to video, eg not from supported extractors.

  • Add CSS styling (needs checking if youtube-dl works cross platform).

  • Package app and make release.

  • Check if app works on osx,

  • Check if app works windows,

  • Check if app works linux.

  • add a logo.

  • refactor yotube downloader as separate component.

  • add possibility for user to set default destination folder, as opposed to Movie in home folder on osx.

  • change var destDownloadFolder = app.getPath("videos"); to be a default, corresponds to Movie folder.

    • with a promt to change dest folder to prefered one,
    • and rember choice, eg in local storage?
  • Add human vs automated label to text file of captions to distinguish is downloading both one after the other.

  • escape emoji, sometimes emojis are in the title, and that's hard to parse/read/save.

Contributors

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.