Browsing Posts in Free Speech / Patents

Lately my toyingaround with media centers has created some opportunities for commercial work in this area, which has been a pleasant change. As a result of this I’ve formed Noisy Media, a company specialising in the development of media centre apps for systems such as Boxee as well as the creation of customised media applications using XBMC (and similar) as a base.

Whilst I don’t expect this venture to ever be huge, I can see the market growing hugely in the future as products such as Google TV (Something I will be looking at VERY closely) and the Boxee Box are released and begin bringing streaming Video on Demand to the loungeroom. Given this is something I have a true passion for, the ability to turn work in this area into something profitable is very appealing, and exciting.

A few months ago I switched from using the standard mythfrontend to Boxee, a web enhanced version of the popular XBMC project. Now Boxee has a LOT of potential and the upcoming Boxee Box looks very promising, but its fantastic web capabilities are let down here in Australia as things such as Hulu and Netflix streaming are not available here.

What we do have though is a national broadcaster with a reasonably good online facility. The ABCs iView has been around for some time and has a really great selection of current programs available on it. Sounds like the perfect candidate for a Boxee app to me.

So with the help of Andy Botting and using Jeremy’s Vissers Python iView download app for initial guidance, I put together a Boxee app for watching iView programs fullscreen. For those wishing to try it out, just add the following repository within Boxee:http://noisymime.org/boxee

Its mostly feature complete although there are a few things that still need to be added. If you have any suggestions or find a bug either leave a comment or put in a ticket at http://code.google.com/p/xbmc-boxee-iview/issues/list (A Google code site by Andy that I am storing this project at)

So that’s the short version of the story. Along the way however there has been a few hiccups and I want to say something about what the ABC (and more recently the BBC) have done to ‘protect’ their content.

The ABC have enabled a function called SWF Verification on their RTMP stream. This is something that Adobe offer on top of their RTMP products despite the fact that they omitted it from the public RTMP spec. That wouldn’t be so bad, except that they are now going after open source products that implement this, threatening them with cease and desists. Going slightly technical for a minute, SWF Verification is NOT a real protection system. It does not encrypt the content being sent nor does it actually prevent people copying it. The system works by requesting a ‘ping’ every 60-90 seconds. If the player can’t provide the correct response (Which is made up of things such as the date and time and the phrase “Genuine Adobe Flash Player 001″) then the server stops the streaming. Hardly high tech stuff.

In my opinion the ABC has made a huge mistake in enabling this as it achieves nothing in stopping piracy or restricting the service to a certain platform and serves only to annoy and frustrate the audience. There is a patch available at http://code.google.com/p/xbmc-boxee-iview that allows Boxee to read these streams directly, however until such time as this is included in Boxee/XBMC mainline (Watch this space: http://trac.xbmc.org/ticket/8971) or the ABC come to their senses as disable this anti-feature, this Boxee app will use the flash interface instead (boo!)

So that’s it. Hope the app is useful to people and, as stated above, if there are any problems, please let me know.

[EDIT]
I should’ve mentioned this originally, Andy and I did actually contact the iView team at the ABC regarding SWF verification. They responded with the following:

Thanks for contacting us re-Boxee. We agree that it’s a great platform and ultimately appropriate for iView iteration. Currently we’re working out our priorities this year for our small iView team, in terms of extended content offerings, potential platforms and general enhancements to the site.

Just some background on our security settings. We have content agreements with various content owners (individuals, production companies, US TV networks etc) a number require additional security, such as SWF hashing. Our content owners also consider non-ABC rendering of that content as not in the spirit of those agreements.

We appreciate the effort you have put into the plug-in and your general interest in all things iView. So once we are on our way with our development schedule for “out of the browser” iView, we’ll hopefully be in a position to share our priorities a little more. We would like to keep in touch with you this year and if you have any questions or comments my direct email is ********@abc.net.au.

[STATUS]
The app is currently in a WORKING state. If you are experiencing any problems, please send me a copy of your Boxee log file and I will investigate the issue.

