Andy’s Blog

Just another weblog

Should the Linux community reverse enginner iPlayer and 4OD?

If you live in the UK you are probably well aware of the BBC’s iPlayer[1] and channel 4’s 4OD[2] program.

These are both pieces of (proprietary) software that allows (windows using) people to download TV programs and watch them on their PC.

Linux users have been intentionally excluded from this by Channel 4 and the BBC, despite the BBC’s obligations under it’s charter[3], requests from it’s regulator (the BBC Trust)[4], and protests from it’s license fee payers[5]. The BBC has stated in a podcast[6] that they will not use open source as open source is “insecure” (of course that could have been easily tampered with as a cracker could have broken into their servers as they run open source code[7] on many of them and therefore must be horribly insecure).

So as the BBC have admitted they will not provide us access to the content we pay for (I pay the same T.V. License fee as anyone else!) then maybe we should consider doing it ourselves

If we sit idle it will be almost impossible to introduce people to Linux as Microsoft now have a whole supply of T.V. to go with there OS that we can not compete with. Even though Microsoft never even produced the content in the first place, in fact members of the Free Software community even payed for the production of some of it.

The Open Source and Free Software communities can write good quality code. Linux seems to be more secure, faster and stable than it’s competitors, GCC is one of the most widely used C Compilers and Firefox is increasing it’s market share rapidly, not to mention the Apache webserver (which the BBC [7] and Channel4 [11] both use). So should we write a replacement for 4OD and iPlayer?

To begin writing a replacement we would need to know how to speak with the Channel4 and BBC servers. We also need to know how to read what they send us. To do this we would need to reverse engineer the current programs to determine how they communicate and re-implement it in our own application.

Are choices are few but here are some of them:

  1. Sit back and do nothing
  2. Implement and application similar to iPlayer and 4OD (including DRM) but using other formats and communication protocols
  3. As number 2 only minus the DRM.
  4. As number 2 only reverse engineer iPlayer and 4OD so we can use the same formats and protocols.
  5. Pursue Political options (write to MP’s, MEP’s, the Prime Minister etc.)
  6. Pursue Legal options, the BBC has requirements in it’s charter, we could continue fighting for the BBC Trust and Ofcom to take action or ask the E.U. to intervene in the matter.

If we go for option 1 desktop Linux will be dead (at least in the U.K.) very shortly.

If we go for option 2 we would have a useful application but there is no guarantee that either the BBC or Channel 4 would use it. After all Firefox can access webpages fine but the BBC blocked it from iPlayer.

If we go for option 3 we would have the same problem as option 2 with the added problem that the BBC is s huge fan of DRM and will refuse to consider anything that doesn’t use it (despite it being useless and the one they selected being cracked before the BBC released iPlayer[8], at least we know the BBC’s use of DRM has nothing to do with protecting content then).

If we go for option 4 there would be little that the BBC or Channel 4 could do. We wouldn’t need their help provided we can find enough people with the skills to reverse engineer binaries. There may however be legal issues, perhaps less with iPlayer as the charter imposes limits on when the BBC can actually sue people. Any lawyers out there want to comment on this option?

Option 5 seems good on the face of it, but as there is no election on the horizon any more MPs will no doubt fail to act. This was also tried before and the Prime Minister himself refused to provide any reassurance to the 16 thousand people who signed a petition to number 10[9].

Option 6, this is still a good option. But the E.U. have taken years to bring a judgment against Microsoft for actions it committed years ago and if we wait this long again then it will already be too late. Ofcom and the BBC Trust have said they consider Platform Neutrality to be important but have refused to actually do anything about the BBC’s refusal to comply. (it would appear compliance with regulators is optional).

If done correctly Options 2, 3, and 4 could all be done at the same time. After all if we place the code for protocol communication in a separate library or module then we could simply attach entries for iPlayer and 4OD once it’s been reverse engineered and the legal issues clarified. Again for the DRM code it would be in a separate module which could be removed to generate option 3, it would be present in option 2, and it would contain the reverse engineered formats for option 4.

One question remains, who should fund this venture and who provides resources? Let’s be straight reverse engineering is possible but difficult. (Although the Samba guys managed to reverse engineer Microsoft’s file sharing protocol reasonably well.) We would also need some kind of legal protection. Maybe the FSF would be willing to provide that?

