Kodi Community Forum
[RELEASE] XBMC Flicks - Netflix Movies / TV Shows (Video) experimental Addon for XBMC - Printable Version

Kodi Community Forum (https://forum.kodi.tv)
+-- Forum: Support (https://forum.kodi.tv/forumdisplay.php?fid=33)
+--- Forum: Add-on Support (https://forum.kodi.tv/forumdisplay.php?fid=27)
+---- Forum: Video Add-ons (https://forum.kodi.tv/forumdisplay.php?fid=154)
---- Thread: [RELEASE] XBMC Flicks - Netflix Movies / TV Shows (Video) experimental Addon for XBMC (/showthread.php?tid=87552)



- fekker - 2011-07-12

Here's how it works under the hood

addon loads, grabs your auth information if it's there, if it's not it uses the open command to load the page to get the info from netflix, it's a multipart auth system that must be done in a very short time, and your computers time/date must be in sync with the NTP servers out there or it'll fail.

when you put the user info into the iqueue.py file, that's really just the first part of the auth process, the addon has to be launched again to finish the auth with the servers and complete the process.

after auth is done, the data is written to your xbmc addon's data files, it's then used from there on out. That's the end of the open command that's used for initial auth, from there on out it's using the playercorefactory.xml settings to pick what browser to launch.

for what to use to open the app, honestly I just have to guess as I have no way of testing it, firefox seemed to be a safe bet, if we can nail down what works on all the osx os's, I'll put it in there.

the setup works the same for all os's, windows, osx, linux (when chrome's html5 plugin is done, it'll work under linux with only a few code changes to the initial auth portion)

here's what will help me help you
find the command line options to open a browser to a specific url for all the main supported browsers (firefox, safari, chrome, etc.)
if you had to do anything specific to make that command line work (like app association, etc) please be specific as to what was done

when something goes wrong, put the addon into debug mode for it's output to the xbmc log file

when it's user auth related, use the option to include user specific info (it's in the addon settings) BUT .. THIS IS IMPORTANT.. do not post your unique user auth strings that are in there, those are for your account, while it would be hard (due to the time limitation), it's not impossible that someone could (if they understood netflix oauth system) mimic your account and auth something that works with your information.

you help me, i help you, the addon gets better Big Grin


- echosa - 2011-07-12

For opening urls in Mac OS, just run the command

open <url>

That will open the url in the default browser (typically, Safari). No need to specify a particular browser; open will handle it. Forcing Firefox is not the best solution. For Linux, I can see it. For Windows, in this case, I could probably see it because anyone savvy enough to be setting up and running XBMC on Windows is probably intelligent enough to know better than to use IE and probably uses Firefox (judging by the numbers, though Chrome is becoming increasingly popular; I know I prefer Chrome to Firefox, anyway). For Mac OS, though, you should always assume Safari is used because a) it comes with the OS and is a pain to get rid of, b) there's no need to get rid of it because its a good browser, and c) most Mac users use Safari and probably don't have any other browser installed (even if they are savvy enough to be using XBMC).

As for doing anything specific to make the command line work, I didn't do anything in my testing. I just grabbed the urls and auth strings from the logs (which I already have both logging options turned on, obviously) and manually used them.

Honestly, assuming that the rest of the add-on works (and that's a big assumption, since you don't have a Mac to test on apparently) if you just fix that one command it may fix the entire add-on for Mac. Since that is the first error that occurs, it may be causing any following errors as well.

One thing I didn't do is start debugging the code, meaning I did turn on debugging in the logs but I didn't start reading through or hacking up the code. If the add-on is just python, then does that mean the source is plain text and editable? If so, if you can tell me where the lines are that create and run the "open firefox for auth" command, I can try to change it to a proper "open url" command for Mac and see if that fixes the issue. Even if you can't or won't tell me where the code is, at least tell me if the add-on runs with python scripts or compiled objects. I can work with, hack, and debug scripts but objects, er, not so much.

Thanks for the general info on how the add-on works though. That was part of the mystery. Honestly, I've switched over to using Plex and I'm actually liking it and my wife learned it pretty fast. I'll probably continue to use Plex until I find reason not to (don't fix it if it ain't broke, and don't stop using something that works unless you have a really good reason). However, I don't mind helping you track down and fix these issues for the good of the community, and in case, in the future, I decide to switch back to XBMC.


- xboxbox451 - 2011-07-12

johnlocke Wrote:Anyone have an eventghost file for actually controlling the thing. i've seen some stuff previously in this thread but they don't seem to be very fluid.

I linked my entire EventGhost file, which can be used as a guide to help configure your specific setup. I also posted an image file explaining the various macros I created and plugins installed.

I also linked a .bat file, which is used for the "Stop" command in the Netflix folder I created. I linked the .bat file in case someone needs the file to link to their stop macro, should they want to use the same method. Please note this file was created for a Windows 7 x64 rig, if your using a different system, ensure this command is correct to kill the process for the Netflix player.

This EventGhost configuration has worked well for me in controlling XBMC and the XBMC Flicks plugin.

EDITS: 7.16.11 I re-tweaked the originally hosted EventGhost file, by adding macros to more efficiently handle Frame Mode. Also I added a python script I found on the EventGhost forum that will disable Num, Scroll, and Caps lock upon starting XBMC. I added this script into the file since I found certain macros with keyboard commands were not firing properly when the NumLock was on.

All changes are listed in the posted screenshot above.

Feel free to PM me with any questions or suggestion to improve EventGhost navigation.


EventGhost File

Kill IE .bat file

Image


- johnlocke - 2011-07-12

Awesome xboxbox451. Thank you very much.


XBMCFlix - Chipsta040365 - 2011-07-13

What is the correct way to close the web API?

I have been using Alt-F4, but, i would think their would be a more graceful way.

I do not see any close or x shortcuts on my screen, is it a possible Skin issue?

Thanks in advance

Chipsta


- WallyJ - 2011-07-14

So... I have seen a few mentions about adding the XBMCFlicks Addon and if it doesn't appear in the add-ons list, then you don't have the proper setup/requirements met for the add-on.

Is there a place that states what these requirements are?

I have an install of XBMC running quite well on Ubuntu, but do not see the XBMCFlicks add-on in the list.

Do I need to change the configuration files mentioned before it will show up?

Thanks!

WallyJ


- fekker - 2011-07-14

echosa Wrote:For opening urls in Mac OS, just run the command

open <url>

That will open the url in the default browser (typically, Safari). No need to specify a particular browser; open will handle it. Forcing Firefox is not the best solution. For Linux, I can see it. For Windows, in this case, I could probably see it because anyone savvy enough to be setting up and running XBMC on Windows is probably intelligent enough to know better than to use IE and probably uses Firefox (judging by the numbers, though Chrome is becoming increasingly popular; I know I prefer Chrome to Firefox, anyway). For Mac OS, though, you should always assume Safari is used because a) it comes with the OS and is a pain to get rid of, b) there's no need to get rid of it because its a good browser, and c) most Mac users use Safari and probably don't have any other browser installed (even if they are savvy enough to be using XBMC).

As for doing anything specific to make the command line work, I didn't do anything in my testing. I just grabbed the urls and auth strings from the logs (which I already have both logging options turned on, obviously) and manually used them.

Honestly, assuming that the rest of the add-on works (and that's a big assumption, since you don't have a Mac to test on apparently) if you just fix that one command it may fix the entire add-on for Mac. Since that is the first error that occurs, it may be causing any following errors as well.

One thing I didn't do is start debugging the code, meaning I did turn on debugging in the logs but I didn't start reading through or hacking up the code. If the add-on is just python, then does that mean the source is plain text and editable? If so, if you can tell me where the lines are that create and run the "open firefox for auth" command, I can try to change it to a proper "open url" command for Mac and see if that fixes the issue. Even if you can't or won't tell me where the code is, at least tell me if the add-on runs with python scripts or compiled objects. I can work with, hack, and debug scripts but objects, er, not so much.

Thanks for the general info on how the add-on works though. That was part of the mystery. Honestly, I've switched over to using Plex and I'm actually liking it and my wife learned it pretty fast. I'll probably continue to use Plex until I find reason not to (don't fix it if it ain't broke, and don't stop using something that works unless you have a really good reason). However, I don't mind helping you track down and fix these issues for the good of the community, and in case, in the future, I decide to switch back to XBMC.
Very cool, thanks for the info
iqueue.py line 34 is the open command used for the browser, it's called from line 69
There's lots of folks using the addon under OSX, 99% of the code is independent of the OS it's running under

Quote:xboxbox451 - details on event ghost
Great info, thank you!