Despite risking the occasional dirty look from a certain type of linux/FOSS supporter, I quite happily run the (currently) non-free Skype client on my HTPC. I have a webcam sitting on top of the TV and works flawlessly for holding video chats with family and friends.

The problem I initially faced however, was that my HTPC is 100% controlled by a keyboard only. Unlike Windows, the linux version of Skype has no built in shortcut keys (user defined or otherwise) for basic tasks such as answering and terminating calls. This makes it virtually impossible to use out of the box. On the upside though, the client does have an API and some wonderful person out there has created a python interface layer for it, aptly named, Skype4Py.

A little while ago when I still had free time on weekends, I sat down and quickly hacked together a python script for answering and terminating calls, as well as maximising video chats from the command line. I then setup a few global shortcut keys within xfce to run the script with the appropriate arguments.

I won’t go into the nitty gritty of the script as it really is a hack in some places (Particularly the video maximising), but I thought I’d post it up in case it is of use to anyone else. I’ve called it mythSkype, simply because the primary function of the machine I run it on is MythTV, but it has no dependencies on Myth at all.

The depedencies are:

Python – Tested with 2.6, though 2.5 should work

Skype4Py – any version

xdotool – Only required for video maximising

To get the video maximising to work you’ll need to edit the file and set the screen_width and screen_height variables to match your resolution.
Make sure you have Skype running, then simply execute one of the following:

./mythSkype -a (Answer any ringing calls)

./mythSkype -e (End active calls)

./mythSkype -m (Maximise the current video)

The first time you run the script, you will get a prompt from Skype asking if you are happy with Skype4Py having access to the application. Obviously you must give your ascent or nothing will work.

Since my last post regarding the conversion of media from Channel 9’s Catch Up service, I have been in discussion with the company behind this technology, Hiro-Media. My concerns were primarily around their use of the open source xvid media codec and whilst I am not a contributor to xvid (and hence do not have any ownership under copyright), I believe it is still my right under the GPL to request a copy of the source code.

First off I want to thank Hiro-Media for their prompt and polite responses. It is clear that they take the issue of license violations very seriously. Granted, it would be somewhat hypocritical for a company specialising in DRM to not take copyright violations within their own company seriously, but it would not be the first time.

I initially asserted that, due to Hiro’s use (and presumed modification) of xvid code, that this software was considered a derivative and therefore bound in its entirety by the GPL. Hiro-Media denied this stating they use xvid in its original, unmodified state and hence Hiro is simply a user of rather than a derivative of xvid. This is a reasonable statement albeit one that is difficult to verify. I want to stress at this point that in my playing with the Hiro software I have NOT in anyway reverse engineered it nor have I attempted to decompile their binaries in any way.

In the end, the following points were revealed:

The Mac version of Hiro uses a (claimed) unmodified version of the Perian Quicktime component

The Windows version of Hiro currently on Channel 9’s website IS indeed modified, what Hiro-Media terms an ‘accidental internal QA’ version. They state that they have sent a new version to Channel 9 that corrects this. The xvid code they are using can be found at http://www.koepi.info/xvid.html

Neither version has included a GPL preamble within their EULA as required. Again, I am assured this is to be corrected ASAP.

I want to reiterate that Hiro-Media have been very cooperative about this and appear to have genuine concern. I am impressed by the Hiro system itself and whilst I am still not a fan of DRM in general, this is by far the best compromise I have seen to date. They just didn’t have a linux version.

This brings me to my final, slightly more negative point. On my last correspondence with Hiro-Media, they concluded with the following:

Finally, please note our deepest concerns as to any attempt to misuse our system, including the content incorporated into it, as seems to be evidenced in your website. Prima facia, such behavior consists a gross and fundamental breach of our license (which you have already reviewed). Any such misuse may cause our company, as well as any of our partners, vast damages.

I do not wish to label this a threat (though I admit to feeling somewhat threatened by it), but I do want to clear up a few things about what I have done. The statement alleges I have violated Hiro’s license (pot? kettle? black?) however this is something I vehemently disagree with. I have read the license very careful (Obviously as I went looking for the GPL) and the only relevant part is:

