Wednesday, March 10, 2010

How to almost get Netflix Watch Instantly to work in Linux

I can make Netflix Watch Instantly work on my Linux media center.

Almost. Yes, almost. No, I don't have it working. But I thought that with a little help from the community along with instructions on how I've gotten this far might help bring some support to the topic.

Here's how I did it.

  1. Start with your favorite Linux distribution and install the latest version of WINE. I have tried on version 1.1.40 with near success.
  2. Download the latest version of Firefox for Windows and install it into your WINE instance.
  3. Launch the WINE instance of Firefox and browse to about:config
  4. Get past the warning screen, then right-click in the main region. Click New → String. You'll be given two dialogues:
  5. In the first dialogue, enter general.useragent.override
  6. In the second dialogue, enter Mozilla/5.0 (X11; U; Windows NT 6.0; en-US; rv:1.9.2) Gecko/20100115 Firefox/3.6
  7. Close Firefox and relaunch it.
  8. Browse to netflix.com, log in, and go to the watch instantly page. Magically, you'll be transported beyond the "OS not supported" page you're used to, and you'll be given the option to install the Silverlight plugin. Do so.

It's about here that you'll notice a crash. Firefox in WINE doesn't like it when the Silverlight plugin tries to install and fails. When you repeat step 8, you'll notice that you actually get to the page where the video ordinarily plays, but the image is scrambled and Firefox soon crashes.

So here's the part where I ask for some support from the amazing Linux community. Does anybody have any suggestions as to where to go from here? I'm not sure what parts of the user agent string are being looked at, but it seems more like the Silverlight plugin for Firefox just doesn't work in WINE. How can we go about making Silverlight work?

44 comments:

eha1990 said...

Have you tried using Moonlight? http://mono-project.com/Main_Page

Ryan said...

I have not, but I will. I have a suspicion that it will not work on account of it not having DRM restrictions built in. I will try, however, and report back. Thanks for the suggestion.

Ryan said...

Results: Moonlight is Linux-only, so I installed it in my main Firefox install in Mint. I tweaked my user agent string appropriately. Netflix, naturally, doesn't recognize Moonlight as a Silverlight alternative, and it tries to get me to download the Silverlight plugin. This is a Windows binary file which will only work in WINE, which would lead to the same problems described above.

Anonymous said...

Moonlight doesn't have the PlayForSure DRM.

The only way to get movies working on your computer is to quit Netflix and use a torrent site.

That way, you get what you want and Netflix gets told were to go shove it's Microsoft only DRM.

Anonymous said...

How about getting a portable Firefox version on Windows and installing the Silverlight plugin while running on Windows?
After that you could copy the entire folder to your Linux partition/machine and start the portable Firefox that already includes Silverlight under Wine?

Anonymous said...

http://appdb.winehq.org/objectManager.php?bShowAll=true&bIsQueue=false&bIsRejected=false&sClass=version&sTitle=&sReturnTo=&iId=14455

They haven't got it going yet either, but between your idea's and there's?

Anonymous said...

The only way I got it to work crappy was to use a vm setup and it was more work with poor quality rewards........ I have tried many solutions and I will try to work on the problem with you and post my progress here.

Anonymous said...

Anonymous that said, ... "where to shove" ...

Perfectly stated!

Thanks

Anonymous said...

your blog was linked in the wine bugzilla here: http://bugs.winehq.org/show_bug.cgi?id=18321

Nicholas said...

I just gave this a try through wine via Ubuntu 10.04 running wine-1.1.42 and Firefox 3.6.3.

I didn't need to make the changes in 'about:config'. I browsed to netflix and installed silverlight which didn't give any errors. From there I went back to netflix and received "Player Error" "ErrorCode: 1001". Firefox continued to work after this unless I revisited the play instantly page, then Firefox would crash. This looks like progress...

Anonymous said...