Quote:WallyJ So... I have seen a few mentions about adding the XBMCFlicks Addon and if it doesn't appear in the add-ons list, then you don't have the proper setup/requirements met for the add-on.
You are correct that if it's not valid for your OS it should not show up (it does show up on ATV2, where it shouldn't as it won't work there).

For Linux support we are waiting on Chrome's plugin for HTML5, until that's released it's not going to work as the other OS's use silverlight (whose DRM will NOT work under Linux (not even using moonlight))


- fekker - 2011-07-14

Chipsta040365 Wrote:What is the correct way to close the web API?

I have been using Alt-F4, but, i would think their would be a more graceful way.

I do not see any close or x shortcuts on my screen, is it a possible Skin issue?

Thanks in advance

Chipsta

you won't see the x to close it unless your using the ie wrapper under windows, or remove the fullscreen flag from the playercorefactory.xml file


- WallyJ - 2011-07-14

fekker Wrote:For Linux support we are waiting on Chrome's plugin for HTML5, until that's released it's not going to work as the other OS's use silverlight (whose DRM will NOT work under Linux (not even using moonlight))

So... the "We" who are waiting is the Linux community, which will have to use Netflix.com on the Chrome browser when it supports HTML5? Or will the XBMCFlicks addon work using the Chrome Browser's ability to use HTML5?

And thanks for the reply! Smile


Firefox window staying in the background on Mac - Undulat - 2011-07-14

I got the auth ok after installing Firefox on my Mac Mini w/ Mac OS X 10.6.7, but whenever I select a movie to play FF plays it in the background. I turned on the debugging option and this is what I see in the Console:

