Wikia

ABC iView Downloaders Wiki

Home

Talk8
1page on
this wiki

UPDATE 12 March 2011: ABC have changed the iView interface to only return the seriesIndex in gzip format.


UPDATE 14 JULY 2010: A new thread has been created here: http://stream-recorder.com/forum/use-iview-abc-australia-downloaders-t7039.html. The thread discusses the usage of the iView (ABC Australia) downloaders. If you think there is an issue about one of the iview downloaders read the last few pages of the thread (covering at least 2-3 days postings) for the latest news and issues currently being worked on. Be aware that issues may be specific to a particular ABC downloader platform (see platforms below, eg "Getview " not working) or may be a general to all ABC downloader platforms (eg main index format changes).


UPDATE 13 JULY 2010: ABC iView Downloader thread on Whirlpool has been closed. The below is the wiki article, with links to the downloaders themselves and a quick summary of the 3-part thread.


The below scripts allow video to be downloaded from ABC iView servers. It allows those with bad connections and off peak quota to watch iView efficiently. Ideally this article will eventually rise to the top of the search results. ABC iView uses Adobe's Real Time Messaging Protocol (RTMP) . There are open-source implementations of this protocol: RTMPdump and FLVstreamer (a fork of RTMPdump). These programs allow files to be downloaded from ABC iView. The FLV and MP4 files play on VLC. The FLV files have different aspect ratio so 16:9 must be forced (See iView Video Specifications). The scripts use the same iView servers in the manner – if your ISP does not count ABC iView towards internet usage, this should also not count towards usage. You should be fine unless you use a proxy.


Latest VersionsEdit

All the below scripts can be occasionally unreliable and output a ~1kb file. Try again, or just try another stream.

Platform IndependentEdit


  • Perl Script: "iview_fetcher" | Broken by 19/11/09 ABC Update | (Author: See Technical Details section and update accordingly :D)

WindowsEdit


  • Windows GUI Version: "GetIView"
    by Computer Freak (requires .NET framework 4.0+)
  • For new installations: Download the latest full package and replace "GetIView.exe" with the latest one from the internet.


  • Windows Command Line Version: v15.86 (batch file and support files) (updated 1/Mar/2013) - Unsupported, now no longer working!
  • Just the batch file v15.86 on its own (copy into an existing installation).
  • Updated by elfst0ne. Additions by blood.eaglz, Steve72, Freman and Anywho.
    Includes ability to download Closed Caption text (converts to a SRT file), but ABC doesn't do a very good job of the timing of the text - use at your own leisure and complain to ABC if the CC timing is off. Some viewer programs (like VLC) can adjust for the CC timing so have a look at your viewer software for this.

Usage for Windows Command Line Version:

  1. Copy the contents of the zip file, as-is, to a directory
  2. Open the .bat file
  3. Follow the prompts :D

LinuxEdit

Usage:

    1. Extract the .zip file
    2. Run "runme_first" to set permissions for the extracted files
    3. Run "iView_Downloader_LINUX_7.0"
    4. Follow the prompts :D

updated script for version 6.8.1 to work with Akamai server (script only 09/03/2011)

Used script above on Ubuntu 10.04, working (7 Jan 2012) using the following instructions:

  • Make sure you have rtmpdump and curl (sudo apt-get install rtmpdump curl)
  • Download script into a directory, in the same dir create a temp directory (mkdir temp)
  • Open in a text editor and...
Replace line 11 with:
FLVSTREAMER='rtmpdump'
Replace line 211 with:

"$FLVSTREAMER" --resume -r rtmp://cp53909.edgefcs.net////flash/playback/_definst_/$SHOWPATH -a ondemand?auth=$TOKEN -o "$CURDIR"/"$FILENAME" $SWFPARAMS

Replace line 215 with:
"$FLVSTREAMER" --resume -r rtmp://203.18.195.10/ -a ondemand?auth=$TOKEN -y $SHOWPATH -o "$CURDIR"/"$FILENAME" $SWFPARAMS
  • chmod +x scriptname (chmod +x iViewDownloader.sh)
  • Run the script (./iViewDownloader.sh)'


Latest Linux script (replaces above)

    1. Extract the .zip file
    2. Run "runme_first" to set permissions for the extracted files
    3. Run "iView_Downloader_LINUX_7.1"
    4. Follow the prompts

MacEdit

OSX script by Vipher - iView_Downloader_OSX_V6.8

  • This script is untested so it may or may not work.
  • runme-first script tested 19/10/10: but chmod errors - terminal iview_downloader script insufficient access priviledges error.
  • Use a shell in terminal to directly change access priviledges with chmod commands (see forum entries by Vipher and Aeolus)

