Channel 9, Catch Up, Hiro and linux

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:

  1. 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.
  2. 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.
  3. Install ffmpegx (http://ffmpegx.com)
  4. Grab the following little script: CleanCatch.sh
  5. Run:
    chmod +x CleanCatch.sh
    ./CleanCatch.sh <filename>
  6. 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.

31 thoughts on “Channel 9, Catch Up, Hiro and linux”

  • Hello,

    Thanks for the guide, do you know how to do this on a windows machine? I dont have access to an osx machine to try it on!

    regards

    Keith

    • Hey Keith,

      I’m playing around with ways to do this on windows and linux at the moment. Unfortunately WMP is locked up quite a bit tighter than Quicktime, but I’ll see how I go.

      I’ll post an updated entry if I have any luck.

      Josh

  • Hey Josh,

    Thanks for that, I just started to look into the whole Hiro thing now season 2 of underbelly is hitting the screen. I’ll be sure to try out your method!

  • What crap. I’d love if you could share some shows by Bittorrent since I don’t have access to an OS X machine. I’ll be sending an e-mail to Channel 9 on Monday. Bastards.

  • Since most of us here use mythtv (or similar) they should realise that we no longer watch adds and distribute their content as native mytharchives instead, with or without adds. 🙂

  • I’ve done everything up to the end of step 3 successfully… but then you’ve lost me. For those of us who are idiots. Can you pls explain steps 4 and 5? I have no idea what “grab to little script” means. If I get past that step, how do I run the command you have there? Thanks!

    • Hey Sean,

      Sorry, that step should read ‘Grab the following little script’
      Basically you need to download the script file at http://noisymime.org/blogimages/CleanCatch.sh
      Place that file, and the avi file you want to convert on the desktop

      To run the script you’ll need to open the Terminal application. You should be able to find it in ‘Applications->Utilities->Terminal’
      You’ll first need to change the directory to Desktop, then you can run the commands. Here’s an example of exactly what you’ll need to type
      cd Desktop
      chmod +x CleanCatch.sh
      ./CleanCatch.sh

      Just replace with the name of the avi file you downloaded.

      Hope that helps.

  • I made a couple of modifications to the script so I can run more than one instance of the script at a time (quad core w/ 4GB is handy!)

    In the script where you see ./video.avi or ./audio.wav change them to:

    ./$1.video.avi or ./$1.audio.wav

    I also upped the number of threads that x264 runs to 3.

    Thanks for the script, it works a treat, now I have a nice high quality version to pu on my home theatre PC.

  • It all seems good until it just starts using movtoy4m. It creates a 215kB file then gives the message “movtoy4m quit unexpectedly” and I’m left with a nice audio demux but two no good video files.

    Any ideas

    cheers

  • I can confirm what ftyper said, with the latest Underbelly ep crashing 215kb into the mov2y4m process.

    I emailed Ch 9 customer service this morning as the episode also crashed QT Player itself, so possibly something amiss with the file, anyone tried it on Windows?

    • @ Deane and ftyper:
      Thanks for the feedback!

      I downloaded the latest Underbelly yesterday and did the conversion last night without a problem. I have since discovered though that there’s some problems with the video about 10 minutes into the episode. I will test with Quicktime tonight to see if I get the same problem. If its failing to work on Quicktime, I suspect there may have been some sort of update to the Hiro encoding that might require an updated version of the software.

      Now that I think about it, Channel 9’s servers were taking a pounding yesterday, I had multiple dropouts when trying to get the file, so its possible it corrupted during the download

  • Thanks for the explanation on running commands. Ive tried, but now end up with this on terminal:

    Last login: Thu Feb 26 12:06:17 on ttyp1
    Welcome to Darwin!
    xs-computer:~ x$ cd Desktop
    xs-computer:~/Desktop x$ chmod +x CleanCatch.sh
    xs-computer:~/Desktop x$ ./CleanCatch.sh Underbelly_s2_ep1.avi
    Extracting and fixing audio
    No accelerated IMDCT transform found
    No accelerated IMDCT transform found
    No accelerated IMDCT transform found
    No accelerated IMDCT transform found
    No accelerated IMDCT transform found
    No accelerated IMDCT transform found

    Any idea what might be wrong… or what I’ve done wrong?

    • Hey Sean,

      The messages you’re getting are normal and the processes should still
      be running OK. Depending on your computer it may take a little while
      to do the conversion, but I can’t see any problem with how you’re
      running it. I’d say just let it keep going and hopefully it should
      finish.

  • Excellent. Looks like I just freaked out at the error message. It’s running the script now. Though it’s been going about 80 minutes… hoping it finishes soon. Thanks for all the help. Im hoping it works and I can do the next couple of episodes too. Cheers!

  • Not sure what the go is, I downloaded the file again 10mins ago and still exactly the same problem. Quicktime still crashes and VLC plays the file with a pink wall.

    Hmm…I’ve deleted and reloded the Hiro package to no avail. I can’t even get quicktime to play the earlier episodes.

  • ftyper: Glad I didn’t persevere with and try the download again.

    So much for customer service, I mailed them about this but they haven’t bothered to reply in almost a week, obviously they don’t actually care!

    I’d suggest anyone wanting it look for the 350Mb filesize rip and download that, at least you don’t have to put up with cruddy, possibly-licence-violating DRM this way.

  • Any joy on the windows removal of it yet? What a bunch of mongrels!
    If it’s just a matter of running the avi file through a directshow filter then I should be able to write an app that will do this as I played around with directshow filters for a project a while ago, but if you’ve got an easier way of doing it, that would be sweeeeeet.

  • Cheers for the tip.

    I tried stripping the adware from ep 1 but ran out of HDD space (requires several gig free space) three quarters of the way through the process! Will clear some space and try again over the weekend.

    More importantly, I noticed that the Hiro software idles in the background ALL THE TIME (even if Quicktime etc are closed), spiking to 3% CPU every few seconds, and even spikes to 70% if you disallow Hiro from connecting to the net via LittleSnitch! Furthermore, the uninstall instructions on their website ( http://www.hiro-media.com/NINEMSN/ninemsn_faq.html#15 ) are inaccurate, missing the file extension on one file and omitting another file (suspicious?) so make sure to manually navigate to /usr/local/lib/ and remove the Hiro files.

  • […] 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. […]

  • just to add to this as i tried to follow the above and whilst it worked,I couldnt avoid getting a water marked warning saying I need the hiro codec and then the video stopped playing after 10 mins or so whilt the sound continued – not to worry. but what i mean to add rather than just moan about it not working …..is that the Divx Converter for MAC leopard worked work me and seems to play brilliantly on testing. Have tried this in XP but no real joy as whilst it plays, I still see – get the watermark warning ref the hirpo codec….ah well

  • AllAboutMike says:

    I find it ironic that a company who is supposedly a champion of intellectual property uses a GPLed bit of software to base their DRM on. Out with the source code HIRO!

  • Is there any programmes that will convert Hiro movies downloaded from Channel 9 onto a dvd. I have a pc and not a MAC.

    Thanks

  • I have tried Hiro for Sea Patrol and am not getting any ads which is great. I didn’t register when I installed the Hiro Player. Maybe that’s why.

  • Does this still work? I followed the instructions and it processed the file ok. When i play in VLC it shows a Hiro splash screen/watermark over the vid for about 5 seconds and then the vid freezes (audio still ok)

    Vid was Sea Patrol S3E6

  • I don’t think this method still works. I have the entire season of HomeMade that I would like to rewatch but by following these instructions I have the same output as Andrew above – a file that plays back with perfect audio, but doesn’t play the actual video – just a single frame (which still includes the watermark).

    Any ideas?

    • Hi Cassandra,

      I haven’t looked into this for some time, however since 9 have shut down their Hiro service I don’t believe its possible to correctly decode the files anymore 🙁

Leave a Reply to ftyper Cancel reply

Your email address will not be published. Required fields are marked *