]> code.delx.au - webdl/blob - README.md
Fixed missing import
[webdl] / README.md
1 # WebDL #
2
3 WebDL is a set of Python scripts to grab video from online Free To Air Australian channels.
4
5
6 ## News
7
8 ### 2018-02-24
9
10 * Support for Streamlink in addition to Livestreamer.
11 * Currently working with iView, SBS and Channel 10.
12
13 ### 2017-02-24
14 * Now requires Python3, use the `python2` branch if you need the old version.
15 * Recommended installation is now with `virtualenv` and `pip` to install dependencies.
16 * Removed some custom logic in favour of the `requests` and `requests_cache` libraries.
17 * `autograbber.py` can write to multiple directories, previous command line args are still supported.
18
19
20 ## Updating to the latest version
21
22 You must use [git](https://git-scm.com) to keep up to date. The `autograbber-cron.sh` script is how I do this. If you'd like to manually update just run these commands.
23
24 ```
25 cd webdl
26 git pull --ff-only
27 ```
28
29
30 ## Installation using pip
31
32 Install the following packages using your package manager:
33
34 * Python 3.2+ (including dev package)
35 * ffmpeg or libav-tools
36
37 Clone the WebDL repository:
38 ```
39 git clone https://bitbucket.org/delx/webdl
40 cd webdl
41 ```
42
43 Set up a Python virtualenv and use pip to install the other dependencies:
44 ```
45 virtualenv --python python3 .virtualenv
46 . .virtualenv/bin/activate
47 pip install -r requirements.txt
48 ```
49
50 Whenever you want to run WebDL you must source the `.virtualenv/bin/activate` script from your shell.
51
52
53 ## Installation on Debian/Ubuntu
54
55 Clone the WebDL repository:
56 ```
57 git clone https://bitbucket.org/delx/webdl
58 cd webdl
59 ```
60
61 Install Python 3 and needed libraries:
62 ```
63 apt-get install python3 python3-lxml python3-requests python3-requests-cache
64 ```
65
66 You must also install Streamlink, or if it unavailable, the older Livestreamer. Depending on the age of your distro you'll need either:
67
68 - `apt-get install streamlink`
69 - `apt-get install livestreamer python-crypto`
70
71
72 Install ffmpeg:
73 ```
74 apt-get install ffmpeg
75 ```
76
77 ## Interactive usage (grabber.py)
78
79 You can run WebDL interactively to browse categories and episode lists and download TV episodes.
80
81 ```
82 $ ./grabber.py
83 1) ABC iView
84 2) SBS
85 0) Back
86 Choose> 1
87 1) ABC 4 Kids
88 2) Arts & Culture
89 3) Comedy
90 4) Documentary
91 <snipped>
92 Choose> 4
93 1) ABC Open Series 2012
94 2) Art Of Germany
95 3) Baby Beauty Queens
96 4) Catalyst Series 13
97 <snipped>
98 Choose> 4
99 1) Catalyst Series 13 Episode 15
100 2) Catalyst Series 13 Episode 16
101 0) Back
102 Choose> 1
103 RTMPDump v2.3
104 (c) 2010 Andrej Stepanchuk, Howard Chu, The Flvstreamer Team; license: GPL
105 Connecting ...
106 INFO: Connected...
107 Starting download at: 0.000 kB
108 ```
109
110 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.
111
112
113
114 ## Cron scripted usage (autograbber.py)
115
116 You can schedule a regular download of your favourite shows. This example uses `chronic` from `moreutils`.
117
118 ```
119 # m h dom mon dow command
120 0 1 * * * timeout 6h chronic $HOME/webdl/autograbber-cron.sh /videos/ABC4Kids /videos/Insight
121 ```
122
123 Each of these directories should contain a `.patterns.txt` with shell-style globs:
124
125 ```
126 ABC iView/By Channel/ABC4Kids/*/*
127 SBS/Channel/SBS1/Insight*
128 ```
129
130 You may optionally created a `.excludes.txt` file with shell-style globs. This is matched against the episode title and can be used to filter out things you don't want. For example:
131
132 ```
133 *(Mandarin)*
134 *(Chinese)*
135 ```
136
137 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.
138
139
140 ## Bug reports
141
142 Please raise issues on the [Bitbucket project](https://bitbucket.org/delx/webdl/issues?status=new&status=open).