Saturday, February 14, 2009

Netflix + Ubuntu

This is not an article of success, but rather some information for those searching around. I guess you could say its a story of hope?!

Here's an article outlining some of the "up-and-coming" strategies planned to get a technology called "Moonlight" -- which will eventually get protected video content playing on Linux -- up to par with the Windows equivalent.

What does this mean? If the above article is correct, Ubuntu, Fedora, SuSE, etc will get "Watch Now" support in Netflix. But a technology known as "DRM" will have to be incorporated into the Linux version, and Microsoft needs to work further with Novell for that to happen.

Summary:

  • Netflix "Watch Now" WILL NOT load from Linux. (The Roku is an exception) But the future may look bright.
  • Netlfix "Watch Now" uses a plugin called "Silverlight 2.0" made by Microsoft.
  • Moonlight 2.0 is the Linux equivalent of Silverlight. (Use Firefox to install)
  • Although Moonlight 2.0 works with Ubuntu (tested on 64 bit too) Netflix's "Watch Now" web page won't load from a Linux platform due to DRM issues.
  • What's DRM? It's copy-protection, which hasn't been ported to Moonlight YET.
  • Can I force the "Watch Now" page to load? Kinda... The Netflix watch now page CAN be tricked to loading in Ubuntu, the applet will start but fail to play any video. Below is screenshots and error messages around that.

Read the below updates and entries to see details.

--------------------------------

2/17/09 - Update

