Kodi Community Forum

Full Version: [RELEASE] NetfliXBMC - Unofficial Netflix Add-on (Win/OSX/Linux) - Thread 2
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Quick one. Does this work on kodiubuntu. Thanks.
(2015-03-24, 13:24)guymyer Wrote: [ -> ]I'm also curious, what is the chrome plugin and how is that configured?

Should be the Chrome Launcher, you can find it here: 170965 (thread).

(2015-03-24, 20:29)Mark142 Wrote: [ -> ]Quick one. Does this work on kodiubuntu. Thanks.

It should work, because NetfliXBMC uses Chrome Launcher to run Netflix, and Chrome Launcher works on Linux.
I have it running on kodibuntu, its feels almost like a native plugin.
The plugin mostly works. The issue I'm having is with sound, the first video watched the sound works fine, the second, no sound. I'm running kodiuntu, I'm not a linux noob and I still can't work this out.

I have appended --alsa-output-device=plughw:0,3 to the chrome line in browser.sh and just for good measure I also put in --disable-bundled-ppapi-flash.

Without the alsa line you don't get sound on the first run either. I've looked through the chrome command line switches to see if there is anything relevant but nothing jumps out at me.

I've checked what chrome is loading library wise using lsof | grep chrome | grep asound, did it with pulse as well. It loads libraries from both flavours. Pulse isn't really installed as my system is based on Trusty with has a broken pulseaudio package.

Chrome seems to start with the same flags everytime (checked with ps).

Has anyone else seen this problem and found a work around? Is there a log I've missed somewhere?
I have cliclick installed on my mac, but the mouse cursor is not hidden. Anyone else had this?
I got mine working on Kodibuntu 14.2 with the latest chrome-launcher. I put the "openbox &" command in /usr/bin/kodi-standalone right after the copyright & before APP=Kodi. I am using this script for the custom script for chrome-launcher.


#!/bin/bash
xdotool mousemove 0 1082 &
/opt/google/chrome/google-chrome $*

For the remote, I use Yatse. I didn't customize any settings on the remote. I turn off Netflix by using the info button or eyeball on the remote. The enter button for play/pause, left/right arrows for fast forward/reverse.

For the audio.
Keep audio device alive "OFF"
Play GUI sounds "Never"

Netflixbmc app
I turned off the "Use Chrome Control Plugin"
Turned on "Enable webremote control"
I'd love to watch Netflix in XBMC, but I can't get the plugin to work.

Situation:
- OSX Yosemite
- XBMC 13.2
- Multiple profiles in Netflix
- Installed Chrome Launcher

Issue:
The screen on which I should be able to select a profile stays blank with only a title saying "Who's watching?".

What I've tried:
- Updating the chooseProfile() method; the fix provided here doesn't help though.
- Installing the addons (Chrome Launcher and Netflixbmc) on a different system that runs Kodi 14.1, but no luck.
- I'm not sure if I should do anything about the Chrome Launcher configuration.

Side questions to hopefully solve this issue:
- How can I be sure that my Chrome Launcher works?
- Where can I find addon specific log messages? Simply enable debugging and tail ~/Library/Logs/kodi.log?

Thanks in advance for any help :-)
(2015-03-25, 22:41)phunkkify Wrote: [ -> ]I'd love to watch Netflix in XBMC, but I can't get the plugin to work.

Situation:
- OSX Yosemite
- XBMC 13.2
- Multiple profiles in Netflix
- Installed Chrome Launcher

Issue:
The screen on which I should be able to select a profile stays blank with only a title saying "Who's watching?".

What I've tried:
- Updating the chooseProfile() method; the fix provided here doesn't help though.
- Installing the addons (Chrome Launcher and Netflixbmc) on a different system that runs Kodi 14.1, but no luck.
- I'm not sure if I should do anything about the Chrome Launcher configuration.

Side questions to hopefully solve this issue:
- How can I be sure that my Chrome Launcher works?
- Where can I find addon specific log messages? Simply enable debugging and tail ~/Library/Logs/kodi.log?

Thanks in advance for any help :-)

Open this file:

Code:
/path/to/Kodi/addons/plugin.video.netflixbmc/default.py

Go to line 789 and change this:

Code:
match = re.compile('"decodedName":"(.+?)".+?guid":"(.+?)".+?experience":"(.+?)"', re.DOTALL).findall(content)

to this:

Code:
match = re.compile('"firstName":"(.+?)".+?guid":"(.+?)".+?experience":"(.+?)"', re.DOTALL).findall(content)

Once you change decodedName to firstName, the profile selection screen works again.
(2015-03-27, 07:57)timewasted Wrote: [ -> ]
(2015-03-25, 22:41)phunkkify Wrote: [ -> ]I'd love to watch Netflix in XBMC, but I can't get the plugin to work.

Situation:
- OSX Yosemite
- XBMC 13.2
- Multiple profiles in Netflix
- Installed Chrome Launcher

