UEFA is being cheated by NOS

2008-06-17

The Dutch like it cheap. We do not like rules. That's just the way we are. The people at NOS are no different. They have a contract with UEFA (or so they say) which requires them to broadcast the games of the European Championship only in DRM format.
NOS is using this as an excuse to pendel Microsoft malware.

Well, guess what? They also broadcast it without DRM. The stream is a proprietary protocol, but it is not encrypted. You can even play it under Linux.
We call this 'van twee walletjes eten' (eating from two dykes) or 'pappen en nathouden'.

Finding this out is not easy. You have to look in the code of the broadcasting webpage. But it's possible. UEFA, you have been cheated. Red card for the Dutch, I guess.

For everybody else: happy viewing!

Some of these streams work from Dutch soil when games are being broadcast:
Stream 1
Stream 2
Stream 3

I wonder if Plasterk knows he has been propagating the lies of NOS to the Dutch parliament.

You can congratulate the NOS here.
Or tell the minister here.

Comments

Hardly hurting pirates

Ack! Or even better, AAAAAAAAAAAAAAAAAAAAACCKK!!

Anyone who seriously wants to pirate the streams can do it easily. They lock us down AND ACCOMPLISH NOTHING! THEY AREN'T DOING ANYTHING AGAINST PIRATES AT ALL!

Silverlight's not the problem

Silverlight is merely a wrapper for the WMV streams. Silverlight (XAML and a subset of the CLI) is a lot more open than flash, and there is no open standard that accomplishes the same thing. One of the advantages of XAML, being plaintext is that I found out in 2 minutes what the URLs of the streams were, and that I could play it fine on my linux machine. It took me half an hour to figure out you can only request the stream if you also requested the Silverlight XAML file in the last couple of minutes, and if the UEFA is happy with that level of DRM I can't really blame the NOS.

I think the NOS and maybe Plasterk as well know they're lying about the DRM, they want to keep UEFA happy, but at the same time they know it would be very hard to implement the DRM without problems on the consumer side.

The moment is not yet here for Plasterk to speak out against DRM, I'm afraid things will get worse before they get better. The public doesn't understand, the media companies can pretend not to understand, and most importantly: the technology that effectively breaks DRM is not yet ready and distributed enough. DRM is technologically impossible, but it can go a long way if it's hard enough for people to work around it. And since 95% of the dutch people are still using a standard ("vanilla") Windows OS, it's pretty hard for people to work around the DRM. It's very hard for proprietary programs to allow users to circumvent DRM, so the good stuff has to come from us FLOSS people.

P2P real time video, screen and audio grabbers for DRM-protected movies, extremely easy to use and safe P2P networks, faster internet connections (upload), if those things are there things will get better, the impossibility of DRM will became clear to a much larger group of people, and then we can outlaw DRM.

Tips please

Since today the nondrm stream is not useable anymore. It stopped working during the first half of Sweden against Russia. Before that it worked the whole week.

Can you put up tips on how you got the stream working?

how to get the stream working

The http://ek2008.nos.nl/live/ page loads another page in an iframe, with some random keys for "security". The URL for this page is something like http://ek2008.crossmediaventures.com/1wedstrijd/default.asp?value=digits&hash=foo&crypt=bar&digest=blah.

If you look at the source of this frame, on line 6 a javascript file is loaded, again with the keys, this URL looks like this: http://ek2008.crossmediaventures.com/1wedstrijd/js/Default_html.js.asp?value=digits&hash=foo&crypt=bar&digest=blah

This javascript file document.write()s a link to the silverlight (XAML) configuration file, again with the keys:
Page.xaml.asp?value=digits&hash=foo&crypt=bar&digest=blah

In this file is a link to the playlist file, but you already found that one.

The trick with the stream is that if you request the stream within a couple of minutes since you last requested the Page.xaml.asp file, you get a nice DRM-free video. If there was no request (and maybe there is also a match for the keys in the URL) for the xaml file from your IP, they do something to your stream that makes it garbage.

The playlist URLs do not contain any codes, so it should be enough to just request the whole silverlight page, your browser doesn't know how to interpret the XAML, but that's fine, if you simply downloaded the file the streams get unlocked.

howto

The stream only works if there has been a request to the Page.xaml.asp file, possibly also checking some keys (hashes) encoded in the URL.

The oage has an iframe, which loads a javascript file, which loads a XAML file, which contains the URL to the asx playlists.

The mms streams in the playlist are "protected" because they give a garbage stream unless there has been a request to the page.xaml file in the last couple of minutes. So, if the stream stops working, just refresh the page, that should make the browser request the xaml file again, and then the stream works again.