iPlayer Downloader

Ruby, cross-platform

The latest release works around BBC changes of 30th July.

About

The BBC launched an iPhone-specific version of the streaming iPlayer service in March 2008. As the iPhone does not support Flash video, this variant of the service uses browser sniffing to serve h.264 (‘MP4’) video to clients.

By pretending to be an iPhone, it’s possible to download the MP4 files for offline viewing. You can find out more about the history of this, and of the BBC’s repeated attempts to prevent this, on the Beebhack Wiki.

I’ve put together a couple of programs—one command-line utility, and one GUI application—to make it easy to download programmes. I continue to update them to add new features and to work around BBC countermeasures, so check back here often.

Downloads

The source code is available via Subversion:

svn co http://paulbattley.googlecode.com/svn/iplayer-dl

The latest release is always available to download as a tarball:

iplayer-dl-latest.tar.gz (Version 0.1.11)

Installation and use

If you are using an installed version (as opposed to running it in-place as explained below), you must perform the setup procedure after each update.

Make sure that you have Ruby installed, and then type the following from within the source directory:

ruby setup.rb config
ruby setup.rb install

(You will need to run the second line with sudo or su or as an administrator.)

iplayer-dl PID

On Windows, you’ll need to run it via ruby:

ruby C:\PATH\TO\iplayer-dl PID

PID is the programme ID, in the form of the viewing page URL or the short identifying code (something like b0081e3).

Various other options are available: run the program without an ID to see them.

Running the downloader in-place

Again, you’ll need to have Ruby installed first. You can then run it from the source directory like this:

ruby -Ilib bin/iplayer-dl PID

Using the GUI

If you’re on Windows, you’ll almost certainly find the pre-built executable below easier. If you’re on Linux or Mac OS X, you’ll probably find it easier to use the command-line application: it has many more features at present, and is probably easier to get working. However, if you wish to try the GUI, here’s how:

You’ll need WxRuby installed; the easiest way is probably to use RubyGems:

gem install wxruby

You can then run the GUI from the source directory:

ruby -Ilib bin/iplayer-dl-gui

(You might need to use ruby -rubygems if you installed WxRuby via that method.)

At present, the GUI will break when run from anywhere else. I’ll fix this in due course.

Pre-built Windows GUI

This includes everything needed to run (except, possibly, a couple of DLLs on Windows XP pre-SP3; see below).

ipdl.exe (Version 1.7)

There’s no installer or anything: just run it from wherever you like.

If you get an error message like this:

This application has failed to start because MSVCP711.dll was not found. Re-installing the application may fix this problem.

Then you need to get hold of a couple of DLLs. I’d love to distribute them myself, but I don’t think I’m allowed. A bit of googling will find them, or you can just use these links:

Unzip them and put them either in the c:\windows\system32 folder, or in the same place as ipdl.exe

Type a programme ID or URL into the box, press download, and you’ll be asked where to save the file. Where possible, this will be pre-filled with the name of the programme:

iPlayer Downloader Save As dialog

Once you click OK, the download will begin:

iPlayer Downloader download progress

Comments