New OSX Script by Vipher (15/03/11): iView_Downloader_OSX_V7.0

  • This script is untested so it may or may not work hence not deleting the link to the previous one (Please update this if you have tested it and it works/doesn't work).
  • Doesn't work 17/4/2011. I get "ERROR: FLV file contains neither video nor audio, aborting! Closing connection... done!"
  • Works for me on 12/5/2011 - I had to manually create a temp directory e.g. iView_Downloader_OSX_V7.0/temp first.
  • Doesn't work 21/2/2012. I got it working by patching the script in a similar way to the instructions above for Linux. eg replace:
"$CURDIR"/"$FLVSTREAMER" --resume -r rtmp://cp53909.edgefcs.net////flash/playback/_definst_/$SERVERPATH -t rtmp://cp53909.edgefcs.net/ondemand?auth=$TOKEN -o "$CURDIR"/"$FILENAME.$SHOWEXT" $SWFPARAMS

With:

"$CURDIR"/"$FLVSTREAMER" --resume -r rtmp://cp53909.edgefcs.net////flash/playback/_definst_/$SHOWPATH -a ondemand?auth=$TOKEN -o "$CURDIR"/"$FILENAME" $SWFPARAMS

And replace:

"$CURDIR"/"$FLVSTREAMER" --resume -r "rtmp://203.18.195.10/ondemand?auth=$TOKEN&$SERVERPATH" -y $SERVERPATH -o "$CURDIR"/"$FILENAME.$SHOWEXT" $SWFPARAMS

With:

"$CURDIR"/"$FLVSTREAMER" --resume -r rtmp://203.18.195.10/ -a ondemand?auth=$TOKEN -y $SHOWPATH -o "$CURDIR"/"$FILENAME" $SWFPARAMS

Original script by lightguard. Maintained by taxi-man. (21/04/10)

  • Doesn't work 15/7/2012. The patching of the script seemed to have made it worst.... It downloaded the list ok but a few of the shows didn't show up and was unable to download any of the shows.
  • 5/8/2012 - v7.0 Working with minimal problems. When generating the list of shows available to download, the script assumes series start with an id of length 8 and shows start with an id of length 7. On inspecting the file, neither of these assumptions are true. The impact is that some programs with ids that do not fit the assumptions are not made available for download. The patching described above is not necessary.
  • 28/1/2013 - v7.0 to fix problem above change line 121 from 
if [ $COUNT = "7" ]; then
to
if [ $(echo "$CURRENT" | sed 's/.*\"f\":\[.*//g' | wc -m) != "1" ]; then
You can comment out lines 117 and 118 now if you want they arent used anymore.

AmigaEdit

Tivo and iPod/iPhoneEdit

The format of your downloaded iView file will normally not play directly on your Tivo, iPod or iPhone. There is a very easy way to manage the conversion of the downloads and make them available to these devices. Simply download and install Vuze torrent software. Vuze will auto detect your Tivo (assuming you have a home network package) and will also detect iTunes on your PC. Simply drag and drop your downloaded iView file to the device in Vuze, and it will convert the file to the required format and make it available to play once the conversion is completed.


Xbox & Apple TVEdit


WiiEdit

UPDATE:It's now apparently possible to do this. See: http://jms.id.au/wiki/IviewWiiTesting. It requires Wii Linux.

The official iView player doesn't work on Wii. The admin on the ABC forums said that since the Wii's flash version (Flash Lite 3.1) doesn't work with ActionScript 3.0, rewriting iView specifically for Wii is an "expensive and time-consuming project" It is NOT ideal but there are two choices for a user-created Wii version:

  • 1. Use the Opera browser with a alternate SWF (completely made by users or an edit of the official SWF)
  • 2. Use Wii Linux with MPlayer and FLVstreamer.

Option 1 is preferable, except we need to get files hosted on ABC servers – SWF cannot retrieve files on other domains for security reasons. There are methods to get around this, but it would mean iView would be metered. It may be possible to get around that, but then we are complicating what should be a trivial matter.


Option 2 works, but people must install and set-up Wii Linux and launch it through "BootMii" (in boot2 not IOS since wifi is needed).

The linux bash version (with mplayer and rtmpdump compiled for powerpc) will work. While a working offical SWF player would be great, an official WiiWare iView channel would be better. Although since Nintendo don't allow GNU code (ie RTMPdump/FLVstreamer), ABC iView would need to be completely rewritten anyway (since it won't be able to use RTMP). Therefore an offical ABC iView channel for Wii is unlikely. (Users have stated that BBC iPlayer has a Wii channel in the UK, and iplayer uses RTMP – maybe its not unlikely, the ABC is just cheap/lazy). Either way waiting for official support is best.