Running Ubuntu 10.04LTS I get to the same point. I install Moonlight 2 via the website:
http://mono-project.com/Main_Page
Restart Firefox.
Go to about:config and add the entry for general.useragent.override
Login to netflix and click "play now"...
I get the circle of dots loading.... then I get the "Player Error" with "Error Code: N8001" "We are sorry but there is a problem with your player."
"1. Close your browser."
"2. Then reopen your browser and try again."
Obviously lacking the DRM.

hmm... moonlight 3 support for DRM?

Anonymous said...

I just logged on to the IRC channel for Moonlight (http://www.go-mono.org/moonlight/chat.aspx) and found that the room topic is set to: "Moonlight has NO DRM (Netflix) support". Oh well, at least now I don't have to explain to people that I'm using DRM even though I'm against it. I just wish there was some way I could pay for the content honestly instead of being forced to use piratebay.org.

Anonymous said...

[Addendum: "Forced" is too strong a verb, I should have put "strongly encouraged to use piratebay". Anyway, I've decided that the show I wanted from NetFlix isn't worth sacrificing my already-stretched-too-thin morals.]

emmaone said...

So before I went and did your approach, I tried downloading Silverlight from microsoft for the hell of it. It failed and Firefox was unhappy about it. When I tried going to the Netflix page after that, I got an error telling me my browser (not OS) was incompatible -- I am using the newest version of Firefox? After I tried your fix, I got this error msg from Netflix:


Silverlight Player Error

When you run into a problem loading the Netflix movie player:

If you are a Mac user, this may be caused by missing system fonts on your computer. If you use a font management system such as Suitcase, you might try the following steps to address this problem:

1. Check that at least one of these fonts is present in your HD/Library/Fonts folder:
* Arial (standard, bold, italic or bold italic)
* Verdana (standard, bold, italic or bold italic)
2. If none of these fonts are present in the folder you’ll need to install one:
* Locate one of these fonts elsewhere on your system, for example in the ~/Library/Fonts or /System/Library/Fonts folders
* Copy or move at least one of these fonts into your HD/Library/Fonts folder
3. Attempt to play a movie again

If you don’t use font management software or these steps don’t solve the problem, please call us at 866-579-7113 and we’ll help you solve the problem.

emmaone said...

Update! (aka, I should wait before hitting post.)

I installed Arial and Times New Roman in WINE. When I tried to Watch Instantly (I really want to watch A Streetcar Named Desire, damn it) the blue loading lights came up and then firefox froze. Force quit, tried again, same deal.

m. said...

Has anyone tried downloading a stand-alone IE7 or IE8 Package and running the ie.exe through WINE? Silverlight generally works on firefox but microsoft's products always seem to work better with microsoft browsers

Anonymous said...

It will not work in WINE but Virtual Machines it will but you need to have Windows install in it but everything from XP S3 down after April 2014 will not be supported.

Lynne said...

My understanding is that Netflix.com is not going to have streaming videos on Linux - they feel it is not in their economic interest - that we are few in number.

I have created a Yahoo Group to provide alternative TV and Movie Video Streaming sites for Ubuntu Linux OS both free and paying - please feel free to join the free Yahoo group link is below.

http://tech.groups.yahoo.com/group/UbuntuLinux_TVMovieStreamingSites/

Have a nice day and evening! :)

Lynne

OmagaSohe said...

need a petittion, if you can throw a few thousand people on a web page they will listen

Ryan said...

I would have replied sooner, but I was moving.

Regarding running IE in WINE, you can try IEs4Linux: http://www.tatanka.com.br/ies4linux/page/Main_Page

IE6 works pretty well for me there, but I've had trouble getting anything more recent working. Furthermore, in order to install the Silverlight plugin for IE/Windows, you must use the Microsoft Web Installer Platform (more bloated crap from MS), which runs on .NET 2.0. WINE doesn't work with .NET yet, so you're pretty much out of luck there as well.

