Deploying python iView on Windows

— 4 minute read

I have recently been getting rather annoyed with the streaming problems with ABC’s iView. It started with intermittent cut outs, and then soon degraded to really bad lags and even audio and video getting out of sync, and playing at half or quarter speed. In a nutshell, it became unwatchable. I complained to the support of my ISP, iiNet, however they did not help – and maybe it isn’t entirely their fault either. Since streaming was broken, I thought why not buffer the entire program at a time instead, at least until iiNet and ABC fix their servers.

At first I used Yanksy’s iViewFox. However it ran incredibly slowly. So I decided to get Jeremy Visser’s python iView instead. The problem with that is that while python is theoretically cross platform, it is extremely hard to get working on a non-Linux, non-Mac box, and especially so when the application in question has multiple 3rd party dependencies. Judging from the comments on Jeremy’s blog, I think no one has managed to get it working on Windows yet, so I am posting a how-to for the benefit of those whose primary machine is a Windows box. Note that this requires your to install nine pieces of software in total to get working, and you need to edit environment variables, etc, so it can take a while.

Full instructions after the jump. Enjoy.


 

Download and install the following software. The order in which they are installed is somewhat important as some are dependencies of the others.
For each I have provided a link to both the developer’s page, plus a direct one to the distribution file. I have specified version numbers because not all versions play nice with each other – for example if your version of python is different, you will need to get different distributions of the python libraries.
Some software does not come with an executable installer and will actually involve manual installation that includes building the software. To do this, you will have to open up a command prompt, change directories to the location where the files are downloaded or uncompressed to, and enter the command lines detailed.
Note that special care has been taken to avoid folder or file names containing spaces – I use a `programs` folder instead of using the default `Program Files`.

  1. - Python
    http://www.python.org/download/releases/2.6.4/
    2.6.4: http://www.python.org/ftp/python/2.6.4/python-2.6.4.msi
    Path should be automatically set, check it anyway
  2. - Bazaar
    http://wiki.bazaar.canonical.com/WindowsDownloads
    2.1.0-2 http://launchpad.net/bzr/2.1/2.1.0/+download/bzr-2.1.0-2-setup.exe
    Add bazaar to path
    Path should be automatically set, check anyway
  3. - PyGTK group
    http://www.pygtk.org/downloads.html

  4. -GTK+
    http://www.gtk.org/download-windows.html#StableRelease
    2.18 http://ftp.gnome.org/pub/gnome/binaries/win32/gtk+/2.18/gtk+-bundle_2.18.7-20100213_win32.zip
    Simply extract folder to disk
    Path must be manually set
  5. -RTMP dump
    http://rtmpdump.mplayerhq.hu/download/
    2.1d http://rtmpdump.mplayerhq.hu/download/rtmpdump-2.1d-windows.zip
    Simply extract the folder to disk
    Path must be manually set
  6. -Beautiful Soup
    http://www.crummy.com/software/BeautifulSoup/3.0.8
    3.0.8 http://www.crummy.com/software/BeautifulSoup/download/3.x/BeautifulSoup-3.0.8.tar.gz

    python setup.py bdist
    dist/BeautifulSoup-3.0.8.win32.exe
    
  7. -Python iView
    http://jeremy.visser.name/2009/08/30/python-iview/
    revision 341

    cd C:\Programs
    bzr branch http://jeremy.visser.name/bzr/python-iview/python-iview
    notepad setup.py
    REM edit to remove the slashes that precede `usr` (2X)
    python setup.py bdist
    dist/iview-0.2.win32.exe
    
  8. Edit the environment variable, `path` to add or update these values:
    C:\Programs\python264;
    C:\Programs\Bazaar;
    C:\Programs\gtk\bin;
    C:\Programs\rtmpdump-2.1d
    

    These values must be added to the `path`. If they are already there, or a point to previous version, just make sure you update them to point to the new one – pointing to both is problematic. If you installed in a different location, change accordingly.

  9. Run python iview
    python iview-gtk
    python iview-cli
    

    These files are actually python files, not compiled executables. They may be executed directly in *nix systems because the first line is

    #!/usr/bin/env python

    However, that obviously is not understood by Windows, so you will need to precede the name of the file with `python` to tell Windows to execute it using python.

Voila!