You agree that you will not modify, adapt or translate, or disassemble, decompile, reverse engineer or otherwise attempt to discover the source code of the Software.

Now I admit to being completely guilty of a single part of this, I have attempted to discover the source code. BUT (and this is a really big BUT), I have attempted this by emailing Hiro-Media and asking them for it, NOT by decompiling (or in any other way inspecting) the software. In my opinion, the inclusion of that specific part in their license also goes against the GPL as such restrictions are strictly forbidden by it.
But back to the point, I have not modified, translated, disassembled, decompiled or reverse engineered the Hiro software. Additionally, I do not believe I have adapted it either. It is still doing exactly the same thing as it was originally, that is taking an incoming video stream, modifying it and decoding it. Importantly, I do not modify any files in any way. What I have altered is how Quicktime uses the data returned by Hiro. All my solution does is (using official OSX/Quicktime APIs) divert the output to a file rather than to the screen. In essence I have not done anything different to the ‘Save As’ option found in Quicktime Pro, however not owning Quicktime Pro, I merely found another way of doing this.

So that’s my conclusion. I will reply to Hiro-Media with a link to this post asking whether they still take issue with what I have done and take things from there.
To the guys from Hiro if you are reading this, I didn’t do any of this to start trouble. All I wanted was a way to play these files on my linux HTPC, with or without ads. Thankyou.

About 6 months ago, Channel 9 launched their ‘Catch Up’ service. Basically this is their way of fighting piracy and allowing people to download Australian made TV shows to watch on their PC. Now, of course, no ‘old media’ service would possibly do this without the wonders of DRM. Channel 9 though, are taking a slightly different approach.

Instead of the normal style of DRM that prevents you copying the file, Channel 9 employs technology from a company called Hiro. Essentially you install the Hiro player, download the file and watch it. The player will insert unskippable ads throughout the video, supposedly even targeted at your demographic. Now this is actually a fairly neat system, Channel 9 actually encourage you to share the video files over bittorrent etc! The problem, as I’m sure you can guess, is that there’s no player for linux.

So, just to skip to the punchline, yes it IS possible to get these files working on free software (completely legally & without the watermark)! If you just want to know how to do it, jump to the end as I’m going to explain a bit of background first.

Hiro

The Hiro technology is interesting in that it isn’t simply some custom player. The files you download from Channel 9 are actually xvid encoded, albeit a bastard in-bred cousin of what xvid should be. If you simply download the file and play it with vlc or mplayer, it will run, however you will get a nasty watermark over the top of the video and it will almost certainly crash about 30s in when it hits the first advertising blob. There is also some trickiness going on with the audio as, even if you can get the video to keep playing, the audio will jump back to the beginning at this point. Of course, the watermark isn’t just something that’s placed over the top in post-processing like a subtitle, its in the video data itself. To remove it you actually need to filter the video to modify the area covered by the watermark to darken/lighten the pixels affected. Sounds crazy and a tremendous amount of work right? Well thankfully its already been done, by Hiro themselves.

When you install Hiro, you don’t actually install a media player, you install either a DirectShow filter or a Quicktime component depending on your platform. This has the advantage that you can use reasonably standard software to play the files. Its still not much help for linux though.

Before I get onto how to create a ‘normal’ xvid file, I just want to mention something I think should be a concern for free software advocates. As you might know, xvid is an open codec, both for encoding and decoding. Due to the limitations of Quicktime and Windows Media Player, Hiro needs to include an xvid decoder as part of their filter. I’m sure its no surprise to anyone though that they have failed to release any code for this filter, despite it being based off a GPL’d work. IA(definitely)NAL, but I suspect there’s probably some dodginess going on here.

Using Catchup with free software