Re: Lynne and Netflix's financial interest in Linux - The Roku player runs on Linux. The problem is not the OS. The problem is that they've opted to use Microsoft's Silverlight platform for streaming video and weighing it down with DRM. The DRM is probably a requirement by the MPAA and other content providers. The exclusion from Linux is undoubtedly Microsoft's problem. It's not in Microsoft's financial interests to support video streaming and DRM craziness on Linux, so Netflix loses customers because of Microsoft's decision. Don't outright blame Netflix for this.

Re: OmagaSohe and a petition - A petition already exists: http://www.petitiononline.com/Linflix/petition.html Good luck getting them to listen. They haven't yet. That's the problem inherent in petitioning. Sure, it lets some party know exactly how big the group wanting change is, but it in no way forces the party to take any kind of action. Go ahead and sign it. There's no harm in it. But I wouldn't expect to accomplish anything. In order to support Linux, they would have to completely switch their plugin provider from Microsoft to... what? Flash? HTML5? It's no secret that Flash has performance problems on Linux. HTML5 is nowhere near finalized and currently doesn't (and hopefully never does) support any kind of DRM system.

John Keels said...

Well, I hope someone at NetFlix is reading all of this. Because:

Dear NetFlix,

I recently signed up for the one month trial. Netflix streaming now works with every computing platform and network device available including game consoles. However, due to your lack of effort to support Linux I will not be keeping my subscription service with NetFlix. I am not installing windows again because even with Virus Protection there are now viruses out that the virus protection CANNOT stop at all or remove. I don't have time for this. NetFlix, support Linux NOW or find yourself without a customer. If you care about customers in addition to just making a quick buck then fix it now. Don't waste my time with excuses and justifications. Do it or lose a customer. End of Discussion.

Have a nice day everyone. :)

E said...

In theory (i have not tried this), you could set up a local network computer (WinXP) and log into it remotely, using rdesktop (tweek your settings accordingly) to play Netflix movies and possible even play MS-only games on. As long as you can get 30 fps, you have a plausible player -- and as long as it is a wired connection, it should work.

Grant said...

Who is at fault?

Netflix is responsible for choosing Silverlight
as their media streaming platform. They chose to
use software that they knew would not be supported
universally. They knew that they could not do anything
legally to make Microsoft expand Silverlight's support for other operating systems (Linux, BSD, etc).
They (Netflix) could have chose to develop a secure and portable system using existing open software. Instead they chose a prepackaged product that they cannot control. It is now us (the customers and community) that will have to suffer until they change their strategy. Alternate choices might have been to use a solution based on the more widely supported but still closed source Adobe Flash player or an AJAX (or similar) based session tracking setup with standard MPEG (or similar) streaming. Alas this is not the case. Don't forget that the Alternate choices make DRM harder to enforce, even though DRM is not totally unsupported on Linux these days. Chances are that this will not change. What will likely happen is this: In some relatively short period of time (6-12mos?) there will be some real competition for Netflix and that competition will have a solution that will work for more platforms than does Netflix. So continue to fall asleep at the wheel Netflix; continue to offer instant play to only those using Win or Mac, continue to offer Media for streaming several months after it has been available on DVD (LATE), and continue to take a great idea and totally fail to deliver it to market in a way that is truly in your and our best interests. You will find that you can and will end up being pushed off the top of the internet movie-rental mountain that you now stand.

Anonymous said...

