Work around missing seriesIndex API by using keyword=index
[python-iview.git] / README.md
blob7feb8470584c70c59d74a1200b88e9576f87f54d
1 Python command-line and GTK+ interface to ABC iView
3 Copyright © 2009–2010 by Jeremy Visser <jeremy@visser.name>
5 This program is free software: you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by
7 the Free Software Foundation, either version 3 of the License, or
8 (at your option) any later version.
10 This program is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13 GNU General Public License for more details.
15 You should have received a copy of the GNU General Public License
16 along with this program.  If not, see <http://www.gnu.org/licenses/>.
18 Requirements
19 ============
21 * Python 3.2+, <http://www.python.org/>
23 For the GUI:
25 * Py G Object, <https://live.gnome.org/PyGObject>.
26   Debian and Ubuntu package: python3-gi.
27 * GTK 3, <http://www.gtk.org/>, including the G Object introspection bindings
29 Optional dependencies:
31 * For the live News 24 stream, or to use the RTMP streaming host:
32   rtmpdump, <https://rtmpdump.mplayerhq.hu/>
33 * To use a SOCKS proxy: Py Socks, <https://github.com/Anorov/PySocks>,
34   or socksipy, <https://code.google.com/p/socksipy-branch/>
36 Installation
37 ============
39 1. Make sure Python is installed and working.
40 2. Either run ./iview-cli or ./iview-gtk.
42 Usage
43 =====
45 Some usage examples are provided for your perusal.
47 This is a purely informational command. It verifies that handshaking is
48 working correctly, and shows which streaming host is used.
50     $ ./iview-cli --print-auth
51     iView auth data:
52         Streaming Host: Akamai
53         RTMP Token: [...]
54         HDS Token: [...]
55         Server URL: http://iviewmetered-vh.akamaihd.net/z/
56         Playpath Prefix: playback/_definst_/
57         Unmetered: False
59 This can be used to list the iView programmes and
60 find a programme’s file name:
62     $ ./iview-cli --programme
63     7.30:
64         7.30 Episode 193 26/11/2013     (news/730s_Tx_2611.mp4)
65         7.30 25/11/2013 (news/730s_Tx_2511.mp4)
66         7.30 20/11/2013 (news/730s_Tx_2011.mp4)
67     [...]
69 To actually download the programme, use something like the following:
71     $ ./iview-cli --download news/730s_Tx_2611.mp4
73 Hopefully that will download an .flv file into your current directory,
74 appropriately named. Downloaded files always use the FLV container format,
75 despite any “.mp4” suffix in the original name.
77 RTMP
78 ===
80 Iview now seems to use the HDS protocol for most programmes,
81 although it used to use the RTMP protocol.
82 However, RTMP still seems to be used for the News 24 live stream,
83 and the on-demand programmes still seem to be available
84 from the old RTMP host.
86 To use RTMP, install _rtmpdump_.
87 If building from source,
88 copy _rtmpdump_ to somewhere within your $PATH (e.g. /usr/local/bin).
89 The RTMP host may be forced with the “iview-cli --host AkamaiRTMP” option.
91 Hacking
92 =======
94 Uh...good luck.
96 There are a few variables that can be edited in the “config.py” file.
98 Changes
99 ===
101 * 4 Jul 2015: Switch to Panasonic API after Humax was retired
102 * 28 Jun 2015: Fix subtitles with new video URLs
103 * 17 Apr 2015: Switch to a different web API to get new video URLs working
104 * 30 Mar 2015: Avoid text encoding crash in programme list
105 * 13 Dec 2014: Sensible handling of odd programme titles
106 * 7 Dec 2014: Sickbeard-compatible episode number in filenames; improve HTTP
107    connection handling; ability to resume HDS downloads; code and indentation
108    cleanups
109 * 24 Mar 2014: Work around incomplete HTTP read, triggered by existing _gzip_
110    encoding workaround
111 * 18 Jan 2014: Work around too many values being returned by series API
112 * 2 Jan 2014: Fix downloading subtitles to stdout; add test suite
113 * 31 Oct 2013: Fix date parsing error
114 * 9 Oct 2013: Fix piping HDS to stdout; lots of code cleanup
115 * 23 Aug 2013: Fix FLV file structure; basic support for categories
116 * 18 Aug 2013: Fix for ampersand in subtitles; HDS improvements; future-proof
117    in case there is no player verification
118 * 14 Jul 2013: Port to GTK 3; support unmetered Akamai HD streaming; drop
119    Python 2 support
120 * 15 Jun 2013: Workaround for resuming zero-length files; workaround to avoid
121    Akamai HD streaming unmetered host
122 * 3 Feb 2013: Batch download facility; port to Python 3 (still supporting
123    Python 2.6); drop Beautiful Soup dependency