Given the state of Wii homebrew, it seems unlikely that anyone will write an ABC iView Viewer for Wii anytime soon. Waiting for official support is best. A moderator on the ABC forums, in response to a query about iView on Wii said: "Stay tuned though.. we're working hard on bringing iView to new platforms and there'll be some news on this in early 2010."

Xbox 360Edit

Xbox 360 supports theDLNA standard. ABC iView can be streamed to DLNA devices (such as PS3, Nokia N95 and Xbox 360) through James Henstridge's "rygel-iview" . As with the current Wii methods, this method is not ideal.

As with any system that can run linux, the shell script can be adapted (with minimal effort) to work.


PS3Edit

Sony Playstation 3 officially supports ABC iView. A link to ABC iView is available as an icon in XMB (must register for PSN first). Since PS3 – like the Xbox 360 – supports DLNA, "rygel-iview" may be used.

As with any system that can run linux, the shell script can be adapted (with minimal effort) to work. Users have stated that downloaded FLVs cannot be played back on XMB directly.


Technical DetailsEdit

The following details are accurate as of 2010-Oct-30 (iview_374) and subject to change without notice.


All the iView downloaders (above) do the at least the below – it is the bare-minimum needed to download from ABC iView.


There is heaps of extra info in the JSON, with it you can write a much nicer downloader – showing the release dates, sort by genre, descriptions and even thumbnail images for every series and episode. (its also conceivable to create a HTML+JavaScript-only iView website – looking exactly like iView does now, but using flash only for streaming itself – like it should be).


Step 1. The downloader fetches http://www.abc.net.au/iview/xml/config.xml (one of only two essential hard-wired URLs) which contains (partial) URLs for the rest of the downloading. In the following, $config{foo}bar refers to the value associated with foo in this XML file with bar appended to it. The associated URL reflects the current expansion.


Step 2. The downloader fetches $config{api}seriesIndex which is a JSON array listing all the available iView programs. See below for the format. This file is used to map the series name to the series number, which is needed to retrieve the individual playlists for the series. Individual elements within each series are references below as $seriesIndex{X} for tag X.


Step 1.5 (Optional): iView sorts video using genres. The genre can be determined by fetching categories.xml , looking for genre="true", and finding the genres in the "keywords" list for each show in the catalog file. Using that info, it is easy to sort by ABC1 content, Documentaries etc. (The relative URL is available in $config{categories}).