Perhaps we are all missing something and not connecting the dots (or maybe it's just me!!)

But, if the Roku plays Netflix Watch Instantly, and the Roku runs linux, how does this happen. How is the Netflix content streamed on a linux platform? SOMETHING must exist to play Netflix content on the linux platform.

What am I missing here?

Anonymous said...

virtual box?
http://www.youtube.com/watch?v=ZuyPJFhVTxQ

Ryan said...

@Grant - Don't be too hasty to blame Netflix for everything. Yes, they made some choices concerning platform availability, but the businesses that own the intellectual property being streamed place demands on how it is protected during the streaming process and can refuse to sign over the rights to stream the data unless those demands are met. So to some extent, Netflix may only be agreeing to these platform requirements so they can provide service. Don't forget that the Linux market for streaming video is loud, but small. It may not be in Netflix's best business interests to exclude a tiny group in order to retain an audience. But in the end, yes, it does come down to business interests. If you want to take issue with something, take issue with the concept of producing art for profit instead of allowing people to take part in their own culture and the culture of dozens of other countries for the sake of sharing, learning, and growing as a global community.

@Anonymous - The Roku streams media on Linux, yes, but you're missing the point. The Roku handles the DRM as part of a complete package, and the DRM decoding is probably not handled in the OS. Most likely (and this deserves some research), the DRM is decoded through a hardware device of some kind. That hardware is undoubtedly locked down and proprietary, and all references to the actual process of decoding the DRM is kept out of the driver and out of the kernel.

@Anonymous - Virtual Box works. I have a working Virtual Box OSE install running Windows XP x64. The problem, though, is that you're still running Netflix on Windows because that's the current requirement. We're trying to make Netflix Instant Watch work natively on Linux. At this point, the technical problems lie in Microsoft's Silverlight plugin and the DRM on the media.

Anonymous said...

high netflix CEO was a microsoft employee, he got that job around 2009,

Bob said...

I blame NetFlix Completely technology is a choice and NetFlix CHOSE to blow off Linux users and ignore them for years. THEY MADE viewers for the Wii, for the PS3 but no player for Linux? The Roku is a Linux BOX. So dont tell me it cant be done. If DRM is important than make it a black box. TO be quite honest I bet DRM can be hacked as all the so called protections have been by people that needed too.

Ryan said...

@Bob - Yes, NetFlix could have used Flash like Hulu. I'm only saying that the copyright owners may have made demands for specific technology. However, I'm inclined to think that it was still largely an internal NetFlix thing. The last Anonymous poster mentioned that the NetFlix CEO, Reed Hastings, is on Microsoft's board, which is kind of telling.

Anonymous said...

Ryan, Very good analysis except for one thing: taking exception with creation of art for profit. That is fine for a music recording or something simple, but a multi-million dollar movie (or even a mult-hundred-thousand dollar "low budget" one) will never be made without the expectation of a profit.

Japzone said...

I can't even get Silverlight to install in wine right. I download the installer Run the Installer, I get license agreement and hit install button. Window closes then after a minute the process exits. I get a folder called "Microsoft Silverlight" with a bunch of empty folders inside it. So I don't even get to try watching anything.

Also I don't get it. Amazon's Video on Demand service uses Flash and you can Rent/Buy tons of TV shows and Movies Including "Avatar" and "Sherlock Holmes" so obviously it satisfies the wants of some pretty big Movie Companies so why can't Netflix use it? I mean seriously, their already using Amazon's Servers/Server Format to serve their Instant Watching Videos so why can't they use Flash too? It's just so stupid. I mean I wouldn't even mind them giving a quality cut to the Video, I just want to be able to watch my Netflix with my Laptop without having to go to Extreme lengths to get it to work(ie:Virtualbox). They've already made it so you can watch it on Almost every kind of Device out there (You've got you're Ipad, Wii, PS3, HD TV, Blueray Player, Windows, Mac, ect...) it seems Linux is the only one not getting support.
(PS: If you couldn't guess it Amazon's VOD works on Linux with no problems at all.)

Anonymous said...

God damn, this sucks. I've been trying to figure this out too. The only thing that works for me is just running Windows in a VM, but that's a real solution to the problem. I know the only reason there is no Linux support for Netflix is because Reed Hastings is on Microsoft's board of directors.

Anonymous said...

Okay, the good news is I have silverlight running in linux. Ubuntu 10.04, wine 1.0.40 (IIRC),firefox 2.0.x. Silverlight 3.x. I installed firefox 2, because of a post saying silverlight doesn't work on firefox 3. Then I went to netflix and downloaded silverlight 3 from them. Silverlight 1 works on linux according to winehq, but it claimed to still not be installed, silverlight 4, from microsoft fails to install. Silverlight 3, still available from netflix, works. I then went to http://bubblemark.com/ and tested it out. Yes, it works. The bad news is that going to the netflix site and trying to play a movie crashes firefox. I'm at a loss for what to try next...

Regards,
LP

Anonymous said...

P.S. The command line output says that it crashes wineserver.

Regards,
LP

A7thStone said...

If you do a little research you will find that the Netfix CEO is on Micro$oft's board of directors. I believe that clearly shows it is in neither Netflix or Micro$oft's financial interest to support Linux, no matter what other DRM or IP restrictions the MPAA chooses.

Pac said...

The best way to get Netflix running under linux is to install PlayOn on a windows machine somewhere on your network, and to use a uPnP compatible player to stream Netflix through Playon, like XBMC. Works great.

Anonymous said...

Fuck netflix

Anonymous said...

sadly Im with F netflix but that said I give
toss because for whatever reason all I have is
4G ram Dual core Athlon but virtual box and
if you want to be truly FREE. KVM work VERY
well for me. I got some cheesy 'IT' version
of XP that was paid for seems perfectly legal
and really does the job. If it bothers you
I suggest you go with KVM or Vbox. Good Luck

Anonymous said...

I am in the same boat. Tried moonlight, VMs etc...

I signed the petition too. At this point we need to reverse engineer Roku to try and hack something...

I can't believe Netflix would avoid the entire Linux community!

Japzone said...

Here's some Good News. It's been Confirmed that Netflix is working on an Android App. Since the Android Platform is Essentially Linux and there are already ways to Emulate Android on Linux then maybe a way can be figured out to Run the App on Linux. This method has the Best hope of Succeeding from my perspective. You could say "Well, If your willing to Emulate you should just get VBOX and Run Windows that way." But you see in order to Emulate Windows you have to have a Computer with good RAM and other such needs. That wouldn't work for a lot of Linux users because:
1)A lot of Linux users are using Linux because they have Low End computers
2)Hate Windows and don't want to touch it just to watch Netflix
and 3)Running an entire other Computer OS just to watch a Movie is very Inefficient and Annoying.
Watching Netflix through an Android Emulator is Far less Taxing on the System and it's a whole lot easier, once set up, to Start the Emulator and Run the Netflix App than it is to Boot Windows in VM and then Load a Web Browser or Boxee and then to go to Netflix Website or Load Netflix Boxee App.