Issue:
The screen on which I should be able to select a profile stays blank with only a title saying "Who's watching?".

What I've tried:
- Updating the chooseProfile() method; the fix provided here doesn't help though.
- Installing the addons (Chrome Launcher and Netflixbmc) on a different system that runs Kodi 14.1, but no luck.
- I'm not sure if I should do anything about the Chrome Launcher configuration.

Side questions to hopefully solve this issue:
- How can I be sure that my Chrome Launcher works?
- Where can I find addon specific log messages? Simply enable debugging and tail ~/Library/Logs/kodi.log?

Thanks in advance for any help :-)

Open this file:

Code:
/path/to/Kodi/addons/plugin.video.netflixbmc/default.py

Go to line 789 and change this:

Code:
match = re.compile('"decodedName":"(.+?)".+?guid":"(.+?)".+?experience":"(.+?)"', re.DOTALL).findall(content)

to this:

Code:
match = re.compile('"firstName":"(.+?)".+?guid":"(.+?)".+?experience":"(.+?)"', re.DOTALL).findall(content)

Once you change decodedName to firstName, the profile selection screen works again.

My line 789 reads this:
Code:
ok = True

And the string "decodedName" can't be found in the entire default.py file..

To be precise:
- Have a clean plugin with an unchanged chooseProfile() method
- I'm editing
Code:
~/Library/Application\ Support/Kodi/addons/plugin.video.netflixbmc-1.3.4/default.py

Even when applying the change in the chooseProfile method the line numbers don't match, plus I get a script error in Kodi (and XBMC).

Any advice?
(2015-03-19, 21:26)Cr0wl3r Wrote: [ -> ]Better Call Saul was released in Germany this year, but with a new method.
One time a week one new episode is released.

With this new method Netflixbmc will fail with the follwing error in the log

