Dynaverse.net
Off Topic => Holodeck => Topic started by: Bonk on December 20, 2009, 04:33:29 pm
-
BBC Life (http://www.bbc.co.uk/programmes/b00lbpcy). 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
-
a small sample of what I have to sift through to find the files/streams:
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.
-
Looks like it's on Akamai servers somewhere... makes sense.
-
Getting closer:
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:
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:
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.
-
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.
-
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.
-
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.