Unfortunately the Android App is still on the Drawing Board and can't be expected soon. Most Likely it will be out December+. However now that Blockbuster has already Released it's own Android App that might encourage Netflix to step-up work on theirs :)

Anonymous said...

POS

Anonymous said...

Running Fedora Core 12, I have successfully built the reqs for PlayOn in wine 1.3.1 src (corefonts, vcrun6, ie7, dontnet20 with sp1 hack, and PlayOn itself) I seem to be stuck with the networking side of it being ssdp (multicast module checks)

Anonymous said...

The reason the Roku box works is because of the GPU that it uses. For some reason it is able to decode the DRM.

I got to the 'Player Error - error code N8001' also.

My setup: Ubuntu 10.04, FF 3.6.8, User Agent Switcher (set to FF2.0, Win XP), Moonlight 2.0 with all the packages available installed too via Synaptic).

Before I got the error mentioned above, just like the other guy with the same error, I got the spinning balls too.

Japzone said...

I got to the Stupid Error Code as well. Using Ubuntu 10.04, Firefox 3.7, UseragentSwitcher[SetTo:WinXP-Firfox3.0], and Moonlight 3.0 Beta. Player Loads but get the Dumb Error Code and Advice to Restart my Browser. It makes me VERY annoyed that there is squat I can do about it. You can't even use Wine to watch it Anymore.

Post a Comment