A new version of Boxee was released today and works with Ubuntu (32 and 64 bit versions). You can get it here: (to the best of my knowledge, Netflix still won't work in Linux versions)
http://www.boxee.tv/download

12/26/09 - Update

Merry Christmas. Today I read an article (12/18) that suggests Moonlight will eventually support the H.264 codec used by Netflix's "Watch Now".

"First and foremost, we're 100 percent committing to support open source software," said Brian Goldfarb, director of web & user experience platforms for Microsoft. "The covenant now extends beyond Novell and down the chain so any distribution, whether Debian or Ubuntu or whatever can use Moonlight and be covered by the covenant. Moonlight is now a true part of the open web."
...
"Media Codecs for MP3 and VC1, and in the future H.264 and AAC, are supported through the Microsoft Media Pack, a Microsoft-delivered set of media codes that offer optimised and licensed decoders to every Linux user who obtains Moonlight from Novell."
-de Icaza

--------------------------------

12/17/09 - Update

Moonlight 2.0 has officially been released for Linux. Download here.

--------------------------------

5/5/09 - Update

Moonlight 2.0 preview has been released. Get it now!

Here's some links with more info!

http://tirania.org/blog/

http://go-mono.com/moonlight-preview/



--------------------------------

5/4/09 - Update

The Moonlight 2.0 preview installer automatically installs into Firefox 2.0 and Firefox 3.0. I recommend testing it with other Silverlight sites and posting your success! If someone finds any work-arounds, please post them!

Here is an tutorial to load NetFlix's SLPlayer.xap running Firefox 3.x and Ubuntu 8.04.

Step 1: Install the User Agent Switcher for Firefox.
Step 2: Create a User Agent that tells Netflix you are running Windows:

Tools -> User Agent Switcher -> Options -> Options -> User Agents -> Add. (Model it after Default, changing the Win/Windows stuff from X11, Linux, etc).


Step 3: Log into your Netflix account and try to play a movie:

"Player Startup Error - There is a problem with your player. Please call Netflix technical support at: ErrorCode: 8001"

Unfortunately, it still does not work...


What does work is some streaming WMV content that has Microsoft Codec Requirements (they'll automatically download and install if you agree to the TOS). Here's an impressive example of the Mono-monkey in action (click image to follow link):



-Tres

--------------------------------

3/30/09 - Update

After some digging, I found this article from way back in November entitled "Moonlight 2.0 is coming"

http://www.mono-project.com/Moonlight/Moonlight2Tasks

Here's another article with actual dates around Moonlight 2.0 (click for full story):

"A preview of Moonlight 2.0 is planned for release at the Mix09 conference in Las Vegas in mid-March. The general release is planned for the end of the year."
And thirdly, here's the "Road Map" for the Moonlight releases. If you don't yet know what Moonlight is, Moonlight 2.0 in theory will allow Netflix to play in any GNU/Linux distribution. It's the Linux/Unix version of Microsoft's Silverlight, which is what Netflix uses to stream it's DRM protected videos.
http://www.mono-project.com/MoonlightRoadmap


Again, not success, but some more signs that this is a live and active project which brings hope to the Ubuntu/GNU Linux users out there holding strong while the Windows peers are watching a movie in the browser as I type this....

-Tres

--------------------------------

3/19/09 - Update

Moonlight 2.0 (Silverlight 2.0 for Linux) support has had some success.

What does this mean for you running Netflix in Ubuntu? Nothing yet. Does Moonlight 2.0 require Mono 2.2+ to be compiled? Yes. In fact, the 2.2 Beta isn't enough, so check this out:

http://www.mono-project.com/Moonlight#Alpha_support_for_Silverlight_2.0

Instructions for compiling Mono 2.2 are available here (they may help you, I haven't tried yet).

http://mono-project.com/Release_Notes_Mono_2.2


-Tres

--------------------------------

3/15/09 - Update

It looks like there's an initiative for improved Mono 2.0 functionality on newer versions of Ubuntu Linux.

"A particularly exciting community-driven effort for Ubuntu 9.04 is the jump to Mono 2.0, a major update of the open source .NET implementation that was recently released by Novell." -arstechnica

If this spawns Moonlight 2.0, then we can assume it will also allow Netflix to work in Linux. If you look at the bottom of this page, you'll see some Moonlight 2.0 links and some license information, suggesting it is under development.


-----------------------------

Boxee.tv: The media-center app that promises NetFlix support eventually in Linux.
You may want to try it: http://boxee.tv/. It works with Ubuntu 8.04 Hearty Heron and Ubuntu 8.10 Intrepid Ibex (official relase is 32bit only) and claims to have Netflix support, but when you scroll through the page, it illudes that NetFlix support isn't working in OSX or Linux yet.


If you'd like to try it, here's their site instructions:

You have selected to download boxee for Ubuntu Linux 8.10 (Intrepid Ibex).

To download Boxee for Linux:

  1. Go to System > Administration > Software Sources.
  2. In Sources Software dialogue, select Third-Party Software tab, click Add, and enter:
    • for Hardy: deb http://apt.boxee.tv hardy main
    • for Intrepid: deb http://apt.boxee.tv intrepid main
  3. After closing this dialogue you can either use Synaptics and select Boxee for download, or use a terminal window, and enter sudo apt-get install boxee.
To run Boxee, Applications > Sound & Video > Boxee


(Not on their download page, but 64bit users can try this:
http://forum.boxee.tv/showpost.php?p=25070&postcount=29)

Boxee on AMD64:

Start by doing the following, it'll save you a minute...

sudo apt-get install python2.4 python-sqlite libtre4 libcurl4-openssl-dev libfaad-dev libxmlrpc-c3 libmozjs0d ia32-libs rtorrent

----------------------------------------

Can Moonlight 1.0 play NetFlix "Watch Now" content? No. But here's some more info about it....

Netflix's "Watch Now" player is called "SLPlayer.xlp" which is a Microsoft SilverLight applet. You may not have heard of SilverLight. This is because it's something Microsoft came up with as a competitor to Flash. Infact, its so similar from an end user's perspective you'd think its the same thing. SilverLight streams video from Netflix similar to the way YouTube steams its videos, except in a proprietary Microsoft format.

Although Linux doesn't have Silverlight support from Microsoft, there is hope...


Moonlight is a Silverlight clone and works with Linux. Its something Novell, Microsoft and the MONO project put together. I installed Moonlight 1.0 (which was really quick to do) and tried it with a friend's Netflix account on my computer running Ubuntu 8.10 under Firefox 3.x and the main "Watch Now" page says incompatible browser. I installed "user agent switcher" from Firefox plugins to force browser identification as IE7 and then it complains about ActiveX, which I assume is just the Silverlight installer trying to run. Pretty standard for Microsoft-only sites.


The good news is... in the web page code, I found the link to the Netflix player:
http://www.netflix.com/pages/watchNow/player/silverlight/SLPlayer.xap


I copied and pasted this into my address bar and it tries to load but says Moonlight was compiled with 1.0 support and 2.0 support is needed to load the player. I'd think once Mono, Novell and Microsoft get Moonlight 2.0 built Netflix in the Linux/Unix environment will be golden!


-Tres

27 comments:

Unknown said...

wrong .

by the time moonlight 2 is out silverlight 3 will be released. This is microsoft after all. Screw silverlight. Flash all the way. The media companies that would want to use silverlight don't believe in an open internet anyways and dont deserve my support

Tres Finocchiaro said...

Your opinions are welcome, but opinions are not right or wrong.

-Tres

airdao said...

Thanks for trying, that seemed like a reasonable solution. Alot of work..:) Have you tried RoKU?
http://www.roku.com/community/gpl_nfp.php

Still not sure if there would be an issue with DRM though.
Thanks

Tres Finocchiaro said...

Airdao,

My brother ordered the hardware for RoKU and it was shipped DOA. They RMA'd it. I visited the site you sent me but I don't see any instructions for getting the software to work in Linux. Have you heard of any success?

-Tres

airdao said...

Unfortunately no. I will try to compile the source codes the best I can but, i don't even know which one will work or how yet. I will let you know if I get something.

Mange said...

Hi,
And thanks for putting together this information. Any news since your last update?

Tres Finocchiaro said...
This comment has been removed by the author.
Tres Finocchiaro said...

Mange,

My brother got a new RoKU and he loves it. It certainly is ironic it runs Linux under the covers, but for $100 he was able to keep from getting cable installed at his apartment.

In regards to Moonlight 2.0 or Netflix in Ubuntu, no updates. I downloaded and ran the Ubuntu 9.04 beta (live cd) but didn't check the repo's for Mono 2.0 + Moonlight. I assume Mono 2.0 will be in the repo's long before Moonlight does.

In regards to Moonlight 1.0 in Jaunty (9.04), here's a useful link:

http://blog.worldofcoding.com/2009/02/moonlight-shining-on-ubuntu.html

Hopefully it will be just as easy when the new Moonlight is released! I'll boot that live cd again just for curiosity's sake. :) Cheers.

-Tres

Mange said...

Thanks Tres,
I'm looking forward to trying out Jaunty on the 23rd of April. I've been tinkering a bit with my new sound card (Turtle Beach Riviera 5.1) on my Intrepid box and so far I've managed to get the sound to work fairly well. The optical out from the sound card to my receiver just pretty much worked out of the box. But Jaunty is supposed to have better sound support through better pulseaudio implementation. Anyways.
Thanks again for putting this information together and if you hear of something else just let us know!

Magnus

Uncephalized said...

Why is Netflix using a proprietary Microsoft streaming solution? What possible advantage does that afford them? Why bother trying to displace Flash, which would have perfectly suitable for this application?

Tres Finocchiaro said...

Uncephalized,

Believe it or not, Microsoft is the good guy for once.

Although Silverlight is Microsoft, Moonlight is not proprietary.

The benefit of using Silverlight is DRM or "Digital Rights Management".

This is a method to keep peopole from copying content from Netflix and redistributing it without permission. You may argue that this is viral to Linux, but Netflix would go out of business if they didn't protect their assets.

I'm not aware if any copy protection is available through flash.

Read the first sentence on Moonlight's page, and you'll see it is open-source and it's code has been a collaboration between Novell and Microsoft.

http://mono-project.com/Moonlight

Also remember that flash has been proprietary all along. YouTube, Google Video, Vimeo, Metacafe, etc are all using flash and its likely that you are using the proprietary version on your Linux install.

I can't speak for Netflix's initial ambitions, but as long as the Moonlight 2.0 project delivers what it promises, the open source community will be much better off with Moonlight than it could ever be with Flash. You should instead thank Netflix for using it!

-Tres

Mange said...

Hi,
So I've tried this on 9.04 and got as far as seeing the actual player. But it complains that "activeX is disabled". I've tinkered around a bit with this but no luck so far. Any thoughts on that?

Magnus

Tres Finocchiaro said...

Mange,

I got a little further by tweaking the User Agent Switcher settings.

http://1.bp.blogspot.com/_9hmP3Ho0t14/Sf-30Pun_VI/AAAAAAAAANw/Sle4VBJy5qQ/s1600/snapshot2.png

But still not loading properly.

-Tres

Ed said...

This looks like it should work. The Netflix ErrorCode: 8001 is because netflix is requiring a minimum version of Silverlight 2.0.31005. Do you know of a way that we can "Fool" the browser to think that the version of moonlight is at least 2.0.31005? I think once that is set netflix streams should work.

Tres Finocchiaro said...

Good call. I looked in the plugins directory and see some stuff... perhaps this file:

~/.mozilla/firefox/rfzrlszw.default/extensions/moonlight@novell.com/plugins/moonlight/mono/2.0/machine.config

Unknown said...

On the Roku topic, I think all the DRM/encoding stuff is taken care of in hardware using the PNX8935 chipset. Many NMTs (Popcorn Hour, eGreat, etc) that are also linux based use Sigma Designs SMP8635 chipsets.

I have been playing around with Ubuntu 9.04 64 bit, latest Moonlight and user agent settings, using:
Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9b1) Gecko/2007110703 Firefox/3.0b1
as the agent string and it goes to the viewer page and shows a white box where player should be.

See
http://img199.imageshack.us/img199/9537/screenshot004d.png

Unknown said...

I get a screen saying ActiveX is disabled:

http://img41.imageshack.us/img41/6383/netflixmoonlight.png

Tres Finocchiaro said...

Yeah, I got that too... search the page for "5/4/09 - Update" and you'll see a work-around, but another error shows.

-Tres

Rodimus said...

Using Ubuntu 9.04, I installed moonlight 2.0 and had about the same luck as everyone else. However I found out something else interesting.

Use gksu to launch firefox as root.
"use Alt+F2 then type gksu firefox" Then install moonlight 2.0. Then use the SLPlayer.xap link, and when you get the white box that says player error, right click and choose to install ms-codecs. This does not work unless you are root. I do not know what the codec contains, but it is something I did not know before now. Oh, by the way, No, the player still does not play netflix. (But I'm working on it)

Just thought people would like to know about the codec installer.

Tres Finocchiaro said...

Thanks for the comment!

I've used the codec installer for other media and it worked well without root privileges.

Great to mention for sure.

-Tres

Douglas M Smith said...

Has anybody tried installing the microsoft multimedia codecs directly first?

See: http://www.ubuntugeek.com/install-mplayer-and-multimedia-codecs-libdvdcss2w32codecsw64codecs-in-ubuntu-804-hardy-heron.html

Does anybody know the *exact* codec (name / version) that is required by netflix / silverlight?

Does anybody know if this codec is available to install on Ubuntu?

Douglas M Smith said...

Does anybody tried Boxee?

http://www.boxee.tv/homepage/whatis.php

The web site claims their software runs on Linux, and plays Netflix? Or does it just agregate info and opninios *about* movies?

Tres Finocchiaro said...

Yeah, codec's don't help, and yes, search the page for "boxee" and you'll see some conversation about it up the page.

Thanks for the interest. Please post if you get further!

-Tres

Unknown said...

HI
Thanks for the info. I will just publish what I tried and my results. I installed moonlight 2.0beta on ubuntu 9.10. Went to netflix and tried to stream but came up with OS not supported. I found this site and tried the FX plugin as suggested. I received the 8004 error code. I then installed the microsoft codecs and closed the browser. This time no error code but just say the Red background and the title of Netflix. Closed tab and opened a new one with my netflix account and tried to stream. Only thing that came up was "ActiveX is disabled on xp. Renable it or blah blah blah. I thought I configured the switcher agent to show FX but i might have had a setting wrong.

Discription:Firefox 3.0 (Windows XP)
User Agent:Mozilla/5.0 (compatible;MSIE 7.0; Windows NT 5.1)
App Code Name:Mozilla
App Name:Netscape
App Version:5.0 (Windows; en-US)
Platform:Win32
Vender: blank
Vendor Sub: Blank

ideas?

Tres Finocchiaro said...

@real skin: The message you are getting suggests your browser identification is set at IE. I'll experiment a bit tonight and let you know what I get.

PeterLewis said...

I was able to get moonlight 2.0 player to load, but no DRM codecs to play the content.

I went to a test silverlight website and selected a test video, which forces install of MS codecs. I then changed my useragent to WinXP/Firefox. Loaded the page and it started to stream, it warned of using moonlight and not silverlight.

It started determining video quality and passes that step. It then throws the DRM error, "This Silverlight application is using DRM protected content, which Moonlight does not support."

Tres Finocchiaro said...

@PeterLewis:

Excellent feedback! Thank you!