WebDL is a collection of Web TV downloader scripts with a consistent user interface. I’ve previously released these separately, but a while ago I refactored them to share common code and packaged them into a single utility. You can use this interactively or to download any shows matching a glob from a cronjob. Currently supported are ABC iView and SBS OnDemand. I’ll probably add more in the future.
Update 2015-05-24: Please see the Bitbucket project for up to date docs!
Update 2015-05-24: Fixed SBS and Channel 9. Livestreamer is now a required dependency.
Update 2014-07-22: Added notes on version to dependencies.
Update 2013-03-26: The latest version of autograbber.py now accepts a file with a list of patterns instead of taking them from the command line.
Update 2014-02-15: Please see https://bitbucket.org/delx/webdl for bug reports or to post patches.
- python (2.7, not python 3)
- rtmpdump a1900c3e15
- ffmpeg / libav
The versions listed above are what I have success using. In particular note that rtmpdump always reports v2.4 even though there have been many binaries built with different bugs and features using that version number. If something doesn’t work, try compiling a new ffmpeg/avconv or rtmpdump to see if it fixes the problem.
You can run WebDL interactively to browse categories and episode lists and download TV episodes.
$ ./grabber.py 1) ABC iView 2) SBS 0) Back Choose> 1 1) ABC 4 Kids 2) Arts & Culture 3) Comedy 4) Documentary <snipped> Choose> 4 1) ABC Open Series 2012 2) Art Of Germany 3) Baby Beauty Queens 4) Catalyst Series 13 <snipped> Choose> 4 1) Catalyst Series 13 Episode 15 2) Catalyst Series 13 Episode 16 0) Back Choose> 1 RTMPDump v2.3 (c) 2010 Andrej Stepanchuk, Howard Chu, The Flvstreamer Team; license: GPL Connecting ... INFO: Connected... Starting download at: 0.000 kB
The bolded parts are what you type. Note that you can go back on any screen by typing “0”. At the list of episodes you can download a single episode by typing one number, or multiple episodes by typing several numbers separated by spaces.
Cron Scripted Usage
I have a shell script which looks something like this, I run it daily from crontab.
# m h dom mon dow command 0 1 * * * ./autograbber.py /path/to/video-dir/ /path/to/patterns.txt
The patterns.txt file should contain shell-style globs, something like:
ABC iView/*/QI*/* SBS/Programs/Documentary/*/*
The above will download all episodes of QI from ABC as well as every SBS documentary. Whenever an episode is downloaded it is recorded into downloaded_auto.txt. Even if you move the files somewhere else they will not be redownloaded.