Skip to the comment form

  1. Mick

    Wrote at 2008-06-12 21:23 UTC using Opera 9.50 on Linux:

    Hi Paul and thank you very much for your script! :-)

    I have been using it for some time as a script in Linux. I noticed that you have evolved your code, but I don’t really want to install a bin in my path, as I am still happy to invoke it as ./iplayer_dl.sh. Where can I download your original ruby script (not the binary) including the changes made to deal with the latest XOR change introduced by BBC? Alternatively, is there a line I could add to your ruby script to call and run ./iplayer_decode.sh? These could all be basic stuff, but I couldn’t code my way out of a paper bag . . .

    PS. Please email me an answer if this request is not in line with where you want to take your project.—
    Regards,
    Mick
  2. Paul Battley

    Wrote at 2008-06-12 22:44 UTC using Firefox 3.0 on Linux:

    Mick, there’s not much likelihood of me patching the original one-file script. The complexity of handling things like JavaScript parsing forced me to restructure it, and it’s a lot easier to work on as multiple files.

    However, you could expand the tarball somewhere in your home directory and make a script to execute it. For example, if you expanded it to ~/programs, you could put the following script into ~/bin and chmod +x it:

    #!/bin/sh
    ruby -I$HOME/programs/iplayer-dl-0.1.6/lib \
    $HOME/programs/iplayer-dl-0.1.6/bin/iplayer-dl $*

    That would give you simple command to run as ~/bin/iplayer-dl. How’s that?
  3. Mike Trim

    Wrote at 2008-06-13 01:19 UTC using Firefox 3.0 on Linux:

    Paul, I have managed to get an 80% improvement in speed by iterating through the string directly (avoiding the unpack/pack step), i.e. using:
    (0…data.length).each do |i|
    and:
    data[i] ^= XOR_KEYS…

    With your current version my CPU maxes out downloading at 150KiB/s, and with this modification it maxes out at about 270KiB/s. Of course using max CPU for something like this still isn’t ideal considering the Perl version can convert the whole file in a couple of seconds.
  4. Norby

    Wrote at 2008-06-13 05:10 UTC using Firefox 2.0.0.14 on Mac OS X:

    Mike:

    Any chance you could post your perl snippet to decode? I have some files that I grabbed with the XOR encoding without noticing that are no longer available. I don’t speak ruby at all, and tried my hand briefly at hacking up the libraries to just run the decoding loop on a local file, but didn’t have much luck.

    Thanks.

    -/\/
  5. oldman

    Wrote at 2008-06-13 05:59 UTC using Safari 525.20 on Mac OS X:

    not sure if BBC changed the XOR scheme again? having problems decoding this programme today

    http://www.bbc.co.uk/programmes/b00c18t7.html
  6. P Lewis

    Wrote at 2008-06-13 06:17 UTC using Firefox 3.0 on Linux:

    @Norby – For the perl script see http://linuxcentre.net/get_iplayer/iplayer_decode . Also http://linuxcentre.net/get_iplayer/get_iplayer has this code built-in.
  7. Paul Battley

    Wrote at 2008-06-13 06:18 UTC using Firefox 3.0b5 on Linux:

    Mike, the only reason I avoided that is that strings behave differently in Ruby 1.9 (they’re no longer byte arrays), and I wanted to make sure that it would still work. It might not be worth the cost, though: that seems like a big improvement!

    oldman, there’s some additional complexity in the XOR scheme that I’ve found out about: it’s not always just the last two bytes that are XORed in reverse: sometimes, it’s more. I’m still looking into the differences.
  8. P Lewis

    Wrote at 2008-06-13 07:16 UTC using Firefox 3.0 on Linux:

    After a hexdump statistical analysis of the new downloads I find that the most common bytepairs in the encoded files are no longer 53:3c but instead c0:ca or c0:cb… Still figuring it out…
  9. Paul Battley

    Wrote at 2008-06-13 07:54 UTC using Firefox 3.0b5 on Linux:

    I’ve checked in a simple QT analysing program into my repository. I’m getting close to being able to detect the encryption key and reverse it.
  10. P Lewis

    Wrote at 2008-06-13 08:46 UTC using Firefox 3.0 on Linux:

    In a typical encoded file from last week we have the following distribution (top two most popular bytes shown): c3 and ac

    Bitwise invert these and you get 3c and 53 respectively (surprise surprise)

    New Scheme:
    has the following distribution (top two most popular bytes shown): 35 and 3f

    Which, inverted, gives you ca and c0.

    Now we probably some offset detection? Can we work out what regular byte patterns should be found in an H.264 stream? That way we could probably determine the offsets…
  11. Paul Battley

    Wrote at 2008-06-13 09:21 UTC using Firefox 3.0 on Mac OS X:

    It seems to be possible to find the key by iterating over the QuickTime atoms and finding the first with an encrypted name. The next two bytes of data are the key.

    In b00c18t7 (Out of the Blue), this gives an atom named omvo. The atom length is still wrong, though, and I haven’t yet worked out how to munge it.
  12. P Lewis

    Wrote at 2008-06-13 12:06 UTC using Firefox 3.0 on Linux:

    I’ve figured out that I can reliably get the string ‘moov’ from valid decoded files using the following method:

    mplayer -vo none -ao none -identify -msglevel all=9 file.mov 2>&1 | grep ‘MOV: Movie data: start:’

    e..g:
    MOV: Movie data: start: 1c end: 1c
    MOV: Movie data: start: 24 end: dd194ff

    You need the large end offset (e.g. dd194ff). This I think means the end of the movie frame data(?).

    Then run this through hexdump to get the 4th->8th bytes after this offset which should = ‘moov’:

    hexdump -n80 -s 0xdd194ff file.mov
    0dd194ff 00 1f 99 30 6d 6f 6f 76 00 00 00 6c 6d 76 68 64 |...0moov…lmvhd|
    0dd1950f 00 00 00 00 7c 25 b0 80 7c 25 b0 80 00 00 03 e8 |....|%..|%......|
    0dd1951f 00 36 d1 c0 00 01 00 00 01 00 00 00 00 00 00 00 |.6…...........|
    0dd1952f 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 |................|

    However it would appear that if I look at bytes 56th->64th after this end byte it should have all zeroes in a decoded file. So in the XORed version I will get the XOR pattern. This results in ‘ca c0 ca c0 ca c0 ca c0’ or ‘c0 ca c0 ca c0 ca c0 ca’ in all files downloaded today. And ‘53 3c 53 3c 53 3c 53 3c’ for those from last week.

    Seems that there is a 1 byte discrepancy and this can be probably worked out by rounding up the offset to the next even number.
  13. P Lewis

    Wrote at 2008-06-13 12:38 UTC using Firefox 3.0 on Linux:

    Looks like after the cac0 XOR is applied, adjacent bytes are swapped…

    So if we started with (see above post for how to get hexdump) this (aftyer deXORing with cac0):

    e0 46 08 6d 00 6f 6f 00 76 00 00 6d 6c 68 76 00 |.F.m.oo.v..mlhv.|

    then swapped adjacent pairs:
    ?? 08 46 006d 6f 6f 76 00 00 00 6c 6d 76 68 ?? |..F.moov…lmvhd|

    And compare to another working file:
    00 07 32 c4 6d 6f 6f 76 00 00 00 6c 6d 76 68 64 |..2.moov…lmvhd|

    There we have it!!

    Still need to determine offsets and whether this byte reversal is used in the file…
  14. oldman

    Wrote at 2008-06-13 13:31 UTC using Firefox 3.0 on Linux:

    i’d still like to know how the iPhone can manage to decode it when iTunes/Quicktime cannot :-)
  15. P Lewis

    Wrote at 2008-06-13 14:00 UTC using Firefox 3.0 on Linux:

    OK I have a playable file – it was just the bit reversal and new XOR pattern :-)

    Will post new decoder once cleaned up :-)
  16. P Lewis

    Wrote at 2008-06-13 14:08 UTC using Firefox 3.0 on Linux:

    OK, you can now decode using test program at http://linuxcentre.net/get_iplayer/iplayer_decode
  17. Rob Meerman

    Wrote at 2008-06-14 11:16 UTC using Firefox 3.0b5 on Linux:

    Hey Paul,

    Just wanted to express my thanks for your ruby script, and to ask if you’ve considered threading the decryption to make better use of multi-core CPUs – on my Dual Core machine core 0 is maxed out, but core 1 is basically idle.

    Not that I’m complaining – I’m not in a rush for my iplayer content!

    Thanks again for your open approach, I enjoy reading the SVN logs before taking an update!
    – RobM
  18. Paul Battley

    Wrote at 2008-06-14 11:33 UTC using Firefox 3.0 on Linux:

    Rob, Ruby unfortunately has no support for real threading, only for green threads that run inside the same system thread.

    Of course, if it wasn’t so slow in the first place, it wouldn’t really matter.

    Once we’ve sorted out all the details of the current scheme, I’ll do something using the NArray library, which is fast.
  19. Daniel Hardy

    Wrote at 2008-06-14 15:50 UTC using Firefox 3.0 on Mac OS X:

    I was thinking, that with the beebs apparent desire to keep making small changes which have to be countered in the script, it’s likely you’ll be releasing small incrimental changes to the script (possibly the beebs slightly petty plan), so how about a inbuilt updater to check your using the most recent version of the script and then downloads and installs the new version if your not.

    Just a thought.
  20. Joni Ellenby

    Wrote at 2008-06-15 18:51 UTC using Safari 525.20 on Mac OS X:

    im just wondering, i have successfully downloaded a .mov file using ruby script and it wont play, has MOOV error, how do i do this xoor stuff to be able to play this, sorry, im a bit of a noob with these scripts :)
    thanks
  21. Mick

    Wrote at 2008-06-15 21:47 UTC using Opera 9.50 on Linux:

    Thanks Paul, your suggestion works perfectly.

    Meanwhile, the problem with the latest get_iplayer decoder script is that it doesn’t ‘just-decode’(TM). Instead it downloads umpteen MBs of iplayer program info, which on a pay-as-you-go broadband connection is not desirable. What should I cut ‘n paste into the previous iplayer_decode script version to be able to manually decode already downloaded iplayer files?—
    Regards,
    Mick
  22. P Lewis

    Wrote at 2008-06-16 07:14 UTC using Firefox 3.0 on Linux:

    @Mick ‘get_iplayer -d ’ does not (at least in the last few versions) download the programme info/index if you are simply asking it to decode (-d option). It works entirely locally.
  23. LSF

    Wrote at 2008-06-17 23:44 UTC using Firefox 3.0 on Mac OS X:

    I’m getting the same error today as Joni is reporting:

    INFO: Swapping bytes
    INFO: XOR with ‘0×10e9’
    ERROR: Decoding Failed, moov = ‘L?i’, HEX: 4c 07 af 69

    Any thoughts would be much appreciated…

    LSF
  24. Steve

    Wrote at 2008-06-18 21:22 UTC using Firefox 3.0 on Windows XP:

    Fantastic program – I’m using Windows so I’ve downloaded ipdl and it’s great! The only problem is that some of the shows give the error: This program is not currently available in an MP4 version.
    Is there any way around this, or is this another of the BBC’s methods to prevent License payers from actually watching what we’ve paid for?
  25. Paul Battley

    Wrote at 2008-06-18 21:45 UTC using Firefox 3.0 on Linux:

    Steve, it seems that the MP4 versions are a bit sporadic, and often come out much later than their Flash counterparts, if at all.
  26. Penny

    Wrote at 2008-06-18 22:32 UTC using Firefox 2.0.0.14 on Windows XP:

    Many thanks, you truly are a very clever person!
  27. Mick

    Wrote at 2008-06-19 06:15 UTC using Opera 9.50 on Linux:

    Hi Paul,

    It seems that 0.1.7 is a tad heavy on resources? On a PIII it seems to take up 90+% of CPU and is cranking up on the swap space too:
    ================================
    top – 06:57:58 up 1:02, 3 users, load average: 2.01, 2.03, 2.00
    Tasks: 93 total, 5 running, 88 sleeping, 0 stopped, 0 zombie
    Cpu(s): 94.4%us, 3.7%sy, 1.0%ni, 0.0%id, 0.0%wa, 0.0%hi, 1.0%si, 0.0%st
    Mem: 642324k total, 635564k used, 6760k free, 57004k buffers
    Swap: 257000k total, 1816k used, 255184k free, 343176k cached

    PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
    21323 michael 20 0 9436 8296 1440 R 92.7 1.3 27:44.04 ruby -I/home/michae
    6233 root 20 0 52308 30m 4376 S 1.7 4.8 2:10.54 /usr/bin/X :0 -noli
    6807 michael 20 0 160m 97m 16m S 1.7 15.6 1:45.12 /opt/opera/lib/oper
    ================================

    HTH.—
    Regards,
    Mick
  28. Paul Battley

    Wrote at 2008-06-19 07:11 UTC using Firefox 3.0 on Linux:

    Mick, it’s probably a bug. The downloader has to fetch the file in a certain order, which means it grabs the end of the file before the middle.

    In order to write the file in order, it keeps the end chunk in memory while it downloads the middle. It it’s proving too big, I’ll make it store it in a temporary file instead. (All my machines have at least 2 GB of RAM, so I wouldn’t catch it as a problem.)

    Which programmes cause this problem?
  29. Bob

    Wrote at 2008-06-19 21:42 UTC using Safari 525.20 on Mac OS X:

    Hi. I was using Beeb Downloader with iplayer_decode. My copies are probably outdated versions. The downloader seems to be working but I tried what I thought to be the latest decoder on several files but still couldn’t play them. Am I making an obvious mistake?
  30. Mick

    Wrote at 2008-06-19 22:07 UTC using Opera 9.50 on Linux:

    Paul, I am running a rather old PIII coppermine laptop with relatively small memory compared to current machines:

    $ free
    total used free shared buffers cached
    Mem: 642324 570148 72176 0 82556 269808
    -/+ buffers/cache: 217784 424540
    Swap: 257000 0 257000

    The program I was downloading was large (180min duration) and I noticed that it was barely reaching 1/8th of my previous download speeds. I am still not sure if this was related to the ISP or BBC throttling the download.

    http://www.bbc.co.uk/iplayer/page/item/b00c4j93.shtml

    HTH.

    Regards,
    Mick
  31. Mick

    Wrote at 2008-06-19 22:18 UTC using Opera 9.50 on Linux:

    @P Lewis – thanks, I have tried the latest get_iplayer-0.19, but it gives me this error:

    $ ./get_iplayer -d The Jet Stream and Us – Last 7 Days.mov
    -bash: ./get_iplayer: /usr/bin/perl: bad interpreter: Permission denied

    I have also left a message at the Sourceforge project forums (if you would rather discuss this there?).

    Regards,
    Mick
  32. Paul Battley

    Wrote at 2008-06-19 23:24 UTC using Firefox 3.0 on Linux:

    Mick, could you try getting the current revision (187) from Subversion, and letting me know how you get on? I’ve reduced the memory usage by grabbing smaller chunks at a time and by storing the tail of the movie in a temporary file instead of in memory.
  33. P Lewis

    Wrote at 2008-06-20 12:27 UTC using Firefox 3.0 on Linux:

    @Mick, sorry haven’t really been using the clunky old release mechanism on sourceforge – they take too long to propagate :-(

    Try http://linuxcentre/net/get_iplayer/

    I’m up to version 0.29 now – 0.19 no longer works.
  34. Mick

    Wrote at 2008-06-20 18:08 UTC using Opera 9.50 on Linux:

    Hi Paul,

    I will try your latest version and report back. Meanwhile, trying version 0.1.7 does not seem to decode it:
    ==========================
    $ mplayer House of Lords – Personal Data and Privacy.mov
    MPlayer dev-SVN-r26753-4.1.2© 2000-2008 MPlayer Team
    CPU: Intel® Pentium® III Mobile CPU 1066MHz (Family: 6, Model: 11, Stepping: 1)
    MMX2 supported but disabled
    CPUflags: MMX: 1 MMX2: 0 3DNow: 0 3DNow2: 0 SSE: 1 SSE2: 0
    Compiled for x86 CPU with extensions: MMX SSE

    Playing House of Lords – Personal Data and Privacy.mov.
    libavformat file format detected.
    [mov,mp4,m4a,3gp,3g2,mj2 @ 0×879b9d4]moov atom not found
    LAVF_header: av_open_input_stream() failed
    ISO: File Type Major Brand: Original QuickTime
    MOV: missing header (moov/cmov) chunk! Maybe broken file…
    libavformat file format detected.
    [mov,mp4,m4a,3gp,3g2,mj2 @ 0×879b9d4]moov atom not found
    LAVF_header: av_open_input_stream() failed

    Exiting… (End of file)
    ==========================

    The link in question is: http://www.bbc.co.uk/iplayer/page/item/b00c4j93.shtml. I assume that your latest version will decode all beeb XORs, irrespective of when they were implemented? This link is about to expire.

    Regards,
    Mick
  35. Mick

    Wrote at 2008-06-20 18:24 UTC using Opera 9.50 on Linux:

    @ P Lewis,

    Thanks, I just tried your version 0.29 and it decodes fine with the ‘d’ option. :-)

    Regards,
    Mick
  36. Mick

    Wrote at 2008-06-20 18:34 UTC using Opera 9.50 on Linux:

    Oops! Sorry Paul – please ignore previous message about failing to decode. I believe it was caused by noexec access rights on my partition within which I was running it.

    Regards,
    Mick
  37. Kees

    Wrote at 2008-06-21 10:01 UTC using Internet Explorer 6.0 on Unknown OS:

    /usr/local/lib/site_ruby/1.8/iplayer/downloader.rb:112:in `download’: undefined method `unpack’ for nil:NilClass (NoMethodError)
    from /usr/bin/iplayer-dl:115
    from /usr/bin/iplayer-dl:114:in `open’
    from /usr/bin/iplayer-dl:114
    from /usr/bin/iplayer-dl:77:in `each’
    from /usr/bin/iplayer-dl:77

    I am trying to use iplayer-dl and get the error above am I missing something on my system? I am running kubuntu, still 7.04 in this case.
  38. Pieter

    Wrote at 2008-06-21 10:35 UTC using Firefox 3.0 on Windows Vista:

    Thanks for your work, Paul, it’s greatly appreciated. Though, there’s a glitch. When running the downloader on either Windows Server 2003, Windows Vista or Fedora 8, I’m running into some problems with the nil:NilClass.

    Here’s the error.

    undefined method ‘inject’ for nil:NilClass (NoMethodError)
    C:/Users/{UserName}/eee/eee.ipdl.exe.2/app/lib/iplayer/downloader.rb:55:in `available_versions’
  39. Paul Battley

    Wrote at 2008-06-21 10:54 UTC using Firefox 3.0 on Linux:

    Pieter and Kees, are you both in the UK? Which programmes are you trying to download?
  40. Pieter

    Wrote at 2008-06-21 13:57 UTC using Firefox 3.0 on Windows Vista:

    I’m not from the UK, Belgium, to be precise. Could that be triggering the error?
  41. Jozcoz

    Wrote at 2008-06-21 21:51 UTC using Firefox 2.0.0.14 on Windows Vista:

    I’m using the windows prebuilt exe version of your program, but whenever I try to get a program it says “Programme not yet available in mp4 format”

    Is there anything you can do to help?
  42. Kees

    Wrote at 2008-06-21 22:25 UTC using Internet Explorer 6.0 on Unknown OS:

    I am not in the uk either (at least not right now), but are using a UK proxy to download the program. The exact command is:

    iplayer-dl—http-proxy=uk.pickaproxy.com:8126 b00c66gb
  43. Mick

    Wrote at 2008-06-22 08:01 UTC using Opera 9.50 on Linux:

    Paul,

    I must apologise for giving you a bum steer. It seems that the cause of the resource crunch was caused by me trying to run your script in a partition which I had mounted as noexec. Therefore it was trying to decode the download and was continuously failing to do so. By remounting the partition I can run both script versions now and the resource load is normal. If I were pushed to compare I’d say that the 0.1.7 runs a bit lighter on % CPU.

    Thanks again Paul and Phil for your scripts!

    Regards,
    Mick
  44. Steve

    Wrote at 2008-06-22 10:02 UTC using Firefox 3.0 on Mac OS X:

    To Mac users (well, non-techie Mac users):

    Rak has hacked together a useful GUI based on the iPlayer-dl script, over at http://labsix.net/beeb/about . It doesn’t show download progress, (which is a shame) and it’s not updated that often, so if it doesn’t work, ctrl-click ‘Show package contents’ and drag and drop the newer iPlayer-dl components in.
  45. Sam

    Wrote at 2008-06-24 06:25 UTC using Firefox 3.0 on Linux:

    Where is the 0.29 version?
    The tarball is 0.1.8

    Also, the svn version keeps getting stuck at the same place
    /usr/bin/iplayer-dl http://www.bbc.co.uk/iplayer/page/item/b00c7ytx.shtml
    32.4% Doctor Who Series 4 – Turn Left.mov (Original)/usr/lib/ruby/1.8/net/http.rb:560:in `initialize’: getaddrinfo: Name or service not known (SocketError)
    from /usr/lib/ruby/1.8/net/http.rb:560:in `open’
    from /usr/lib/ruby/1.8/net/http.rb:560:in `connect’
    from /usr/lib/ruby/1.8/timeout.rb:48:in `timeout’
    from /usr/lib/ruby/1.8/timeout.rb:76:in `timeout’
    from /usr/lib/ruby/1.8/net/http.rb:560:in `connect’
    from /usr/lib/ruby/1.8/net/http.rb:553:in `do_start’
    from /usr/lib/ruby/1.8/net/http.rb:542:in `start’
    from /usr/lib/ruby/1.8/net/http.rb:1035:in `request’
    from /usr/lib/ruby/1.8/net/http.rb:948:in `request_get’
    from /usr/local/lib/site_ruby/1.8/iplayer/browser.rb:50:in `get’
    from /usr/local/lib/site_ruby/1.8/iplayer/downloader.rb:46:in `get’
    from /usr/local/lib/site_ruby/1.8/iplayer/downloader.rb:103:in `download’
    from /usr/bin/iplayer-dl:115
    from /usr/bin/iplayer-dl:114:in `open’
    from /usr/bin/iplayer-dl:114
    from /usr/bin/iplayer-dl:77:in `each’
    from /usr/bin/iplayer-dl:77
  46. Paul Battley

    Wrote at 2008-06-24 06:35 UTC using Firefox 3.0b5 on Linux:

    Sam, you’re confusing Phil’s downloader. with mine. His is version 0.29.

    Your error seems to be network-related. Can you connect to the website with a browser? Do you need a proxy?
  47. Sam

    Wrote at 2008-06-24 07:39 UTC using Firefox 3.0 on Linux:

    I have a downloader from around a month ago that downloads the whole program (unwatchable of course)

    I don’t use a proxy.

    I tried them both this morning, the new one manages to keep going today.

    I have noticed by ISP (BeThere Pro) getting ropey of late, but as I’m switching to talktalk I’m not so worried)

    Sorry for the false alarm
    Sam
  48. No. 7

    Wrote at 2008-06-24 11:50 UTC using Safari 526.11.2 on Mac OS X:

    I’m getting a similar error to Sam with 0.1.8 and 0.1.7 (see below). I downgraded to an older version (0.1.3) which works, though obviously the file is not viewable. My Ruby version is: ruby 1.8.6 (2007-03-13 patchlevel 0) [universal-darwin8.0]

    macbook:~/Desktop noseven$ iplayer-dl b00c7ytx
    /usr/local/lib/ruby/1.8/net/http.rb:560:in `initialize’: Connection refused – connect(2) (Errno::ECONNREFUSED)
    from /usr/local/lib/ruby/1.8/net/http.rb:560:in `open’
    from /usr/local/lib/ruby/1.8/net/http.rb:560:in `connect’
    from /usr/local/lib/ruby/1.8/timeout.rb:48:in `timeout’
    from /usr/local/lib/ruby/1.8/timeout.rb:76:in `timeout’
    from /usr/local/lib/ruby/1.8/net/http.rb:560:in `connect’
    from /usr/local/lib/ruby/1.8/net/http.rb:553:in `do_start’
    from /usr/local/lib/ruby/1.8/net/http.rb:542:in `start’
    from /usr/local/lib/ruby/1.8/net/http.rb:1032:in `request’
    ... 9 levels…
    from /usr/local/bin/iplayer-dl:114:in `open’
    from /usr/local/bin/iplayer-dl:114
    from /usr/local/bin/iplayer-dl:77:in `each’
    from /usr/local/bin/iplayer-dl:77
  49. Paul Battley

    Wrote at 2008-06-24 12:31 UTC using Firefox 3.0 on Linux:

    You really need to tell me the PID when you can’t download something, so that I can try to reproduce it.
  50. No. 7

    Wrote at 2008-06-24 13:27 UTC using Safari 526.11.2 on Mac OS X:

    Sorry, I included it in the error text, but I should have been more explicit.

    PID: b00c7ytx

    Is there any other error/debug information I can get out of iplayer-dl that would be of help?
  51. Paul Battley

    Wrote at 2008-06-24 14:42 UTC using Firefox 3.0 on Mac OS X:

    Ah yes, so you did. My apologies.

    I can download that program with no trouble. I’m at a loss to say why it doesn’t work on your computer or network.
  52. Nick

    Wrote at 2008-06-24 15:43 UTC using Firefox 2.0.0.14 on Windows Vista:

    Hi, I used this excellent idea to download the Panorama on primark (PID – b00cf06z), it completed to 100% but then I dont know how to play it, it will not work in vlc, quicktime etc. Do i need to decode this and how do i do it? Thanks very much, and apologies for my possibly being a bit stupid!
  53. John

    Wrote at 2008-06-26 15:10 UTC using Internet Explorer 7.0 on Windows XP:

    Paul,

    Firstly, thank you for all your dedication and hard work in making this project work.

    Like a couple of previous ‘posters’, I too have some files that I downloaded a couple of weeks ago and which I didn’t check at the time and are unrecognisable by QT. I know you have previously made reference to the perl decoder, however, I am a novice compared to the others posting here and don’t know how to get this to work. Is there a ruby version of the decoder that I can use as per iplayer-dl?

    Many thanks,

    John
  54. alan

    Wrote at 2008-06-27 14:02 UTC using Firefox 3.0 on Windows Vista:

    Hi,
    I’ve been following this for a while and finally decided to try the pre-built GUI for Windows.

    I’m afraid I get a different error from the one described, but I downloaded the .dll’s anyway. Still same error I am afraid. The progam runs, I get the GUI window and then enter the PID and get an error.

    I have to admit that in this company I expect that I have made a very obvious error and am going to be rightly chastised – however this is the error.

    ‘undefined method ‘inject’ for nil:Nil(NoMethodError) c:path name/ in ‘avaialble versions’

    Ok – let me know what you think.
  55. Paul Battley

    Wrote at 2008-06-27 21:38 UTC using Firefox 3.0 on Linux:

    Alan, I know that’s an unhelpful error message, but it means that the downloader couldn’t make sense of the programme page.

    Which programme was it?
  56. alan

    Wrote at 2008-06-28 00:03 UTC using Firefox 3.0 on Windows Vista:

    Hi Paul,

    It was the latest Doctor Who, the PID was

    b00c7ytx

    and I also tried the URL

    http://www.bbc.co.uk/iplayer/page/item/b00c7ytx.shtml?src=ip_mp#

    Just in case the problem was expiry or related to this program in some way I have tied these two as well : –

    Charlie and Lola
    http://www.bbc.co.uk/iplayer/page/item/b00c8299.shtml?src=ip_mlt#

    and I’m sorry I’ve got no head.

    http://www.bbc.co.uk/iplayer/page/item/b00c8ps6.shtml?src=ip_mlt#

    The downloader gets far enough to recognise the program title and ask me where to save, but then the same error.

    Any help appreciated very much.

    BR Alan
  57. David Marsden

    Wrote at 2008-06-28 17:53 UTC using Internet Explorer 7.0 on Windows Vista:

    Thanks for this great hack! I got the CLI version working fine on my Ubuntu 8.04, but get the following error when trying the GUI:

    david@holly:~/iplayer-dl-0.1.8$ ruby -Ilib bin/iplayer-dl-gui
    ./lib/iplayer/gui/app.rb:1:in `require’: no such file to load—wx (LoadError)
    from ./lib/iplayer/gui/app.rb:1
    from bin/iplayer-dl-gui:11:in `require’
    from bin/iplayer-dl-gui:11

    Any ideas?
  58. David Marsden

    Wrote at 2008-06-28 19:21 UTC using Internet Explorer 7.0 on Windows Vista:

    Bah! I figured it out for myself, with a little help from Google and http://rotsog.wordpress.com/2007/04/02/getting-started-wxruby/

    ruby -rubygems -Ilib bin/iplayer-dl-gui

    works fine :)
  59. Paul Battley

    Wrote at 2008-06-28 21:43 UTC using Firefox 3.0 on Linux:

    Sorry about that, David. I have that option set via an environment variable (RUBYOPT=rubygems), so I forgot to put it in the instructions. I’ve added it now to help others in the future.
  60. Dale

    Wrote at 2008-06-29 02:16 UTC using Firefox 3.0 on Linux:

    Hi Paul,

    Thanks a lot for the iplayer hack. I’ve been using 0.1.1 untill recently when the downloaded files became unreadable.

    Just checked your site and upgraded to 0.1.8 but now I get an error when trying to download programes. Sorry to bother you but I don’t know what to do about it. Can you tell me what the problem is?

    I’m using iplayer-dl on Debian – Lenny.

    This ID, for example: b00c0gy9

    cue@shadow:~$ iplayer-dl b00c0gy9
    /usr/lib/ruby/1.8/net/http.rb:560:in `initialize’: Connection refused – connect(2) (Errno::ECONNREFUSED)
    from /usr/lib/ruby/1.8/net/http.rb:560:in `open’
    from /usr/lib/ruby/1.8/net/http.rb:560:in `connect’
    from /usr/lib/ruby/1.8/timeout.rb:53:in `timeout’
    from /usr/lib/ruby/1.8/timeout.rb:93:in `timeout’
    from /usr/lib/ruby/1.8/net/http.rb:560:in `connect’
    from /usr/lib/ruby/1.8/net/http.rb:553:in `do_start’
    from /usr/lib/ruby/1.8/net/http.rb:542:in `start’
    from /usr/lib/ruby/1.8/net/http.rb:1035:in `request’
    from /usr/lib/ruby/1.8/net/http.rb:948:in `request_get’
    from /usr/local/lib/site_ruby/1.8/iplayer/browser.rb:50:in `get’
    from /usr/local/lib/site_ruby/1.8/iplayer/downloader.rb:27:in `get’
    from /usr/local/lib/site_ruby/1.8/iplayer/downloader.rb:89:in `request_image_bugs’
    from /usr/local/lib/site_ruby/1.8/iplayer/downloader.rb:88:in `each’
    from /usr/local/lib/site_ruby/1.8/iplayer/downloader.rb:88:in `request_image_bugs’
    from /usr/local/lib/site_ruby/1.8/iplayer/downloader.rb:94:in `real_stream_location’
    from /usr/local/lib/site_ruby/1.8/iplayer/downloader.rb:41:in `download’
    from /usr/bin/iplayer-dl:115
    from /usr/bin/iplayer-dl:114:in `open’
    from /usr/bin/iplayer-dl:114
    from /usr/bin/iplayer-dl:77:in `each’
    from /usr/bin/iplayer-dl:77

    Cheers.

    Dale
  61. Scott

    Wrote at 2008-06-29 10:20 UTC using Firefox 2.0.0.14 on Linux:

    Hi,

    Thanks for writing this script, it seems many people have successfully used it, however, I have had problems. I am running it locally (not installed) as

    ruby -Ilib bin/iplayer-dl b00ccf4z

    and I get:

    This programme is not currently available in an MP4 version.

    I am in the UK. Unfortunately I am not familiar with Ruby or Javascript so don’t think I’ll be much help in solving the problem, but I am happy to run debug versions of your script if you have any that I could try which might help you find out the problem.

    Many thanks,

    Scott.
  62. dave massingham

    Wrote at 2008-06-29 22:19 UTC using Firefox 2.0.0.1 on Linux:

    Great work – I think we need to start a campaign
    to get a Nobel Peace prize for all you programmers out there, who have opened up computing to millions, like me who are NOT programmers, and in the process, brought together many different nationalities working together, mainly just for fun.

    The prize could go into a trust fund for Open Source Foundation?

    God bless you all
  63. Karl

    Wrote at 2008-06-29 22:35 UTC using Firefox 3.0 on Linux:

    Excellent work, thanks
  64. Jazz

    Wrote at 2008-06-30 20:58 UTC using Firefox 3.0 on Linux:

    I’m getting the same problem as Scott (‘This programme is not currently available in an MP4 version’)

    What are we doing wrong?
  65. thatguy

    Wrote at 2008-07-01 21:56 UTC using Safari 419.3 on Mac OS X:

    MP4 not available just means that the file has not been encoded to view on an iPhone or iTouch.

    I’m pretty sure that most of glasto hasn’t been converted.
  66. Upekshapriya

    Wrote at 2008-07-01 22:15 UTC using Firefox 2.0.0.14 on Mac OS X:

    @thatguy, @jazz – you can find out if a programme is available in MP4 format by going to http://www.dracos.co.uk/play/bbc-iplayer-mp4/ and putting in the programme id or using the bookmarklet.
  67. Upekshapriya

    Wrote at 2008-07-02 02:03 UTC using Firefox 2.0.0.14 on Windows XP:

    Paul, you may be interested to know that ‘BBC Four Sessions – Bruce Springsteen’ (PID b0074sjm) didn’t come up with the title automatically in the Windows ipdl.exe and in the command line I got this message:

    ruby iplayer-dl b0074sjm
    Unable to parse the metadata for this programme.
    As a workaround, you can use the -f option to specify a filename manually.
  68. Paul Battley

    Wrote at 2008-07-02 07:17 UTC using Firefox 3.0 on Linux:

    Upekshapriya, that’s because the programme metadata XML is invalid. You can see this if you view the URL in Firefox.

    It’s a bug at the BBC’s end.
  69. Upekshapriya

    Wrote at 2008-07-02 09:01 UTC using Firefox 2.0.0.14 on Windows XP:

    It appears that Matthew Somerville ignores the error on his BBC iPlayer MP4 page http://www.dracos.co.uk/play/bbc-iplayer-mp4/?p=b0074sjm

    I found if I saved the file that lines 12 and 13 showed the title and subtitle. Maybe you could allow for the possible xml parsing errors in your coding?
  70. Adrian Hayter

    Wrote at 2008-07-04 16:28 UTC using Firefox 3.0 on Linux:

    I’m not sure whether the BBC have “fixed” the iplayer again, but every time I try to download something it gives me this:

    Unable to parse the programme page. Possible reasons:
    1. The iPlayer has changed
    2. You are outside the UK (and not using a UK proxy).
    3. The BBC think that you are outside the UK.

    This is as of 2 hours ago (it was downloading fine before then).
  71. Graingert

    Wrote at 2008-07-04 17:17 UTC using Firefox 3.0 on Linux:

    yeah, get_iplayer fails also, no error :-( though

    Murb suggests that this is because the new iplayer beta has gone live
  72. Chrys

    Wrote at 2008-07-04 17:29 UTC using Internet Explorer 6.0 on Windows 2000:

    Yes, mine stopped working suddenly this afternoon too, same 3 errors as Mr. Hayter…..
  73. Paul

    Wrote at 2008-07-04 19:48 UTC using Internet Explorer 7.0 on Windows XP:

    Probably not working because the new iPlayer site has launched and uses a different format.

    Hopefully they’ll be a workable one for us to use on here soon – please?
  74. Paul

    Wrote at 2008-07-04 19:51 UTC using Internet Explorer 7.0 on Windows XP:

    Actually, I’ve just tried the standalone exe and that downloads fine still. :-)
  75. William McIntyre

    Wrote at 2008-07-04 20:00 UTC using Safari 419.3 on Mac OS X:

    I’ve tried the .exe as well, and the url of the shows is all differant now on the new Beta, it’s much shorter and I get the errors as above:

    Unable to parse the programme page. Possible reasons:
    1. The iPlayer has changed
    2. You are outside the UK (and not using a UK proxy).
    3. The BBC think that you are outside the UK.

    So unless someone knows how to access the old iPlayer page, I’m stuck.
  76. Chris

    Wrote at 2008-07-05 11:13 UTC using Firefox 3.0 on Windows XP:

    It seems iPlayer changed again time to get back to work again. What do you think Paul combined script for the radio too?
  77. Alex

    Wrote at 2008-07-05 13:30 UTC using Firefox 2.0 on Windows Vista:

    When trying to download this through the newest and older versions of the GUI exe: b0091tws

    I get the error message:

    Unable to parse the programme page. Possible reasons:
    1. The iPlayer has changed
    2. You are outside the UK (and not using a UK proxy).
    3. The BBC think that you are outside the UK.

    even though I’m in the UK
  78. Paul G

    Wrote at 2008-07-05 17:28 UTC using Opera 9.50 on Mac OS X:

    I’m still downloading successfully via the new iPlayer beta site as follows:

    1. Access the new programme page with a non-iPhone agent string to grab the title, version pid and uid cookie (iPhones now seem to get redirected to a new dedicated mobile site that I haven’t got to grips with yet)

    2. Grab the o.gif web bug to validate the uid and then continue with the mp4 redirection and download as before.

    This works successfully with b00cchj7 and b00cchk0.

    However I notice that the new mobile site is streaming h.264/aac content using RTSP, so I wonder whether this will replace the http download entirely when transition to the new iPlayer is complete. I’m sure we’ll soon find out.
  79. Kevin

    Wrote at 2008-07-05 19:29 UTC using Internet Explorer 6.0 on Windows XP:

    Hi Paul – Sorry I am a bit thick, so please could you explain in easy steps how you find the MP4 redirection, thanks Kevin
  80. Paul G

    Wrote at 2008-07-05 20:07 UTC using Opera 9.50 on Mac OS X:

    Kevin, rather than me trying to explain here, have a read of this:

    http://beebhack.wikia.com/wiki/IPhone_H.264_version

    If you read the introduction and then the 18th June update this describes the whole process in detail. The current download scripts are no longer working because the programme page is no longer in the same place, and the new one is in a different format and isn’t accessible by an iPhone. Fortunately the new one still issues the uid cookie and contains the version pid which are all that’s required to use the download process as described, for the two examples I gave at least.
  81. Bob

    Wrote at 2008-07-05 20:50 UTC using Safari 525.20.1 on Mac OS X:

    Hi Paul.
    I’m too thick as well.
  82. evan

    Wrote at 2008-07-06 19:07 UTC using Firefox 3.0 on Mac OS X:

    Hah, just noticed that it didn’t work since the iPlayer update, but you’ve already fixed it!

    Fantastic work, thanks a lot.

    I wonder if it’ll work for radio shows too, since they seem to be in the same player now.. I’ll go and check..
  83. Saimon Moore

    Wrote at 2008-07-07 16:23 UTC using Safari 525.20.1 on Mac OS X:

    Stupid question? : Any chance of getting this to work for people not in the UK?
  84. Mick

    Wrote at 2008-07-08 05:41 UTC using Opera 9.51 on Linux:

    This is what I’m getting – is it telling me that BBC do not have an mp4 available yet, or has BBC resorted to blocking IP addresses now?
    ========================
    $ ruby -Ilib bin/’iplayer-dl’ PID http://www.bbc.co.uk/iplayer/episode/b00cjsk6
    There is no page for this programme.
    This probably means that the programme does not exist.
    An MP4 URL was found, but the download failed.
    [06:36:43] $ ruby -Ilib bin/’iplayer-dl’ PID http://www.bbc.co.uk/iplayer/episode/b00cjsk6
    There is no page for this programme.
    This probably means that the programme does not exist.
    Resuming download at 0 bytes.
    An MP4 URL was found, but the download failed.
    ========================

    Regards,
    Mick
  85. Paul Battley

    Wrote at 2008-07-08 20:31 UTC using Firefox 3.0 on Linux:

    Mick, if you’re literally typing in ‘PID’, don’t.

    As for the programme, I suspect that it’s just not available as MP4.
  86. mat

    Wrote at 2008-07-09 23:54 UTC using Firefox 3.0 on Linux:

    hey there, im new to this script and all im getting is the error
    “An MP4 URL was found, but the download failed.”

    any ideas would be most welcome, thanks
  87. Yooj

    Wrote at 2008-07-10 17:15 UTC using Firefox 2.0.0.15 on Windows Vista:

    Hi great site…and sterling work…I have a question…I have been using the command line versions and I recently started to use the Windows GUI version, and for both I am able to download the .mov file successfully, but when I try to run it in quicktime to test, I get the following error message: Error -2048: Couldn’t open the file [filename].mov because it is not a file that QuickTime understands. Previously downloaded .mov files work however in quicktime…This has been happening for the last couple of weeks, with today being the most recent…any ideas?
  88. Henry Bradley

    Wrote at 2008-07-10 18:15 UTC using Safari 525.20.1 on Mac OS X:

    Thanks Paul – top work again.

    I’m just downloading my first file since the iPlayer change – will confirm later if it’s working OK for me.
  89. Henry Bradley

    Wrote at 2008-07-10 22:01 UTC using Safari 525.20.1 on Mac OS X:

    Working fine, thanks again dude.

    Only thing I am finding is that the MP4 files are quite pixellated in VLC compared to the flash files played in iPlayer
  90. hxa7241

    Wrote at 2008-07-11 07:32 UTC using Opera 9.51 on Mac OS X:

    A minor quasi-defect report for the commandline version:

    If the download file has a long title the terminal window wraps it, causing scrolling instead of overwriting during the percent-done printing. (bin/iplayer-dl line 119)

    (I fixed my copy just by moving the title printing outside the percent-print loop.)

    Otherwise, all good.
  91. Crateria

    Wrote at 2008-07-11 14:34 UTC using Firefox 3.0 on Windows XP:

    Hey Paul,
    I’m having some problems with the pre-compiled win32 program. It works fine using the new version of the iplayer site However, using the http://www.bbc.co.uk/programmes/ site (As some programs can be watched there and not on the iplayer) I keep getting the error “An mp4 was found but the download failed”..
    Could this be that this version of the site is still using the old code to determine the iphone or is it something else..

    Thanks
  92. vmrsss

    Wrote at 2008-07-11 22:21 UTC using Safari 525.20.1 on Mac OS X:

    It seems the download fails with radio programmes, invariantly I get:

    Unable to parse the metadata for this programme.
    As a workaround, you can use the -f option to specify a filename manually.

    Can anybody confirm?
  93. vmrsss

    Wrote at 2008-07-11 22:22 UTC using Safari 525.20.1 on Mac OS X:

    I forgot to mention that it works well TV contents.
  94. Paul Battley

    Wrote at 2008-07-12 08:12 UTC using Firefox 3.0 on Linux:

    Crateria: It won’t work on /programmes because those pages are fundamentally different, and don’t have iPhone functionality to the best of my knowledge.

    hxa7241: Thanks for the suggestion. It’s committed to svn, and will be included in the next release.

    vmrsss: It doesn’t work with radio, and it’s not likely to until either the BBC add a radio version for the iPhone, or I finish working on the RTMP library.
  95. Paul

    Wrote at 2008-07-13 16:46 UTC using Firefox 3.0 on Mac OS X:

    Hi, I have installed the DL on Mac Leopard. I think there is a path issue. It says command not found. When I run “in place” it works fine. Has anybody else seen this problem?
    Paul
  96. CD

    Wrote at 2008-07-16 00:31 UTC using Firefox 3.0 on Windows Vista:

    It’s stopped working…. oh no!

    It claims that an mp4 file was found, but it was unable to download. Have the Beeb foiled the downloader again?!
  97. Mike Trim

    Wrote at 2008-07-18 20:19 UTC using Firefox 3.0 on Linux:

    Everything I try to download gives the “Unable to parse the metadata for this programme” error. Looks like the BBC have (re)moved the metadata XML files.
  98. Paul Battley

    Wrote at 2008-07-19 13:56 UTC using Firefox 3.0.1 on Linux:

    Mike, that doesn’t seem to be the case universally: b0079fdc works fine, for example.

    The quality of the metadata file is pretty poor, though: the XML is frequently invalid. I suspect it’s generated via sinful string interpolation!

    Which particular programmes give the error?
  99. Mike Trim

    Wrote at 2008-07-20 20:33 UTC using Firefox 3.0 on Linux:

    An example is b00cp26p, but it seems like most of the recently added programmes are affected. Note that these are 404’ing rather than just containing incorrectly formatted data.
  100. Mark

    Wrote at 2008-07-21 14:54 UTC using Firefox 3.0.1 on Linux:

    iplayer download not working: Ive been downloading using iplayer-dl almost since the code appeared. Thanks loads B.T.W, its great.
    This week I cant download top gear, I have downloaded all episodes so far this series.

    I run in place and use history (cause I’m lazy) so the command line worked before

    ruby -I ../iplayer-dl-0.1.9/lib/ ../iplayer-dl-0.1.9/bin/iplayer-dl http://www.bbc.co.uk/iplayer/episode/b00cq4w4

    Unable to parse the metadata for this programme.
    As a workaround, you can use the -f option to specify a filename manually.
  101. ray d

    Wrote at 2008-07-21 16:36 UTC using Firefox 2.0.0.11 on Windows XP:

    Definately works, downloaded 3 shows quickly & easy. 1 show had a few playback issues but I’ve no idea if that was due to the downloader, the format (mov) or whatever else.
  102. Stuarta

    Wrote at 2008-07-21 19:40 UTC using Firefox 3.0.1 on Windows XP:

    I would just like to say well done on the iplayer downloader for windows, it’s marvellous. But just one niggle. I noticed it downloads as a .mov file. Could you give the option to download as an mp4 file as well please, then I could play it on my XBox 360. I know it works, because I renamed one programs extension to mp4 and the xbox picked it up and let me play it. Thanks in advance if you can.
  103. Robin

    Wrote at 2008-07-22 07:04 UTC using Firefox 3.0.1 on Mac OS X:

    Tried
    iplayer-dl b00cmn1z
    (http://www.bbc.co.uk/iplayer/episode/b00cmn1z)

    Unable to parse the metadata for this programme.

    Same for previous episode and others like Lab Rats… I’m getting this on quite a few programs now. Seems like they may have re-altered their metdata?

    You can still download manually if you specify the -f option – but it is a pain ;-) Any ideas.

    Apologies if this got posted twice in two different areas, computer fell over and not sure if I actually go the first one in….
  104. Paul Battley

    Wrote at 2008-07-22 20:23 UTC using Firefox 3.0.1 on Linux:

    I’ve checked in a fix for the missing metadata issue. I’ll make a release tomorrow.
  105. Jozcoz

    Wrote at 2008-07-23 18:38 UTC using Firefox 3.0.1 on Windows Vista:

    Does the new version of iplayer mean that your new version of the dl is also able to download radio programes?

    I did try this, but it says “a URL was found, but failed to find an MP4”.
  106. ThatGuy

    Wrote at 2008-07-23 19:22 UTC using Safari 525.22 on Mac OS X:

    @Jozcoz – This does not allow radio downloads, the BBC do not allow iPhone/iPods to get access to this from their devices.

    @Paul
    I’ve just checked out the latest version, it seems to sort out the issue of defining file names manually, unfortunately the -S switch now creates a folder like:
    Series Name – Episode Name/Episode_Name.mov

    i.e The Mighty Boosh Series 3 Party was the folder created by iplayer-dl -s b008h3rk [oh look shark ;) ]

    Sorry if you are already aware of this, one cool thing would be allowing us to define a file containing the PID’s to download.
  107. Ste03

    Wrote at 2008-07-23 23:18 UTC using Firefox 3.0.1 on Windows XP:

    i get this like others just tried the latest version still the same :(

    http://img209.imageshack.us/img209/3462/sadjh6.jpg
  108. Ste03

    Wrote at 2008-07-24 00:56 UTC using Firefox 3.0.1 on Windows XP:

    just been looking on the iPlayer website and it will allow me to download top gear episode 3 but not cars cops and criminals, i then tried to play the videos using the iPlayer interface and top gear played but cars cops and criminals didnt and gave me the error message ’ This doesn’t seem to be working, please try again later’ so the message ‘An MP4 URL was found, but the download failed’ is down to a problem with the BBC.

    from ste
  109. cammo

    Wrote at 2008-07-24 07:38 UTC using Firefox 2.0.0.16 on Mac OS X:

    Hi paul

    I am using the GUI with windows XP and am in Australia, does the ipl work outside the UK with an IP address from elsewhere? The error message I get is “an MP4 URL was found, but the download failed”

    ta
    cam
  110. Ste03

    Wrote at 2008-07-24 13:17 UTC using Firefox 3.0.1 on Windows XP:

    you can only use iPlayer in the uk
  111. Thomas Willson

    Wrote at 2008-07-26 00:54 UTC using Safari 525.20 on Mac OS X:

    On Mac OS X Leopard, I am unable to download to a directory with spaces in the name. I am assuming this is a bug. The command I am using is:
    ./iplayer-dl—download-path=”/TV Shows”
    However, if I change the name of the folder to TV_Shows it works.

    Thanks
    Thomas
  112. Paul Battley

    Wrote at 2008-07-26 08:27 UTC using Firefox 3.0.1 on Linux:

    Thomas, that sounds like it might be a bug in Apple’s customised Ruby. I can’t reproduce it on Linux. I’ll have a look at how FileUtils works on one of the Leopard machines at work and see if I can pin down the bug.
  113. Neil Stoker

    Wrote at 2008-07-28 08:33 UTC using Firefox 3.0.1 on Linux:

    I am trying to download the Dr proms and getting download errors.

    [ns@node0 r3]$ iplayer-dl b00cq5lt
    BBC Proms – Prom 13 – Dr Who Prom – Prom 13 – Part 2.mov (Default)
    An MP4 URL was found, but the download failed.
    [ns@node0 r3]$

    and

    [ns@node0 r3]$ iplayer-dl b00cq3vg
    BBC Proms – Prom 13 – Dr Who Prom – Prom 13 – Part 1.mov (Default)
    An MP4 URL was found, but the download failed.
    [ns@node0 r3]$

    I am using Fedora linux 9 and version 243 of your app.
  114. ThatGuy

    Wrote at 2008-07-28 20:52 UTC using Safari 525.22 on Mac OS X:

    @Neil

    Thats not working because its a radio show.
  115. Thomas Willson

    Wrote at 2008-07-30 00:20 UTC using Safari 525.20.1 on Mac OS X:

    Thanks for your help. I have written a bash script that automates your program to download up to ten shows using a UK proxy. It also reattempts to download a show if it returns an error code other than 0. That is available at my website (http://tom-tech.com/iplayer). Might help out some people.

    Also, I am having the same error as Neil with a TV Show.
    http://www.bbc.co.uk/iplayer/episode/b00bv2fz/

    Using proxy 212.241.180.239:81
    War Photography.mov (Default)
    An MP4 URL was found, but the download failed.

    Thanks again,
    Thomas
  116. Hiren Santilal

    Wrote at 2008-07-30 15:17 UTC using Opera 9.51 on Windows Vista:

    I love your gui,its so simple,but make it a bit more bolder and easier to seek it out as it took me quite a long time.and the next update should be to make it even more graphical and have a bot more options like time remaining and downloading more then one file at a time.

    i know its hard to code but theses are just suggestions on how to improve.
  117. Adam

    Wrote at 2008-07-30 20:37 UTC using Internet Explorer 7.0 on Windows Vista:

    Hi Paul, Many thanks for the stuff, i used it a few month ago to get a couple of programmes but now its updated i cannot get anything to work.

    I have now moved away from the ruby/code as it seemed to go over my head with using it, and when i came to the Windows program i was amazed, I have downloaded the .dll files placed them in the same folder as the application, but when i enter the full url, or even the code, it asks me to save it and gives the title and so on, but once i press okay i get the message

    ‘There is no page for this programme.
    This probably means that the programme does not exist’

    Any ideas? Im using vista but have also tried running as Administrator and in compatablity mode for Xp SP2,

    Even different programmes and.. nothing

    Thank You.
  118. Mike Trim

    Wrote at 2008-07-31 00:27 UTC using Firefox 3.0.1 on Linux:

    Adam, the BBC made a change yesterday which broke the script, but Paul has released an updated version (1.7).
  119. Jonathan Sawyer

    Wrote at 2008-07-31 18:59 UTC using Firefox 3.0.1 on Windows XP:

    Hi paul, thanks very much for all the hard work it is well apriciated this end!!!

    I was just wondering whether it was possible to do a similar thing with the new demand five service? Probably not but with my little knowledge of programs I thought it was worth asking!

    Thanks again

    Jonathan
  120. Hiren Santilal

    Wrote at 2008-07-31 19:33 UTC using Firefox 3.0.1 on Windows Vista:

    Btw, Jonathan Sawyer asked if you could do demand five,i think that would be great and maybe you could do 4-on-demand as well which is similer to bbc iplayer
  121. Blake

    Wrote at 2008-08-01 07:37 UTC using Firefox 3.0.1 on Windows XP:

    I just downloaded the Windows GUI but I am currently outside of the UK on vacation. I have a proxy server to connect to but I cannot get the program to connect to it.

    Any help/links would be greatly appreciated. Thanks for the help as I try to catch up on the shows that I have missed while gone. This will be a life saver.

    Thanks
  122. Andy

    Wrote at 2008-08-02 00:15 UTC using Firefox 3.0.1 on Windows XP:

    The Pre-built Windows GUI works great thanks for spending the time developing it.
  123. Jonny7

    Wrote at 2008-08-03 13:34 UTC using Safari 525.20.1 on Mac OS X:

    I just tried downloading the latest episode of ‘The Tudors’ using the 0.1.11 version but I get the message ‘An MP4 URL was found, but the download failed.’.

    Anyone any ideas why?
  124. Mark Healey

    Wrote at 2008-08-04 08:55 UTC using Firefox 3.0 on Linux:

    I get exactly the same issue with The Tudors Episode 1, b00cvsl8, but other downloads still work, for example b00cyvm5, so it might just have not been converted yet?
  125. Paul Coates

    Wrote at 2008-08-04 14:06 UTC using Firefox 2.0.0.16 on Linux:

    Jonny7: My guest is the age check the iPlayer site asks before you can play it due to the adult content is breaking the script.
  126. Jonathan Sawyer

    Wrote at 2008-08-04 16:32 UTC using Firefox 3.0.1 on Windows XP:

    For Jonny7:

    My geuss is that the iplayer does not have a download link for it. I had the same problem a few weeks ago with Top Gear and the only reason I can come up is that there was no download link undeneath the embedded player on the site. Wait a few days and there will!!!!
  127. Stephen

    Wrote at 2008-08-05 08:06 UTC using Opera 9.51 on Windows XP:

    Just ran ipdl.exe (v1.7) on WinXP SP2. The usual window doesn’t appear but the process is visible in the task list.
    It appears to constantly use around 50% CPU. Analysing with Process Monitor reveals numerous messages like the one below:

    “26 09:01:40.6410549 ipdl.exe 6000 CreateFile \eee\eee.ÿà NAME COLLISION Desired Access: Read Data/List Directory, Synchronize, Disposition: Create, Options: Directory, Synchronous IO Non-Alert, Attributes: N, ShareMode: Read, Write, AllocationSize: 0”

    I had to kill the ipdl.exe process.
  128. chris murraysie

    Wrote at 2008-08-06 22:08 UTC using Opera 9.51 on Windows XP:

    Neat program Paul – cheers. I also intially thought yes the other channel on demand services would be nice to tap into – BUT when i tried ITV catchup, and i presume channel4 and five you get loads of damn adverts, the whole reason i now avoid watching straightforward TV.
    So Iplayer stuff will do for me.
  129. Thomas Willson

    Wrote at 2008-08-07 00:45 UTC using Safari 525.20.1 on Mac OS X:

    I too am having that problem with the Tudors Episode 1.
    The PID is b00cvsl8
    Help would be greatly appreciated!
  130. maigpl2

    Wrote at 2008-08-13 09:38 UTC using Firefox 2.0.0.16 on Mac OS X:

    hi,
    “An MP4 URL was found, but the download failed.”
    thats what I am getting today,
    anyone suffers the same?
    beeb downloader doesn’t do the job :(
    help
    cheers
  131. Stuarta

    Wrote at 2008-08-13 12:08 UTC using Firefox 3.0.1 on Windows XP:

    Yeah I am getting the exact same message when trying to download an episode of Dr. Who that was on BBC 3 Last night. Anyone have any suggestions why this has happened. Or is it because the BBC haven’t created an MP4 for it yet?
  132. Bob

    Wrote at 2008-08-14 09:22 UTC using Safari 525.20.1 on Mac OS X:

    “An MP4 URL was found, but the download failed.”

    Can someone confirm this means that the programme is just not been made ready by the BBC for iPhone download?
  133. Kronalias

    Wrote at 2008-08-14 22:00 UTC using Firefox 2.0.0.16 on Windows XP:

    Hi Paul

    I’m trying to send you a post which includes chunks of html – and the parser is interpreting these – which is exactly what I don’t want!

    The only way I can think of getting my post to you is using a url to my website, where I’ve loaded a text file.

    Yer tis:
    http://beebotron.timeforabrew.com/topaul20080814.txt

    Please copy the url and paste into your browser (can’t believe I just wrote that, apologies, I’ve just taught granny about eggsucking)

    If you click this you should see my (rather longish) post, including the raw html.

    Hopefully you’ll get this! If not could you please post back on this board, or email me at kronaliasgmailcom?

    Cheers, and many thanks for your work,

    Kronalias
  134. Kronalias

    Wrote at 2008-08-14 22:04 UTC using Firefox 2.0.0.16 on Windows XP:

    Dammit, the parser sunk my email addy:
    It’s
    kronalias
    at
    gmail
    dot
    com

    Let’s hope that one gets to the board!
  135. maigpl2

    Wrote at 2008-08-15 12:55 UTC using Firefox 2.0.0.16 on Mac OS X:

    it’s working again
    at least http://www.bbc.co.uk/iplayer/episode/b00d23pj/ is.
  136. maigpl2

    Wrote at 2008-08-15 12:59 UTC using Firefox 2.0.0.16 on Mac OS X:

    most of shows when I try to download says
    “here is no page for this programme.
    This probably means that the programme does not exist.”
    shame
  137. Paul Battley

    Wrote at 2008-08-15 15:37 UTC using Firefox 3.0.1 on Linux:

    maigpl2, are those radio programmes? Those definitely won’t work at the moment, though the error message isn’t as helpful as it could be. If not, what are the PIDs?
  138. Eaine

    Wrote at 2008-08-16 16:10 UTC using Firefox 3.0.1 on Windows XP:

    Hi,

    I would like to use your program and I downloaded the Pre Built Wndows GUI and the dll’s. My proplem is the messagethat states I am outwith the ‘geolocation’. Any update advice for this problem greatly appreciated. Thank you for getting this to work for some. Fantastic!!
  139. Matt

    Wrote at 2008-08-17 22:48 UTC using Firefox 3.0.1 on Windows XP:

    Hi, is there a way of downloading the videos embedded in news/sport pages on the BBC website? I can’t see a way to get a valid url to use in your program. Apologies if I’m missing something really obvious!
  140. Paul Battley

    Wrote at 2008-08-18 14:15 UTC using Firefox 3.0.1 on Linux:

    Matt, there isn’t, I’m afraid. Those pages use a different player that only has Flash streaming. My technique won’t work.
  141. Colin Rickman

    Wrote at 2008-08-18 20:13 UTC using Firefox 3.0.1 on Windows Vista:

    Hi,

    Great program. I’ve been using it for a few weeks now and updating whenever a new version is released. Using v1.7 in vista and when I type in the pid and click download the program just disappears (no warning or error window). This version was working ok last week.

    Any ideas?
  142. Jonathan Sawyer

    Wrote at 2008-08-18 21:59 UTC using Firefox 3.0.1 on Windows XP:

    Hi,
    Tried to download some programs and got “An MP4 URL was found, but the download failed” think iplayer may have changed

    jonathan
  143. Hiren

    Wrote at 2008-08-19 09:33 UTC using Firefox 3.0.1 on Windows Vista:

    Now BBC offers high quality as well as normal quality. Is there a way i can download high quality because both the url’s are the same.
  144. Kay Chan

    Wrote at 2008-08-19 10:36 UTC using Firefox 3.0.1 on Windows Vista:

    Hi Paul,
    I think your script is wonderful & brilliant, so easy to use like a charm!!

    Excellent work !!

    Kay
  145. Brad

    Wrote at 2008-08-19 11:53 UTC using Firefox 3.0.1 on Windows XP:

    Can’t wait for you to add the high quality version… keep up the good work!
  146. Kronalias

    Wrote at 2008-08-19 21:10 UTC using Firefox 2.0.0.16 on Windows XP:

    Hi Paul!

    THIS, WITH APOLOGIES FOR SHOUTING, IS ABOUT AUDIO, NOT ViDeO, ThaT’s Better, I can hear now, so if you’re not into radio please don’t bother with this lot.

    Thanks for the email – that was gold dust!

    The link on my previous email was so adrift I, as it were, cast it adrift.

    Let me start again, with the benefit of your copious knowledge (that’s a grovel, I can do that well…). Actually the ‘copious knowledge’ is not a grovel, I’m genuinely gobsmacked at what you’ve achieved. My hat, Sir, is elevated to you.

    I’ve had a few days sorting my own website out – hence the holding email to you – and I’ve been playing around with what you gave me and your source files.

    I’ve been scared of making any contact with the Beeb, but James Cridland seems a decent sort of bloke, and I might just make contact through Backstage.

    Enough of my drivel, back to the purpose of this post…

    I think, with your help and copious dumps from WireShark (brilliant program, although I’ve had difficulties applying the right filters to get rid of all the other bits I have chattering around the house ethernet), got this which may be of help to somebody.

    I’m posting this here because:
    (a) someone might make use of it
    (b) someone might make use of it and hack your script to cope with Radio (might even be me, but I’d email you privately on this one – the credit and any publication on the net, Sir, will be all yours)
    (c) it’s wet in Wales again (nothing new there, then)

    Anyway, here it is…

    The script is in my rather amateuristic PHP, but that’s all I have to offer!

    It’s in three flavours, all hard coded for Radio 2, Alex Lester on 19 Aug 08. If you try this script after 26 Aug (i.e. 7 days hence, as the Beeb supply stuff for a week) it won’t work. Easy to hack though for argv1 etc rather than a hard coded url.

    It also gives you, errm, nothing. Other than the url. Which, as you pointed out in your email to me, is of little use unless you use a Flash player. I’m working on this. But I’ve also been working on curries for the last twenty odd years, and still haven’t produced one to compare with my local takeaway. So don’t hold your breath.

    Here we go:

    The php url:
    http://beebotron.timeforabrew.com/get_rtmp_audio_url.php

    The same thing but you can read it:
    http://beebotron.timeforabrew.com/get_rtmp_audio_url.txt

    The php quick ‘n’ dirty text (same as the last link):
    ========================
  147. Kronalias

    Wrote at 2008-08-19 21:17 UTC using Firefox 2.0.0.16 on Windows XP:

    ========================

    Sod it, the parser’s caught me again!

    I was trying to put it the plain text here, but it’s not coming out on the preview.

    Oh well, just download it from the text link in the previous post.

    ========================

    Right, that’s it for now, as Arnie said, “I’ll be back”....

    Cheers, and thanks again, Kronalias
  148. Brian

    Wrote at 2008-08-20 17:48 UTC using Firefox 3.0.1 on Windows Vista:

    Thanks for this great app!

    Just one request…firewall support :)

Leave a comment

Please read the comment guidelines before posting. Comments are Gravatar-enabled. Your email address will not be published.

To prove that you’re human, type human in the Bot check field.