Code Monkey home page Code Monkey logo

webtools's Introduction

Potentially a collection of web-applications to do misc stuff

Requirements Status

Build Status

Installation

Only tested on OS X 10.7, with Python 2.7.5 (installed via Homebrew)

  1. Setup python requirements

Using virtualenvwrapper:

    mkvirutalenv webtools
    workon webtools
    pip install -r requirements.txt
  1. Install required commands

The ytdl application requires youtube-dl, which is easily installed via Homebrew on OS X:

    brew install youtube-dl

Simlarly the run.sh script uses tmux to run the server and task queue in the background:

    brew install tmux
  1. Check the settings in webtools/settings.py

  2. Initialise the database.

    The default configuration uses sqlite3 - which while not terribly fast with around 10,000 videos over 35 channels, it's usable and simple to maintain.

     workon webtools
     python manage.py syncdb
    
  3. To launch:

     ./run.sh
    

Applications

ytdl

You can add a bunch of Youtube or Vimeo channels, then click a button to download them (using youtube-dl).

Multiple downloads will be queued up (using the python-rq task queue), and it keeps track of the state of videos (new, downloaded, ignored)

So you can quickly see what new videos have been released on various channels, click the "download" button on the interesting ones, and end up with a folder of .mp4 files to watch later (or, transfer onto an iPad to something like AVPlayerHD etc etc).

Very little noise (no Youtube comments, no annotations, no pre-roll and overlayed-banner ads), no buffering.

Some probably-outdated screenshots:

Random notes:

  • Currently will always download the highest quality video possible, and the files are potentially quite large (some 30-40 minute videos are ~1GB). The --max-quality flag to youtube-dl might be worth using
  • When adding a Vimeo user, only the first "3 pages" (about 60 videos) will be listed currently, due to using the "simple API". This restriction could be removed by registering for an API key and using the full API (which requires OAuth)
  • The web interface does what I needed and no more. It's not the fanciest thing ever, but functional.

webtools's People

Contributors

dbr avatar

Watchers

 avatar

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.