Of course producing options 2 and 3 would be easier. And if we can make it run on all platforms easily we would have a strong case for forcing the BBC at least into replacing their current code (and hopefully returning the money they wasted back to us the license fee payer).

Some other questions:

  1. What programming language? Python, Java, C?
  2. What formats and protocols? Bittorrent, TV-Anytime, OpenIPMP, Java DReaM?
  3. FUNDING (again)

Why have the desktop Linux vendors done nothing? Do they consider the U.K. completely unimportant? I would have at least expected Canonical (of Ubuntu fame) to have stood up for us, does the U.K. not matter to them anymore? How about it Jono, will Canonical stand up and help?

Feel free to comment below.


(I am not responsible for the content of external links)


November 4, 2007 - Posted by | Computing, Free Software, Software


  1. I can’t see how one application on the web such as iplayer would ruin desktop Linux. To be honest I couldn’t give a monkeys about BBC IPlayer, the management has no idea in the first place, and I refuse to use DRM anyway. Anyway wasn’t Adobe producing a flash version?

    Comment by Lee Tambiah | November 5, 2007 | Reply

  2. There’s no guarantee the flash version would even run on Linux. Adobe don’t seem to have Linux versions that support non 32-bit x86. The BBC suggested it would be lower quality video as well.

    I would have expected the hours of T.V. available exclusively on Windows would make some level of difference.
    You really think nobody watches TV on their computer?

    Comment by computerperson | November 5, 2007 | Reply

  3. I think that one of the main reasons that they aren’t providing Linux support is that the applications are buggy as hell on Windows.

    I installed 4oD two days ago on my friends PC, he has pretty good hardware and I had already installed loads of codecs.

    We loaded up the program, registered, selected an episode of PeepShow and… it crashed. Tried again and… it crashed. No reason given, just bombed out of the application.

    I find the BBCs comments ludicrous especially as they are currently developing an open source Audio/Video Codec and I’m sure I have seen a page on their site where they praise each any every bit of Open Source Software they use.

    The 4oD app is basically a web browser, all that would need to be done is to filter all web requests through a proxy and see what server the software connects to, then use Firefox/Opera whatever to login/download from the site.

    The iPlayer site does all three checks (Windows XP, IE 6 and Media Player 10) from the USER_AGENT string sent by the browser, if you used wget to download the url in linux and used the commend to change User Agent string to whatever IE7 uses now, the site would have no chance of telling the difference.

    For playback, use mplayer with the codecs that are installed in windows by iPlayer and 4oD, it supports Windows DLLs, so we’re laughing.

    Linux is already that powerful that we don’t need them to create an application, we’ve got thousands already.

    Peter Johnson

    Comment by Peter Johnson | November 12, 2007 | Reply

  4. Hi, just picked up on this thread … The BBC (and others) claim that they are not supporting other OSes because sufficient DRM provisions cannot be met (in the case of Linux, there is no DRM software available).

    One easy solution is to create an ‘open-drm’ lol. Then at least they cannot say that there is no DRM software available for linux.

    Then of course being that the drm software is ‘open’ we could all see how it worked and then just bypass if we needed to.

    would be nice to watch BBC on my Linux box 🙂

    Just a thought.

    Mike 🙂

    *re: Peter Johnson’s Message : How do I install the codecs from my windows box in to kmplayer/mplayer ?

    Comment by Mike Smith | December 3, 2007 | Reply

  5. ^I remember hearing that Sun had devised an open drm system, it worked on encryption files and providing decryption keys.

    One soultion (as you said) would be a linux media player with inbuilt DRM, available only in binary, if less than a critical mass hacked it I can see content publishers providing their wares for linux.

    In the meantime there´s always vmware / another computer.


    Comment by Rob Brew | February 23, 2008 | Reply

  6. >>> Then of course being that the drm software is ‘open’ we could all see how it worked and then just bypass if we needed to.

    I’d have thought that it would have some sort of public key cryptography involved. You can see how a transparently encased lock works but that doesn’t [necessarily] mean you can open it.

    No I don’t have any pseudo-code …

    Comment by pbhj | February 28, 2008 | Reply

  7. Yeah, the problem is not the software it’s the keys. I’m sure it’s relatively straightforward to reverse engineer the I-player or 4od code. Decompilation is technically illegal but generally the law turns a blind eye as long as it can be show to aid interoperability and the linux community has lots of people who thrive on those challenges.

    Making a fairly tough linux DRM is the only way they’re going to let us connect. TBH I don’t know if cloning their software would even give you a tough DRM in the first place though and there’s the IP of their tech suppliers to consider. I’m guessing the 4od and i-player drm is as reliant on windoze to keep the keys safe and doesn’t use the TPM or any hardware yet, tho I might be wrong.

    The idea of an open DRM mooted above is interesting, if seemingly self contradictory! I think an open system might have to use hardware in order to be considered trustworthy tho. In Linux you can’t trust the kernel to keep the decryption keys private. You can’t trust win32 either but TPM+win64 is quite unfuckable DRM and as that becomes available you can bet the content providers will start insisting on it.

    Funny isn’t it, how DRM seems to be dying out in music but becoming ubiquitous with video. Spose video’s never been as easy as audio to copy so less people had the kit & knowledge to do it before the screws tightened, hmm.

    Comment by Roger Heathcote | April 17, 2008 | Reply

  8. I agree totally. We should do something to allow us to watch 4OD, of-course iPlayer have their flash player however this is buggy. I can’t fast forward the video or it just starts from the beginning.

    I would like to be able to watch 4OD videos soon. Setup a website and ask for donations / help, i’m sure there is help out there somewhere :).


    Comment by Jake | April 29, 2008 | Reply

  9. Theres another obvious reason why they arn’t offering it linux, same goes for 4oD.

    Linux users are the exact type of people that distribute pirated material over p2p networks.

    I.e. young, geeky, men. Am i rite?

    Comment by Anonymous | May 1, 2008 | Reply

  10. If you packet sniff the communication. Then you preety much know the syntax it uses. 4od just loads IE inside its app. So its easy just to fake the User-Agent and add the extra lines in the header.

    Comment by zerofool2005 | May 7, 2008 | Reply

  11. No Mr. Anonymous. Linux users install rootkits on, or own, the BBC servers. The pirates are the ones running windows (a pirated version) and use word (a pirated version) along with photoshop (a pirated version). Pirates lack the brain power needed to run linux, open office and the gimp. Linux users do not pirate music either: most of it is being distributed in the lower quality, patent-crippled mp3 format. Linux users, however, have a streaming server somewhere near a backbone, and distribute freeview in vorbis+theora.ogg

    Moreover, running the damn thing under wine must be possible.

    Comment by voraistos | May 12, 2008 | Reply

  12. Surely it is a challenge any self-respecting member of the ‘Community’ is going to tackle?
    The free / open source stuff I’ve downloaded for my Linux
    boxes, (device drivers, applications, etc.) has worked a treat, never crashes, (unlike my XP at work!).
    The quality of code is the best, and done for little if no financial reward, just to do a good job, or prove a point.

    In the end it’s all just 0s and 1s, but in a certain order…

    Comment by dave massingham | June 4, 2008 | Reply

  13. “No Mr. Anonymous. Linux users install rootkits on, or own, the BBC servers.”

    This Linux user read your comment and thought “what an idiot”.

    Comment by ed | June 22, 2008 | Reply

  14. I’ve noticed that both iPlayer and 4OD use khost.exe produced by Kontiki specifically for video and program sharing. I realise that I may not have done my research properly and I’m just talking utter rubbish, but surely it would be easier to reverse engineer the application used by both.

    Comment by Anonymous | September 23, 2008 | Reply

  15. Here’s a solution to the Iplayer issue for now:-

    I think it’s brilliant, they produce a DRM free source for the Iphone/touch that doesn’t support DRM but not for the Linux community.

    Comment by will | November 30, 2008 | Reply

  16. This may be an aside and only works for BBC’s iplayer, but I use get_iplayer from

    Its a perl script and there appears to be no GUI for it (yet) but it works a treat. The video is passable but the radio is great.

    Comment by Raj | April 15, 2009 | Reply

  17. get_iplayer works with BBC iplayer and ITV Player as well a with HULU.

    From BBC you can download non-DRM MOV files(iphone version) or 3gP files Nokia Version or if you have rtmpdump and ffmpeg installed you can even get 720p mp4 files which is a better resolution than the WMV Files that are being downloaded from the iPlayer App. plus they are DRM free.

    Comment by Sam Albuquerque | April 28, 2009 | Reply

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

%d bloggers like this: