Potentially a collection of web-applications to do misc stuff
Only tested on OS X 10.7, with Python 2.7.5 (installed via Homebrew)
- Setup python requirements
Using virtualenvwrapper:
mkvirutalenv webtools
workon webtools
pip install -r requirements.txt
- 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
-
Check the settings in
webtools/settings.py
-
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
-
To launch:
./run.sh
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 toyoutube-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.