Topic: BBC Life?  (Read 4155 times)

0 Members and 1 Guest are viewing this topic.

Offline Bonk

  • Commodore
  • *
  • Posts: 13298
  • You don't have to live like a refugee.
BBC Life?
« on: December 20, 2009, 04:33:29 pm »
BBC Life. Is there any way to get it in Canada short of decompiling their flash player? (already done - huge application, must be hundreds of thousands of lines of code - gonna take a while to sift through...)

In the meantime, does anyone know of a way to get this series online in Canada? (Or anywhere outside the UK? - Sheesh, I thought Quebec was bad for cultural protectionism - this takes the cake.)

Supposedly the discovery channel in Canada has it, but all I can find is this horrifically lame website:
http://www.discoverychannel.ca/life/
Boo!

So anyone wanna help me sift through the code to reconstruct the actual urls to their network streams?
Here is their swf player:
http://www.bbc.co.uk/emp/10player.swf

Offline Bonk

  • Commodore
  • *
  • Posts: 13298
  • You don't have to live like a refugee.
Re: BBC Life?
« Reply #1 on: December 20, 2009, 04:41:44 pm »
a small sample of what I have to sift through to find the files/streams:
Code: [Select]
this._playlist.setTitle(mx.xpath.XPathAPI.selectSingleNode(this.playlistXml.__get__xml().firstChild, "/playlist/title").firstChild.nodeValue);
Isn't object-oriented programming grand? (Total sarcasm - it provides the least readable code in the universe - but of course that is all they teach now, oo java - blecch - totally unmaintainable and total bloat...)

I despise object oriented programming. Yet somehow everyone sees it as some kind of panacea that automagically makes all of your code wonderful. Well no, it makes it a snaking unreadable mess, that is what it does.

Offline Bonk

  • Commodore
  • *
  • Posts: 13298
  • You don't have to live like a refugee.
Re: BBC Life?
« Reply #2 on: December 20, 2009, 05:05:42 pm »
Looks like it's on Akamai servers somewhere... makes sense.

Offline Bonk

  • Commodore
  • *
  • Posts: 13298
  • You don't have to live like a refugee.
Re: BBC Life?
« Reply #3 on: December 20, 2009, 05:29:31 pm »
Getting closer:
Code: [Select]
    function buildMediaPath()
    {
        var __reg2 = this.fmsConnection.__get__connection().__get__stream().getIdentifier();
        var __reg3 = this.fmsConnection.__get__connection().__get__stream().getAuth();
        if (__reg3 != undefined)
        {
            __reg2 = __reg2 + "?auth=" + __reg3 + "&aifp=v001";
        }
        return __reg2;
    }

 :soap:

See how object oriented programming is perfect for obfuscation? Kind of at odds with readability don't you think?

It just makes no sense to me to write 4000 two line functions spread over hundreds of individual files when one or two would do. The OP serverkit suffers from the same affliction.

Sure I can see the application of object oriented programming in huge projects, but not as four zillion two line individually meaningless functions.

Here's a classic example:
Code: [Select]
    function AkamaiService()
    {
        super();
    }

Oh yes, it is immediately obvious what that does, oh yes.  ::)

This, however, is getting me much closer to watching an episode of Life:
Code: [Select]
    function queueMedia(connection)
    {
        ++this._connectionAttempts;
        this._mediaPath = null;
        this._sourceStream = bbc.emp.playlist.item.connection.Stream(connection).clone();
        var __reg4 = this._sourceStream.getAuth();
        if (__reg4)
        {
            var __reg2 = this._sourceStream.getIdentifier();
            var __reg3 = __reg2.indexOf(":");
            var __reg5 = __reg3 ? __reg2.substring(__reg3 + 1) : __reg2;
            this._sourceStream.setQueryString("auth=" + __reg4 + "&aifp=v001&slist=" + __reg5);
        }
        this._identXML = new bbc.emp.utils.XMLLoader();
        this._identXML.load("http://" + this._sourceStream.getServer() + "/fcs/ident", "fcs");
        this._identXML.addEventListener(bbc.emp.utils.XMLLoader.XML_LOADED, this);
        this._identXML.addEventListener(bbc.emp.error.ErrorEvent.ON_ERROR, this);
    }

Q: How many functions does it take to build a url?
A: Zero if you are a normal web developer. Thousands if you are the BBC engaged in security through obscurity.

Offline Dash Jones

  • Sub-Commander of the Dark Side
  • Captain
  • *
  • Posts: 6477
  • Gender: Male
Re: BBC Life?
« Reply #4 on: December 20, 2009, 05:39:08 pm »
Couldn't you just spam a fake IP as a UK IP and get it that way?  I think it would be restrictive as preventing those outside the UK from access from it, so I would think an IP reconfigure would work.  Mind you I haven't tried, just a thought though as it works for other things as well.
"All hominins are hominids, but not all hominids are hominins."


"Is this a Christian perspective?

Now where in the Bible does it say if someone does something stupid you should shoot them in the face?"

-------

We have whale farms in Jersey.   They're called McDonald's.

There is no "I" in team. There are two "I"s in Vin Diesel. screw you, team.

Offline Bonk

  • Commodore
  • *
  • Posts: 13298
  • You don't have to live like a refugee.
Re: BBC Life?
« Reply #5 on: December 20, 2009, 05:44:29 pm »
Ya, the thought crossed my mind. But a spoofing solution to connect to an rtmp stream on Akamai servers would be a complicated project. (if possible at all)

Proxies crossed my mind as well, but most can barely manage to serve webpages let alone hd video.

So I am decompiling the BBC iPlayer (shouldn't Apple have something to say about that name? - I think they did actually... anyway)

I just thought of an easier solution though, instead of rebuilding the network stream urls from the obfuscated code, I might be able to just dig around and disable the regional restriction implemented (in the flash app?) then run the swf locally and feed it BBC video urls as I see fit. Hmm yes that might be easier.

Offline knightstorm

  • His Imperial Highness, Norton II, Emperor of the United States and Protector of Mexico
  • Lt. Commander
  • *
  • Posts: 2106
Re: BBC Life?
« Reply #6 on: December 20, 2009, 06:04:45 pm »
So I am decompiling the BBC iPlayer (shouldn't Apple have something to say about that name? - I think they did actually... anyway)


Apple only sends cease and desist letters to small open source groups that have no hope of matching Apple's legal department in court.