Getreel
The Need
On my satellite internet plan, I have a rather limited amount of data that I can utilize each month before I am throttled to about 100Kbps, and it would be rad if I could use my data for both work and edutainment.
The silver lining lies in the so called "bonus" data that is available from 2am-8am. For a while, I have been using atd to schedule software updates on my various Linux boxen to take place during this bonus time, and what I really needed was a way to download some video tutorials for watching later.
The Tool
Fortunately for me, there is a very nice utility written in python called youtube-dl that will not only download videos from youtube, but from a large number of sites hosting videos including PBS (yea, I love nature documentaries and Patrick Stewart in MacBeth).
The Wrapper
Because I didn't want to SSH into my Muttonchop! HTPC and use atd and youtube-dl for scheduling, I decided to write a wrapper for youtube-dl that needed to have two features:
- a web API for adding, listing, deleting URLs in a list of URLs
- a setting to determine when to download videos from the list of URLs
After a bit of Ruby hacking, Getreel was born and it is available at https://gitorious.org/getreel.
The project also includes an API testing app called 'api.rb' that will allow for adding, listing, and removing URLs from a Getreel running device by another device on the same network. Basically, it is an easy way for me to send commands from the terminal on my laptop to the Getreel instance on my HTPC. yea, I'm lazy like that. :)
Special thanks go out to windigo for the sweet HTML, Javascript, and CSS UI for web input.
Now quit reading, and go solve a problem.