Very basically, the trick to getting the video working is that it needs to be passed through the filter provided by Hiro. I tried a number of methods to get the files converted for use with mplayer or vlc and in the end, unfortunately, I found that I needed to be using either Windows or OSX to get it done. Smarter minds than mine might be able to get the DirectShow filter (HiroTransform.ax) working with mplayer in a similar manner to how CoreAVC on linux works, but I had no luck.

But, if you have access to OSX, here’s how to do it:

Download and install the Hiro software for Mac. You don’t need to register or anything, in fact, you can delete the application the moment you finish the install. All you need is the Quicktime component it added.

Grab any file from the Catch Up Service (http://video.ninemsn.com.au/catchuptv). I’ve tested this with Underbelly, but all videos should work.

Voila. Output will be a file called ‘<filename>.clean.MP4′ and should be playable in both VLC and mplayer

Distribution

So, I’m the first to admit that the above is a right royal pain to do, particularly the whole requiring OSX part. To save everyone the hassle though, I believe its possible to simply distribute the modified file. Now again, IANAL, but I’ve gone over the Channel 9 website with a fine tooth comb and can see nothing that forbids me from distributing this newly encoded file. I agreed to no EULA when I downloaded the original video and their site even has the following on it:

You can share the episode with your friends and watch it as many times as you like – online or offline – with no limitations

That whole ‘no limitations’ part is the bit I like. Not only have Channel 9 given me permission to distribute the file, they’ve given it to me unrestricted. I’ve not broken any locks and in fact have really only used the software provided by Channel 9 and a standard transcoding package.

This being the case, I am considering releasing modified versions of Channel 9’s files over bittorrent. I’d love to hear people’s opinions about this before doing so though in case they know more than I (not a hard thing) about such matters.

So it seems that there’s quite the election ‘fever’ (yay sportsfans!) going around at the moment. Obviously the US election has had the bulk of the limelight and I have to admit to having followed it far too closely since late last year (Along with my election buddy, Soporific Frog. Thanks for the memories). Somewhat less grand (yet still of debatable importance) are the Victorian local council elections that are going on at the moment.

I have a colleague who has, for the past few years, worked for both the Victorian and Australian Electoral Commissions and this has lead to some interesting discussions into the way things are run in the background. Here are a few of the more interesting (I think) tidbits:

There are a worrying number of minor ‘issues’ with the in-house developed election software they use. Certainly nothing that would alter the outcome of an election (I hope), but enough to make me wonder again, why software like this isn’t open source? Surely the best way to debug software like this is to publish the source 6 months before its used and wait for the feedback from a raving pack of civil libertarians.

As an example of the above, I present the following. You may or may not know that candidates are allowed to provide a 150 word spiel about themselves which is sent out with elections papers so that people get an idea of who all the candidates are. Now whilst there are some guidelines for this (ie no bad language, no personal attacks on other candidates etc) there is basically no editing of this allowed by the electoral commision, Eg if there’s typos or gramatical errors in the text provided, they will get printed verbatim. Now, given the number of candidates in these elections, the process is relatively automated in the software. It does a word count and, assuming all is ok, it goes through. Now a little bird tells me that the algorithm used in this software initially counted the number of spaces and used that to determine the word count (WC=N_Spaces+1). So, combine this algorithm with the fact that gramatical errors will not, as a matter of policy, be corrected, and you might begin to see a problem.
Example: “Here is my spiel.Do you think its,any good?”
So the above 10 word sentence, now gets read as being only 7 words long. Whilst this is a small thing, there are a lot of ‘small’ people who tend to stand for council elections that take this stuff very serously. It is also something that should’ve been picked up LONG ago. Now, I’m not suggesting this has altered the outcome of anything, but complaint from a candidate would cause great headaches for the electoral commission this late in the game.

The rules behind preferential voting systems are complex. Whist the premise itself is simple, there are an awful lot of edge case scenarios that have to be dealt with and these make it next to impossible for a human to accurately and quickly determine a result. Computers to the rescue! Specifically, a spreadsheet to the rescue. Yes, all the rules of this system have been applied within an Excel spreadsheet, which has then gone through appropriate certifications, then sold to the VEC, who plugs in votes counts and it spits out the winners. Whilst there’s nothing implicitly wrong with using a spreadsheet for this function, to me it just all seemed a bit amateurish.

Despite, all of the above, the VEC and AEC do a phenomenal job of running elections. They enforce processes to cover nearly EVERY scenario and I have nothing but confidence in the elections held within this country. This said, hearing about all these procedures etc only makes me more concerned about the way elections are run in the US. So many things you read about that occur there simply leave me gobsmacked and I can’t get my mind around the fact that a country as developed as the United States, can’t even follow rudimentary (and commonsense) guidelines to ensure a genuine result. Craziness.

The above was indeed published and distributed along with voting papers etc, to all members of the appropriate ward. Now, whilst such randomness maybe common in the UK, apparently here it caused something of a stir. Infact, this went all the way to the VECs legal council to determine whether or not it was allowable. It was eventually decided that it had not broken any of the rules (At least, the rules as they currently stand, ahem) and therefore it had to be published. Good for you Troy Anthony Platt.

So, yes, the mandatory clean feed has been generating a lot of noise lately and the Federal Member Email/Letter bomb has been dropped. In this spirit, I felt I might as well contribute an entry with the letter I sent of to my local member (Ballarat – Ms Catherine King), last week:

Ms King,

I am writing to express my concern at the proposed mandatory ‘clean feed’ internet concept being put forward by Mr Stephen Conroy. Such a concept poses serious risks to both free speech liberties and Australia’s ability to prosper in a digital world. As each of these is of such importance, I will address my fears about them separately:

Free speech and censorship: I understand that it is far from the governments intent to create a system capable of wholesale censorship, however intentional or not, this is what a mandatory clean feed will accomplish. Already, proposals have come from other political organisations (See http://www.theage.com.au/articles/2008/10/27/1224955916155.html) that the scope of the filtering should extend to online services such as gambling. This is the thin end of the wedge. Even if we are able to trust the current government not to bow to pressure from such groups, it is not a stretch to believe that future, less trustworthy, governing bodies could extend the blacklist to cover areas that are not in fitting with its ideals (Eg political dissent). Whilst it may not be the Labour party making these changes, they will have certainly enabled the actions. Finally, given the serious opposition this proposal has faced from both individuals and the business sector, I cannot help but question where the motivation for the filters comes from in the first place. If this system is not (and cannot) serve the public interest, who’s interests are it serving? Mr Conroy has so far failed to satisfactorily answer this question.

Australia in a digital world: Given that I work in the technical sector and have a reasonable understanding of the technology behind a typical Internet Service Provider (ISP), I find it staggering that a proposal such as the mandatory feed can make it past even a cursory investigation into its feasibility. The governments own studies have shown how detrimental the implementation of a system such as this would be to the quality of Australia’s broadband networks. I do not wish to quote statistics from these studies, they are freely available elsewhere, however I do want to note that the government loses much credibility (particularly in the technology industry) if they are going to undertake feasibility studies with no intention of taking any notice of the results. Mr Conroy has listed ‘similar’ systems in place overseas that have had success, however this fails to take into account significant differences between the aims of these systems and the one proposed here. Australia is already lagging significantly behind much of the developed world when it comes to high speed broadband availability. On the one hand we have a government willing to hand out $4.1 billion to help improve this situation, yet on the other the same government wishes to cripple the system before it has even left committee.

Given the ever increasing importance of digital infrastructure in an economy, Australia is now at serious risk of becoming a technological backwater and any gains we have made in this area over the past 5-10 years will quickly become irrelevant. I urge you to oppose this mandatory ‘clean feed’ from Mr Conroy and pass on the concerns that I (and others in the Ballarat community) hold regarding it.

I would be happy to discuss any of the points raised above with yourself or a member of your office in case clarification or further information is required.

Thank you,

Josh Stewart

To date, I have not received a reply, though to be honest I do not expect more than a form letter at best.

For a long time, one thing that has always solicited gasps from my technological friends is that I run my home wifi connection without any encryption or MAC blocking. It is free for anyone within range to use without my permission and, in most instances, I won’t even be aware it’s happened.

I do this for a number of reasons, partially because I believe in openess and community, but mostly because its something that I would like to see become a common thing. If I’m away from home then typically my net addiction will kick in and I’ll want to check email / blogs. In all honesty, if there’s an open wifi nearby, chances are I’ll use it.

“The prosecution needs only to prove the communication came from a particular system. Once this is achieved the onus is on the individual to prove his or her innocence.”

What I simply don’t understand is how this fits in any way with the trusty old ‘innocent until proven guilty’ ideal. Proving that data travelled through your router should definitely NOT mean that the onus now falls upon me to prove my innocence. That same data probably passed through 10+ different routers before reaching its destination, why is it my router that gets targeted and me that gets hauled along to court facing 10 years for child pornography? Its not even reasonable to argue that my router was the last in the chain as for all anyone knows, someone could’ve bridged my wifi through another device and shared to 10 people over a wired ethernet. This comes down to the fact that I am simply the ‘easiest’ person to point the finger at and 90% of people won’t understand the technical reasons why the logic is rubbish. Really the *only* thing that proves my guilt in a case like this is the data being stored on my systems, and even then it is questionable if I’m running my connection through some form of local caching proxy.
I don’t want to point fingers at authorities for why we are in this position as my emotions would become far too unrestrained (Words like laziness and ignorance might get used), but the fact remains that clearly we need to form of official legislation in this area. In my opinion (And this is a whole other rant), it should not be illegal to use an open wifi connection without permission, the onus should be on the owner to secure it if they do not want others to use it. Of course enacting any laws that ensure the innocence of the home user running open wifi is going to increase the workload on authorities when cases come up, so will no doubt be met with serious opposition from these corners. It is a worrying trend however when the focus of law making becomes making life easier for authorities rather than to protect innocent citizens.

So for now I will continue to run my open wifi. I will lament the utter lack of technological expertise within out legal system and simply hope that this changes sometime soon (Though I won’t hold my breath). I’d love to hear others thoughts on how this should be handled froma legal point of view if anyone wants to leave a comment.

You’re one of my favourite websites, certainly one of the ones I visit the most, so it pains me to see you writhing in pain over this whole HD DVD key thing. If history has shown us anything though, its that sitting on your hands in a moment of crisis will do nothing but cause harm. Yes the comments have got immature, repetitive and just plain dumb, but you need to realise you’ve pissed off a whole lot of people by removing posts, banning people etc. Sitting on your high horse and waiting for everything to blow over will only expose more people to a Digg that is ruled by out of control teenagers.

One of the reasons I liked Digg is that its quality of articles and comments was generally on a slightly higher level than sights such as Slashdot. Take control now. Deleting posts and comments is NOT the way to do it, but make a comment. Make multiple comments! People see Digg (And Kevin Rose specifically) as being ‘one of them’, if you’re keeping them out of the loop then of course they’re going to get angry. Many feel that they helpded make Digg what is is so they see this as a form of betrayal.

I know you have legal issues to think about and I’m not saying that you should ignore them, but do something as reputations are hard to earn back, as are good news sites.

Well I finally got around to ‘finishing’ another of the little projects I’d been playing with. This one is probably extremely boring to nearly everyone but me, but franklin I don’t really care, it was useful for me

Basically I whipped up a little site where you can pull Australian Stock (ASX) quotes, for any group of companies you wish, in RSS form. The site is still a little rough at the moment, but if this is useful to anyone else its at: http://noisymime.org/asx

Incase anyone is wondering why the hell I would bother wasting my time creating something like this, it all stemmed from the MythTV setup. I’ve got the MythNews plugin loaded which allows you to read RSS streams in a nice pretty format on your TV in the morning. I thought a set of stock quotes would be good too, but alas after searching I couldn’t find any service providing this (For free at least), so I did the crazy thing and made it myself.