Code:
22:40:38 T:2958823424 M:2725404672  NOTICE: -->Python Interpreter Initialized<--
22:40:39 T:2958823424 M:2722471936  NOTICE: ##########################################################
22:40:39 T:2958823424 M:2722471936  NOTICE: Arg1: 0
22:40:39 T:2958823424 M:2722471936  NOTICE: Arg2:
22:40:39 T:2958823424 M:2722471936  NOTICE: Mode: 0
22:40:39 T:2958823424 M:2722471936  NOTICE: ##########################################################
22:40:41 T:2958290944 M:2717757440  NOTICE: -->Python Interpreter Initialized<--
22:40:41 T:2958290944 M:2716766208  NOTICE: ##########################################################
22:40:41 T:2958290944 M:2716766208  NOTICE: Arg1: 0
22:40:41 T:2958290944 M:2716766208  NOTICE: Arg2: ?mode=0
22:40:41 T:2958290944 M:2716766208  NOTICE: Mode: 0
22:40:41 T:2958290944 M:2716766208  NOTICE: ##########################################################
22:40:45 T:2958290944 M:2705158144  NOTICE: -->Python Interpreter Initialized<--
22:40:46 T:2958290944 M:2704461824  NOTICE: ##########################################################
22:40:46 T:2958290944 M:2704461824  NOTICE: Arg1: 0
22:40:46 T:2958290944 M:2704461824  NOTICE: Arg2: ?mode=50
22:40:46 T:2958290944 M:2704461824  NOTICE: Mode: 50
22:40:46 T:2958290944 M:2704461824  NOTICE: ##########################################################
22:40:46 T:2958290944 M:2704461824  NOTICE: root folder: /Users/mediabruker/Library/Application Support/XBMC/addons/plugin.video.xbmcflicks
22:40:46 T:2958290944 M:2704461824  NOTICE: working folder: /Users/mediabruker/Library/Application Support/XBMC/userdata/addon_data/plugin.video.xbmcflicks/
22:40:46 T:2958290944 M:2704461824  NOTICE: links folder: /Users/mediabruker/Library/Application Support/XBMC/userdata/addon_data/plugin.video.xbmcflicks/links
22:40:46 T:2958290944 M:2704461824  NOTICE: real link path: /Users/mediabruker/Library/Application Support/XBMC/userdata/addon_data/plugin.video.xbmcflicks/links
22:40:46 T:2958290944 M:2704461824  NOTICE: resource folder: /Users/mediabruker/Library/Application Support/XBMC/addons/plugin.video.xbmcflicks/resources
22:40:46 T:2958290944 M:2704461824  NOTICE: lib folder: /Users/mediabruker/Library/Application Support/XBMC/addons/plugin.video.xbmcflicks/resources/lib
22:40:46 T:2958290944 M:2704461824  NOTICE: userinfo folder: /Users/mediabruker/Library/Application Support/XBMC/userdata/addon_data/plugin.video.xbmcflicks/
22:40:46 T:2958290944 M:2704461824  NOTICE: USER INFO FILE LOC: /Users/mediabruker/Library/Application Support/XBMC/userdata/addon_data/plugin.video.xbmcflicks/userinfo.txt
22:40:46 T:2958290944 M:2704461824  NOTICE: matched file contents, it is in the correct format
22:40:46 T:2958290944 M:2704461824  NOTICE: finished loading up user information from file
22:40:46 T:2958290944 M:2704461824  NOTICE: .. getAuth called ..
22:40:46 T:2958290944 M:2704461824  NOTICE: OSX Setting is set to: True
22:40:46 T:2958290944 M:2704461824  NOTICE: .. user configured ..
22:40:48 T:2958290944 M:2711117824  NOTICE: No filter
22:40:48 T:2958290944 M:2711093248  NOTICE: triggered count on movies limiter:1 of 25
[...snip...]
22:40:48 T:2958290944 M:2711142400  NOTICE: triggered count on movies limiter:26 of 25
22:40:49 T:2953850880 M:2710851584 WARNING: FillBuffer: curl failed with code 22
22:40:49 T:2953850880 M:2710851584   ERROR: CFileCurl::CReadState::Open, didn't get any data from stream.
22:40:50 T:2953850880 M:2710888448 WARNING: FillBuffer: curl failed with code 22
22:40:50 T:2953850880 M:2710888448   ERROR: CFileCurl::CReadState::Open, didn't get any data from stream.
22:40:50 T:2953850880 M:2711539712 WARNING: FillBuffer: curl failed with code 22
22:40:50 T:2953850880 M:2711539712   ERROR: CFileCurl::CReadState::Open, didn't get any data from stream.
22:40:51 T:2953850880 M:2712432640 WARNING: FillBuffer: curl failed with code 22
22:40:51 T:2953850880 M:2712432640   ERROR: CFileCurl::CReadState::Open, didn't get any data from stream.
22:40:51 T:2953850880 M:2712924160 WARNING: FillBuffer: curl failed with code 22
22:40:51 T:2953850880 M:2712924160   ERROR: CFileCurl::CReadState::Open, didn't get any data from stream.
22:40:52 T:2953850880 M:2715471872 WARNING: FillBuffer: curl failed with code 22
22:40:52 T:2953850880 M:2715471872   ERROR: CFileCurl::CReadState::Open, didn't get any data from stream.
22:40:52 T:2953850880 M:2714193920 WARNING: FillBuffer: curl failed with code 22
22:40:52 T:2953850880 M:2714193920   ERROR: CFileCurl::CReadState::Open, didn't get any data from stream.
22:41:15 T:2691192128 M:2720129024  NOTICE: ExternalPlayer Filename: /usr/bin/open
22:41:15 T:2691192128 M:2720129024 WARNING: ExternalPlayer: invalid value for warpcursor: none
22:41:15 T:2691192128 M:2720120832  NOTICE: ExternalPlayer Tweaks: hideconsole (false), hidexbmc (false), islauncher (false), warpcursor (none)
22:41:15 T:2691192128 M:2720116736  NOTICE: OpenFile: /Users/mediabruker/Library/Application Support/XBMC/userdata/addon_data/plugin.video.xbmcflicks/links/70200338.html
22:41:15 T:2958290944 M:2720108544  NOTICE: Process: Player : /usr/bin/open
22:41:15 T:2958290944 M:2720108544  NOTICE: Process: File   : /Users/mediabruker/Library/Application Support/XBMC/userdata/addon_data/plugin.video.xbmcflicks/links/70200338.html
22:41:15 T:2958290944 M:2720108544  NOTICE: Process: Content:
22:41:15 T:2958290944 M:2720108544  NOTICE: Process: Args   : "{1}"
22:41:15 T:2958290944 M:2720108544  NOTICE: Process: Start
22:41:15 T:2958290944 M:2720108544  NOTICE: Process: Releasing audio device 1
22:41:15 T:2958290944 M:2720108544  NOTICE: ExecuteAppLinux: "/usr/bin/open" "/Users/mediabruker/Library/Application Support/XBMC/userdata/addon_data/plugin.video.xbmcflicks/links/70200338.html"
22:41:16 T:2958290944 M:2691772416  NOTICE: ExecuteAppLinux: Failure: -1
22:41:16 T:2958290944 M:2691772416  NOTICE: Process: Stop
22:41:16 T:2958290944 M:2691772416  NOTICE: Process: Showing XBMC window
22:41:16 T:2958290944 M:2692423680  NOTICE: Process: Reclaiming audio device 1