Step 2. The downloader fetches details of an individual series via $config{api}series=NNNNNNN (where NNNNNNN is a series number ($seriesIndex{a}) from Step 2 above. The result is a single-element JSON array containing all the program details. See below for the format. This is a superset of the data in the seriesIndex and contains the actual filenames to download. Individual elements within the series are references below as $series{X} for tag X.


Step 3. For each program within the series ($series{f}) it then gets the filename ($series{f}{n}) value - which looks like eg., wolverine_09_01_01.mp4


Step 4. User picks a Show (ie. Choose a filename to download from the huge list of values from Step 3). Depending on the UI design, it may be more efficient for the user to select a series before Step 2 and just fetch the details for that series before letting the user pick an individual show.


Step 5. The downloader fetches $config{auth} and extracts the authentication token from the string within the <token></token>. Note that you will need to unescape the '&amp;' back into '&'. Note that the value expires within a few minutes of being generated. This is referred to below as $auth


Step 6. The actual program is downloaded using (eg) RTMPdump or FLVstreamer. Since iView uses some copy-protections, RTMPdump is needed to download for more than 60 seconds at a time.


(Once upon a time, you needed to do the above manually to download, the point of the scripts is to automate it.)


For historical reasons, the ABC uses two separate servers for iView: Hostworks and Akamai. They seem to need a slightly different command to start a download. The <host></host> tag within the file fetched in Step 5 indicates which one to use.


The arguments to rtmpdump 2.x for downloading an MP4 from Akamai look like: rtmpdump --rtmp $URL////flash/playback/_definst_/$series{f}{n} --tcUrl $config{server_streaming}?auth=$auth --swfVfy http://www.abc.net.au/iview/images/iview.jpg -o $series{f}{n}


where $URL is $config{server_streaming} without the trailing '/ondemand' (there should be four '/'s between the hostname and 'flash'.


To download a FLV file, remove the '.flv' from the '--rtmp' argument.


Example download commandsEdit

Akamai: rtmpdump-WIN32-1.9.exe -r rtmp://cp53909.edgefcs.net////flash/playback/_definst_/step4 -t rtmp://cp53909.edgefcs.net/ondemand?auth="step6" -o "outputfilename.flv" --swfhash "96cc76f1d5385fb5cda6e2ce5c73323a399043d0bb6c687edd807e5c73c42b37" --swfsize 2122


Hostworks: rtmpdump-WIN32-1.9.exe -r rtmp://203.18.195.10/ondemand?auth="step6" -y step4 -o "outputfilename.flv" --swfhash "96cc76f1d5385fb5cda6e2ce5c73323a399043d0bb6c687edd807e5c73c42b37" --swfsize 2122 Basically the command contains a long URL with the show name (from Step 4), a URL with the authentication token (from Step 6) and some extra info. These are needed to establish and maintain a RTMP connection to iView servers.


(See the RTMPdump/FLVstreamer help menu as it explains -r, -y, -u. Note: incomplete files can sometimes be resumed by adding the parameter --resume with a fresh authentication token from Step 5/6)


The --swfhash and --swfsize are the extra info needed to pretend that we are indeed streaming through the official flash player, not an open-source client. Without this, the connection is dropped every 60 seconds – when the SWF Verification is asked for (See History). Previously, the hash and size was calculated from the ever changing iView SWF Player. The values are currently calculated from: http://www.abc.net.au/iview/images/iview.jpg (a .swf in disguise). Be wary of the size and hash because iView is updated regularly.


RTMPdump 2.0 (revision 130) onwards supports -W (--swfVfy), just supply the SWF URL and it automatically calculates the size and hash (and cached in ~/.swfinfo). This option was broken in RTMPdump 2.0 (r130) for Windows (bad calculations), but is now working correctly in RTMPdump 2.1 (r154) onwards.


A slightly altered command is needed to download MP4 files through RTMPdump. An example on the Hostworks server is below: Hostworks (MP4 file): rtmpdump-WIN32-1.9.exe -r rtmp://203.18.195.10/ondemand?auth=step6&"mp4:step4" -y "mp4:step4" -o "outputfilename.flv" -swfhash "96cc76f1d5385fb5cda6e2ce5c73323a399043d0bb6c687edd807e5c73c42b37" --swfsize 2122


The download command is very temperamental – the episode path is very picky (can't have .flv there). When writing a iView downloader script, it's may be useful to look through the batch file and get a rough idea then use trial and error until the download begins. People have said it's useful to run these through a wired connection since FLVstreamer/RTMPdump seems to be very sensitive to dropouts.

Series JSON formatEdit

The seriesIndex and individual series results are a JSON array of series, where each series is a JSON object as follows:

JSON 'series' object
seriesIndex series tag description
a 7-digit series identifer
b Series name
c Series description; also program description for programs with only one episode
d URL of image to associate with series
e keywords
f array of JSON program objects
t Series category; used to categorise series in iView series browser front-end

Tag 'f' in the series object is itself an array of objects, one for each program, as follows:


JSON 'program' object
seriesIndex series tag description
a 6-digit program identifier
b Program name
d Program description
e Program category
f When program made available on iView (date/time)
g iView program expiry (date/time)
h Transmission date/time
i Download size in MB
j Program length in seconds
k Text to associate with the next tag ('l')
l URL associated with program
m Show classification rating
n filename to download
o Classification reason(s)
r RTMP stream URL
s URL of image to associate with program
t "1" for News 24 streams - meaning uncertain
u Series number for program. "1", where present for un-numbered series
v Episode number for program
w Channel, day and time when program is broadcast

Note that any URLs in the above have all '/' characters escaped with backslashes so they look like '\/'. Tag 'i' (stream size) changed from string to numeric type on 14/05/2012.



iView Video SpecificationsEdit

FLV files from ABC iView are a 640x480 Anamorphic Widescreen video encoded in the VP6 codec at 25 fps with 96kb/s MP3 audio. Quality is generally adequate. ABC iView is moving to MP4 containers with H.264 video and AAC audio. Users report quality is much improved.

OSX users; if you are having problems playing the video on your computer/ipad, you may need to extract the video from the flv container. You can use this firefox extension to extract the mp4 video:
http://dl.dropbox.com/u/2067588/flvuncontainer-0.3-fx-mac.xpi
http://dl.dropbox.com/u/2067588/flvuncontainer-0.3-fx-windows.xpi

FLVUnContainer Instructions: Once you have installed the extension in Firefox, select the tools menu in Firefox and then select Run FLVuncontainer and then select the file to unwrap and then where to save the unwrapped file to.


No 16:9 flag exists in the FLV files (some users are unsure whether the FLV format is able to contain aspect-ratio meta data), therefore you must force 16:9 in VLC to play it in the correct aspect ratio. (Or else it will look squished). On Windows you can use Windows Registry create a file association (with an file extension such as *.iview or *.flv16x9) to force VLC to enable the 16x9. To do this, copy http://pastebin.com/f6d7fe48b into notepad (Double check the path to VLC.exe). Rename it *.reg and open it and now *.flv16x9 files should now open as 16:9 in VLC.


(Note that since some machines may lag when using flash to play video (historically PS3), downloading the video then playing through can help playback quality.)


The filename of the episodes on the iView server is generally in the format "show_YY_SS_EE", as in an episode named: wolverine_09_01_01.flv is released in 2009 on iView and is Season 1 Episode 01 of the show.



HistoryEdit

ABC occasionally updates iView, having the side-effect of breaking the downloaders. In the past, this has been fixed fairly quickly, although historically some scripts are not updated for weeks following an update. Initially only iiNet was able to offer iView unmetered. iiNet filtered traffic through the Akamai server. Later the ABC started using Hostworks to serve data so that more ISPs can offer iView unmetered. This is why there are two iView servers.


Interestingly, ABC switched on "SWF Verification" (a copy-protection) about 4 months after the whirlpool thread was created, the downloaders started overnight choking whenever the verification was asked for (every 60 seconds). Painfully resuming let the whole file to be downloaded. This was permanently fixed by switching back to RTMPdump (from FLVstreamer) and adding a couple parameters (the size and hash of the iView SWF player).


In mid-November 2009 (about 6 months after Part 1 of the downloader thread was made) ABC updated iView, making cosmetic changes and encrypting a required XML document with RC4. It is likely that the encryption of the iView index and enabling of SWF Verification was caused by the downloaders. The iView XBMC plugin (a viewer, not a downloader) was broken by this change for some time but now provides a patch for SWF Verification and is back in active development. Circumvention was discovered a few hours after the update and the most popular downloaders were back up and running within at most a few days.

As of mid-December 2009 (iview_320.swf), users have reported that the ABC have been changing the encryption on the index.xml file. Downloaders may use the unencrypted catalog XML file, rather than the encrypted and oft-out of date index.xml. A few days later ABC renamed the "catalog" XML file to "programs" (identical in every way except URL). An administrator on ABC's forums has spoken about iView security measures (in response to a question about ABC killing the XMBC/Boxee plugin through SWF Verfication).


Early February 2010 (iView version 327), ABC switched the index/catalog/programs file from XML to JSON – users report loading times are much improved. The index moved from here to here.


ABC iView generally cannot be accessed outside of Australia. iView generates an authentication number – only numbers generated from IP addresses originating inside Australia are valid. Previously using an Australian proxy to generate a working authentication was successful in downloading video (via the Akamai server) through a proxy-less internet connection that would normally use the Hostworks server. Users have reported this method no longer works. Since public proxy are VERY slow (too slow to stream iView), it is possible to proxy all a computer's web traffic through an Australian proxy (using Proxifier of similar) and then use the normal downloader scripts – since it is not streaming, connection speed doesn't matter.


In the past the ABC's XML files often had episodes that weren't listed on the actual site. Once upon a time there was only episodes 1 to 10 of Wolverine And The X-men available on iView itself. But the XML had 1 to 20 listed. But through trial and error, up to episode 26 was actually available (that's the entire season)! Interestingly, while Wolverine And The X-men was being rerun on ABC3, unaired episodes were again listed in the XML, while being officially unavailable. This doesn't seem to happen much, you may get lucky with manual entry of episode paths.


In mid-July 2010, Whirlpool closed the iView downloader thread and deleted this wiki article from the website. Below are the backup copies of the three threads from Whirlpool. You can view them in IE, Opera, or in Firefox using the unMHT extension


Whirlpool ABC iView Downloaders thread 1 mht file.
Whirlpool ABC iView Downloaders thread 2 mht file.
Whirlpool ABC iView Downloaders thread 3 mht file.



See AlsoEdit

PS3 iView info


iView on Wii


ABC iView Downloader (Part 1)

ABC iView Downloader (Part 2) [DELETED]

ABC iView Downloader (Part 3) [DELETED]


SBS Downloader

SBS Downloader Help Thread


PLUS7 Downloaders


Channel Ten Downloader

Around Wikia's network

Random Wiki