Doctor Who, sans Python-iView

Just to illustrate the insanity of ABC’s position in the takedown of Python-iView – here is how to “download” the latest Doctor Who episode from iView, without using an application that infringes the takedown notice as I understand it.

Update: To be clear, this may well still violate the iView Terms of Service… that I’ve never read, and that you don’t get prompted to if you follow the below; the below I pieced together without use of the site. Don’t actually download the file if you want to follow the iView Terms of Service. I’m not a lawyer and can’t comment on whether it’s enforceable on people who are never presented with it. I’d really hope that accessing internet-accessible URLs without an explicit contract between the two parties, isn’t – but what I consider “right” isn’t always.

(Dear ABC: If I’m wrong, please send me an email with where I went wrong and I’ll readily take this post down; my address is in the sidebar on the right).

  1. Visit http://tviview.abc.net.au/iview/auth/?v2 and do a “View Source”.
  2. The “host” will be the IP from the “server” field.
  3. The “app” will be the directory-part of the “server” field, plus “?auth=” plus the contents of the “token” field. (So, ondemand?auth=ABCD1234ABCD1234 or something similar).
  4. rtmpdump --host (host) --app (app) --playpath mp4:threepower_xx_xx -o threepower_xx_xx.mp4 -X --swfUrl http://www.abc.net.au/iview/images/iview.jpg

mp4:threepower_xx_xx is the remote filename.

This may not work from all ISPs, as the path structure is slightly different for Akamai; I’m writing this to prove a point, not so you can actually download an episode.

The only “protection” I see as arguable is the use of a hash of a SWF file – that’s what the last URL passed to rtmpdump, it calculates the hash and passes it in the RTMP request.

What Python-iView adds above and beyond this, is pulling the (unobfuscated) list of show names and episode names (which is where the filename is readily discoverable). So, uh, nothing infringing itself.

Update: What’s really wrong, though, is that the ABC has apparently agreed in legal contracts not to allow downloads from iView, but can only prevent it through mean wording in a Terms of Service.

Update 2: So, I went looking for the Terms of Service. You need to load iView, go to Help, click the FAQ link, scroll up three pages (I’m not kidding), then click the Terms Of Use link. I consider it hideously unfair to hide your Terms Of Use and then complain that they get violated. Really, guys?

By the reasoning in ABC’s Terms Of Use, this post may be seen to “provide the means for others to…circumvent these technical measures”. But only if they consider accessing readily available URLs with established non-infringing applications to be bypassing technical measures. (Dear ABC: I watch more ABC than the remainder of the commercial stations put together, I’m actually a big fan – so please don’t sue me! :).