Seems to be the ExecuteAppLinux line that fails (even though FF opens and starts playing the movie, albeit in the background). I am not conversant enough to start digging deeper, but thought Fekker maybe could use the console output since he doesn't have a Mac.

I hope this can be fixed, but I fear once it does I'll only discover that there is no way to close the FF window and return to XBMC with the Apple remote I'm using now(?) How does people that uses this on a Mac control it?


- Repeater07 - 2011-07-15

xboxbox451...

thanks for the xml on your Eventghost setup. I used this as my base...and this may not be the correct form for my question...so slap me down if so...

I have everything working with the the netflix and xmbc from a software point of view...just not from the remote...I used your file you provided as a base and the only delta is the remote I am using is the base mode...which works great for xbmc...but when I click to netflick window the commands seem to lose focus and I can't ensure the commands work...did you have to do anything to ensure "focus" was on netflix (iexplorer)? or am i missing something?


- xboxbox451 - 2011-07-15

Repeater07 Wrote:but when I click to netflick window the commands seem to lose focus and I can't ensure the commands work...did you have to do anything to ensure "focus" was on netflix (iexplorer)? or am i missing something?


The "Netflix" folder becomes active only when the process "iexplore.exe" is called by the Netflix Web API which is when a Netflix show is started, at the same time the "XBMC2 Buttons" folder disables. The reverse happens when the "iexplore.exe" process is closed or unfocused.

This was necessary, since the emulated keyboard macros used in the Netflix folder share the same remote events as the macros in the XBMC Buttons folder. Otherwise there may be conflicts upon launching certain macros.

The only way I tested the commands in the "Netflix" folder, was by adding my remote events to the macros, then starting a Netflix show so the "iexplore.exe" process starts and comes into focus, then test. Even if you minimized the Netflix show while playing, the "Netflix" folder will deactivate when "iexplore.exe" loses focus.

If you can minimize Netflix during playback for testing, and want to test the macros, then either disable the "Task Create/Switch Events" plugin, or disable the last two macros in the tree titled, "Enable Netflix..." "Enable XBMC2...". Also enable the "Netflix" folder once the others are disabled.

Hope this helps.


- Repeater07 - 2011-07-15

Thanks xbox. It helped some. I switched the iexplore.exe to a window for testing. Eventghost is working correctly and so is my remote. The "Netflix" window just isn't doing anything with the keys when they are pressed. I think my next step is to continue to play around with the keys that Netflix will respond to.


- xboxbox451 - 2011-07-15

Repeater07 Wrote:Thanks xbox. It helped some. I switched the iexplore.exe to a window for testing. Eventghost is working correctly and so is my remote. The "Netflix" window just isn't doing anything with the keys when they are pressed. I think my next step is to continue to play around with the keys that Netflix will respond to.

1. Did you add your remote control events into the associated Netflix Macros?

2. When the Netflix movie window is open, it must be also focused for the netflix folder to become active. If there's a red X on the netflix folder, then the folder is disabled.

You can PM me if you have more questions, since I don't want to clog this topic with a bunch of EventGhost talk.


- speed32219 - 2011-07-15

Update to my previous post about HTML5/Netflix and Android/Linux support.

Update: I have just installed the latest chrome for linux, went to youtube and tested it on their beta html5 videos using the XBMC launcher plugin. It works great with the videos in full screen, just needs the ability to go full screen on startup which is being worked on from the google searches I did. Netflix is still looking for MAC/Win devices though, so the html5 is not yet implemented on their end. As soon as netflix releases HTML5 for the droid market, which is suppose to be out in beta now, should be good to go with our Ubuntu/Linux boxes. FYI, I am using the daily/dev version of Chrome, it has the html5 support in it.

Well it seems that Netflix for anroid is out and it is run by an App with Andoid 2.2 or 2.3 OS. No mention of HTML5 with that App though, so maybe the stuff on the net is wishing and not reality. Maybe a hack to the app is going to be needed, yes "hack the app" is the new motto for linux users wanting to use the netlix product.


Also, it seems that html5 right now as far as I can see is doing SW rendering and Not hardware accelerated as in flash, although 20% across the atom cpu's seems like some sort of acceleration is going on.

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