Quote:20:15:56 T:13904 NOTICE: Previous line repeats 1 times.
20:15:56 T:13904 NOTICE: Thread LanguageInvoker start, auto delete: false
20:15:56 T:13904 NOTICE: -->Python Interpreter Initialized<--
20:15:57 T:13904 ERROR: EXCEPTION Thrown (PythonToCppException) : -->Python callback/script returned the following error<--
- NOTE: IGNORING THIS CAN LEAD TO MEMORY LEAKS!
Error Type: <type 'exceptions.ValueError'>
Error Contents: No JSON object could be decoded
Traceback (most recent call last):
File "C:\Users\Christian\AppData\Roaming\XBMC\addons\plugin.video.netflixbmc\default.py", line 1119, in <module>
listSeasons(name, url, thumb)
File "C:\Users\Christian\AppData\Roaming\XBMC\addons\plugin.video.netflixbmc\default.py", line 431, in listSeasons
content = json.loads(content)
File "D:\Program Files (x86)\XBMC\system\python\Lib\json\__init__.py", line 338, in loads
return _default_decoder.decode(s)
File "D:\Program Files (x86)\XBMC\system\python\Lib\json\decoder.py", line 365, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "D:\Program Files (x86)\XBMC\system\python\Lib\json\decoder.py", line 383, in raw_decode
raise ValueError("No JSON object could be decoded")
ValueError: No JSON object could be decoded
-->End of Python script error report<--
20:15:57 T:5912 ERROR: XFILE::CDirectory::GetDirectory - Error getting plugin://plugin.video.netflixbmc/?mode=listSeasons&name=Better%20Call%20Saul&thumb=https%3a%2f%2fscdn.nflximg.net%2fimages%2f2702%2f12112702.jpg&url=80021955
20:15:57 T:5912 ERROR: CGUIMediaWindow::GetDirectory(plugin://plugin.video.netflixbmc/?mode=listSeasons&name=Better%20Call%20Saul&thumb=https%3a%2f%2fscdn.nflximg.net%2fimages%2f2702%2f12112702.jpg&url=80021955) failed
20:15:57 T:12360 NOTICE: Thread BackgroundLoader start, auto delete: false

Other Series are working.

I had a look to the default.py but I don't know phython.
I guess there is a problem with the new layout of the episode list.

At the moment it seems so that in Germany there will be more and more series with a new publishing model.
Only one episode a week will be activated.
The episode wich isn't activated has a default image and the playtime is missing.

Maybe it's a problem with the missing playtime?

Image

I hope there is somone who can help me with this.

Because you guys said you don't have access to a german netflix account maybe it helps to give you the website source code: Better Call Saul Source Code Episode List

That's the sourcecode I get from the browser.
(2015-03-27, 19:27)Cr0wl3r Wrote: [ -> ]
(2015-03-19, 21:26)Cr0wl3r Wrote: [ -> ]Better Call Saul was released in Germany this year, but with a new method.
One time a week one new episode is released.

With this new method Netflixbmc will fail with the follwing error in the log

Quote:20:15:56 T:13904 NOTICE: Previous line repeats 1 times.
20:15:56 T:13904 NOTICE: Thread LanguageInvoker start, auto delete: false
20:15:56 T:13904 NOTICE: -->Python Interpreter Initialized<--
20:15:57 T:13904 ERROR: EXCEPTION Thrown (PythonToCppException) : -->Python callback/script returned the following error<--
- NOTE: IGNORING THIS CAN LEAD TO MEMORY LEAKS!
Error Type: <type 'exceptions.ValueError'>
Error Contents: No JSON object could be decoded
Traceback (most recent call last):
File "C:\Users\Christian\AppData\Roaming\XBMC\addons\plugin.video.netflixbmc\default.py", line 1119, in <module>
listSeasons(name, url, thumb)
File "C:\Users\Christian\AppData\Roaming\XBMC\addons\plugin.video.netflixbmc\default.py", line 431, in listSeasons
content = json.loads(content)
File "D:\Program Files (x86)\XBMC\system\python\Lib\json\__init__.py", line 338, in loads
return _default_decoder.decode(s)
File "D:\Program Files (x86)\XBMC\system\python\Lib\json\decoder.py", line 365, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "D:\Program Files (x86)\XBMC\system\python\Lib\json\decoder.py", line 383, in raw_decode
raise ValueError("No JSON object could be decoded")
ValueError: No JSON object could be decoded
-->End of Python script error report<--
20:15:57 T:5912 ERROR: XFILE::CDirectory::GetDirectory - Error getting plugin://plugin.video.netflixbmc/?mode=listSeasons&name=Better%20Call%20Saul&thumb=https%3a%2f%2fscdn.nflximg.net%2fimages%2f2702%2f12112702.jpg&url=80021955
20:15:57 T:5912 ERROR: CGUIMediaWindow::GetDirectory(plugin://plugin.video.netflixbmc/?mode=listSeasons&name=Better%20Call%20Saul&thumb=https%3a%2f%2fscdn.nflximg.net%2fimages%2f2702%2f12112702.jpg&url=80021955) failed
20:15:57 T:12360 NOTICE: Thread BackgroundLoader start, auto delete: false

Other Series are working.

I had a look to the default.py but I don't know phython.
I guess there is a problem with the new layout of the episode list.

At the moment it seems so that in Germany there will be more and more series with a new publishing model.
Only one episode a week will be activated.
The episode wich isn't activated has a default image and the playtime is missing.

Maybe it's a problem with the missing playtime?

Image

I hope there is somone who can help me with this.

Because you guys said you don't have access to a german netflix account maybe it helps to give you the website source code: Better Call Saul Source Code Episode List

That's the sourcecode I get from the browser.

I can use unblock us to switch my region to the uk to watch better call Saul but have not had any time to look at it. An 8mo baby sucks a lot of my time :-)
Now that netflix is launched in Australia im looking for a way to integrate it into Kodi. I havent seen any mention in this thread specifically about Australian netflix but should it all work OK? I plan to give it a shot
(2015-03-28, 03:12)scarecrow420 Wrote: [ -> ]Now that netflix is launched in Australia im looking for a way to integrate it into Kodi. I havent seen any mention in this thread specifically about Australian netflix but should it all work OK? I plan to give it a shot

Yep should just work as the website is actually the same
I will look at the Better call saul issue and profile issue today or tomorrow
(2015-03-28, 04:08)JasonPell Wrote: [ -> ]
(2015-03-28, 03:12)scarecrow420 Wrote: [ -> ]Now that netflix is launched in Australia im looking for a way to integrate it into Kodi. I havent seen any mention in this thread specifically about Australian netflix but should it all work OK? I plan to give it a shot

Yep should just work as the website is actually the same

I'm using NetfliXBMC with an Australian account and have had problems.

For example, if you try to list seasons of an "Australian Netflix Only" TV Show, the error described by Cr0wl3r above occurs. That is:
Quote:..\AppData\Roaming\XBMC\addons\plugin.video.netflixbmc\default.p​y", line 1119, in <module>
listSeasons(name, url, thumb)
..\AppData\Roaming\XBMC\addons\plugin.video.netflixbmc\default.p​y", line 431, in listSeasons

This error occurs in default.py:getSeriesInfo method. This method forms a Netflix API query that includes a country code.
The country code is retrieved from settings and is defaulted to US.
Netflix then returns empty XML because the US does not show this series. If you change the country code to AU everything works.

To fix the problem I added the "language" line to settings.xml:
Quote: <category label="30202">
<setting id="username" type="text" label="30101" default=""/>
<setting id="password" type="text" option="hidden" label="30102" default="" />
<setting id="language" type="text" label="30128" default="en-AU"/>

This settings change will allow you to modify the language to "en-AU" so Australian content is available.

This worked for me, however, you may want to change the language line default to en-US for general release, but JasonPell may suggest a better way to do this.

Chris