Closed Essam315 closed 5 years ago
I can confirm this issue on Pi 3, I was able to play all videos by enabling HEVC profiles, but today no video can be played. I didn't update the addon, OSMC or any other package, it seems to be a change from Netflix.
Same here on libreelec 8.90.007 running Netflix 0.13.16 which was playing fine yesterday. Browsing and navigation is totally fine, but video playback stalls
For me too Pi2 Libreelec Kodi 18 movie not play in 0.13.18 so I update to 0.13.19 thats same situation I change experts setting enabling HEVC no result then i enabling VP9 no result
For me too Pi2 Libreelec Kodi 18 movie not play in 0.13.18 so I update to 0.13.19 thats same situation I change experts setting enabling HEVC no result then i enabling VP9 no result
same here but with osmc latest version on PI3 with 0.13.18
Without option changes : https://pastebin.com/AtQ8NyEm With option changes : https://pastebin.com/tvQFXzB9
I can confirm on both rpi 3 and on a GalliumOS Chromebook (where 0.13.18 worked great a couple of days ago). And FWIW, on the rpi 3, Netflix still works with Vivaldi+Widevine and on GalliumOS with Chrome.
I don't think that the problem is with version, I get back to 0.13.13 & 0.13.15 and the problem remains. Also I test it on RC1 and beta 4 with no luck.
I tried 0.13.16 and 0.13.17 as well on the rpi 3. No luck. Sure looks like a Netflix-side change.
@tsioukas I talked about 0.13.18 because the official 0.13.19 is broken for another reason, but 0.13.18 was working until today, 0.13.16 and the releases before it were broken from a longtime ago.
@Essam315, yes you are right I didn’t know that it was broken before... I have 2-3 days to see something on Netflix and I didn't notice what version I had that time.
This is my pastebin for 0.13.18 https://pastebin.com/RBUpM7ck
Here is an excerpt from my log, since it looks pretty different from what tanis2000 has:
Yesterday, everything was working fine and I haven't changed anything since.
I'm on 0.13.18, too, Raspberry Pi 2, Archlinux.
I was just playing with the Addon to see if I could find the error and I found that the Server send this Stack Trace in the manifest:
"Content:com.netflix.streaming.content.core.internal.model.exception.ContentException: Playback not permitted. Reason: 446 (Playback not permitted.)"
https://pastebin.com/embed_js/Ev2i634Z
I will continue exploring the Addon later but might be that Nexflix is not allowing us to Stream content...
EDIT: This server exception appeared also here: #532
Same issue for me On Raspberry
Just wanted to let everyone know I'm aware of the issue. Unfortunately I'm curently not available to work on an analysis and solution, sorry. I'll try to look into during the weekend.
I implemented the manifest request for msl api 2, and it produces at least a manifest. Unfortunately the new JSON manifest is quite different to the v1 manifest which means a rewrite of the JSON -> MPD converter.
I did a shot for video in this branch, but need to change licnse request to v2, too to get it working. If anyone wants to support development, pls. let me know to avoid double work.
I implemented the manifest request for msl api 2, and it produces at least a manifest. Unfortunately the new JSON manifest is quite different to the v1 manifest which means a rewrite of the JSON -> MPD converter.
I did a shot for video in this branch, but need to change licnse request to v2, too to get it working. If anyone wants to support development, pls. let me know to avoid double work.
can u also add "hevc-main10-L30-dash-cenc-prk" to the profile in the manifest? this fixes some problems on rpi3
watching your msl2 branch , props for your work!
@liberty-developer is the netflix address here correct? The return value is 404 when I hit it.
I Think the complete URL sould be:
https://www.netflix.com/nq/msl_v1/cadmium/pbo_licenses/%5E1.0.0/router
It is the one the Netflix Player uses in Chrome.
Cheers!
@liberty-developer is the netflix address here correct? The return value is 404 when I hit it.
I implemented the manifest request for msl api 2, and it produces at least a manifest. Unfortunately the new JSON manifest is quite different to the v1 manifest which means a rewrite of the JSON -> MPD converter.
I did a shot for video in this branch, but need to change licnse request to v2, too to get it working. If anyone wants to support development, pls. let me know to avoid double work.
I can help, I was working on my own version of MSLv2.py, but I fall slept, I am alive now... so, hit me!
@jakermx what would help is adapting audio and subs,, simply copy back the parts from MSL.py. The new JSON manifest provides more information compared to v1, so maybe we can make the Adaptationset / Representations more complete. Interseting part is the sidx block in audio, should be done idential to video
Edit: I'll continue with licensing, the request / and url must be changed.
Gotcha...
I did that and I did something on getting licences and I have no errors and everything look good, but I have no playback, I think it is because I did a lot of changes before getting MSL2, I am going to install it from the scratch and test my changes...so I will keep you posted in a few minutes.
I got video....but no audio.... so far
:)
Adaptation for Audio is missing... working on it
Man! This is the page of the day! Even if you fix it, I will not be able to test it today. Still... this is the page of the day :)
@StelArian, this is the power of open source. community ... as a software engineer I'm a little bit jealous... but unfortunately I'm not familiar with Python.
Congrats guys, I hope to find the solution soon
Watching this thread is better than Netflix itself.
@jakermx I was unable to get the license request v2 working, so I switched back to the previous license request (but new manifest request), video is working with the latest commit in msl2 branch.
Have you got license_request v2 working? I got always HTTP 400 error....
Here we go...
These are the files that I modified and I got video and audio working so far... but I have not fixed the loading time, it takes about a minute to start the playback using MANUAL STREAM SELECTION in InputStream, I think it is because it have a lot of streams available and in someway it is buffering all of them or something like...
09:32:24.941 T:1309078384 NOTICE: Creating InputStream 09:32:29.775 T:1309078384 NOTICE: Creating Demuxer 09:32:29.778 T:1309078384 NOTICE: Opening stream: 1 source: 256 09:33:07.560 T:1937952288 NOTICE: Samba is idle. Closing the remaining connections 09:33:59.852 T:1309078384 NOTICE: Display resolution ADJUST : 1920x1080 (1920x1080) @ 23.98 - Full Screen (43) (weight: 0.000) 09:34:00.019 T:1937952288 NOTICE: VideoPlayer: OnLostDisplay received 09:34:00.019 T:1937952288 WARNING: CDVDMessageQueue(audio)::Put MSGQ_NOT_INITIALIZED 09:34:00.019 T:1937952288 WARNING: CDVDMessageQueue(video)::Put MSGQ_NOT_INITIALIZED 09:34:00.211 T:1937952288 NOTICE: VideoPlayer: OnResetDisplay received 09:34:00.211 T:1937952288 WARNING: CDVDMessageQueue(audio)::Put MSGQ_NOT_INITIALIZED 09:34:00.211 T:1937952288 WARNING: CDVDMessageQueue(video)::Put MSGQ_NOT_INITIALIZED 09:34:00.223 T:1309078384 NOTICE: Creating video codec with codec id: 27 09:34:00.233 T:1309078384 NOTICE: Creating video thread 09:34:00.233 T:1327924080 NOTICE: running thread: video_thread
This example took 1:30 to start playing
Another thing, since I dont have any documentation on MSL Manifests I mixed v1 for load_manifest and v0 for get_license. As I have ever said THIS IS JUST A WORKAROUND
Hope it helps... Cheers JakerMX_MSL_Workaround.zip
Got fast playback changing the indexRange
# BaseURL
base_url = self.__get_base_url(stream['urls'])
ET.SubElement(rep, 'BaseURL').text = base_url
# Init an Segment block
sidx = stream['downloadable_id']
segment_base = ET.SubElement(
parent=rep,
tag='SegmentBase',
#Removed
#indexRange='0-' + str(stream['startByteOffset'] + stream['size']),
indexRange='0-' + str(init_length),
indexRangeExact='true')
Awesome, I'll try that on my setup tonight and report back. Thank you for the work.
@jakermx I was unable to get the license request v2 working, so I switched back to the previous license request (but new manifest request), video is working with the latest commit in msl2 branch.
Have you got license_request v2 working? I got always HTTP 400 error....
Nope, I don have the needed request structure, but if you share it with me, I can handle it pretty fast.
Cheers!
@jakermx if you debug chrome, open cadmium js file, pretty print and search for _mslRequest (first occurrence) and set a breakpoint. In my last commit the v1 request structure is commented out, if you switch comments and reactivate the url endpoint, you should be able to test. Not sure, if cookies are the reason here.....
Ok, thanks for the tip...
I dont think cookies are the issue, but It could be the headers since the HTTP400 response is from the GET/POST request, Let me try it and I will get back with my findings.
Since same version without my patch was working on Androind I think it is some OS or HW ralated issue, I was debuging it and creatting patterns from Androind and trying to reproduce them on RPI.
I tried workaround with Rpi 3 B+ with no luck. I might doing something wrong. Snip from the logfile:
18:44:01.251 T:1443885808 NOTICE: Creating InputStream 18:44:03.077 T:1443885808 ERROR: AddOnLog: InputStream Adaptive: Could not open / parse mpdURL (http://localhost:35945/manifest?id=80199682&dolby=true&hevc=true&hdr=true&dolbyvision=true)
any suggestions?
I tried workaround with Rpi 3 B+ with no luck. I might doing something wrong. Snip from the logfile:
18:44:01.251 T:1443885808 NOTICE: Creating InputStream 18:44:03.077 T:1443885808 ERROR: AddOnLog: InputStream Adaptive: Could not open / parse mpdURL (http://localhost:35945/manifest?id=80199682&dolby=true&hevc=true&hdr=true&dolbyvision=true)
any suggestions?
check the manifest.json what error u get.
I tried workaround with Rpi 3 B+ with no luck. I might doing something wrong. Snip from the logfile:
18:44:01.251 T:1443885808 NOTICE: Creating InputStream 18:44:03.077 T:1443885808 ERROR: AddOnLog: InputStream Adaptive: Could not open / parse mpdURL (http://localhost:35945/manifest?id=80199682&dolby=true&hevc=true&hdr=true&dolbyvision=true)
any suggestions?
Try disabling HEVC, HDR, DolbyVision....
Got fast playback changing the indexRange
# BaseURL base_url = self.__get_base_url(stream['urls']) ET.SubElement(rep, 'BaseURL').text = base_url # Init an Segment block sidx = stream['downloadable_id'] segment_base = ET.SubElement( parent=rep, tag='SegmentBase', #Removed #indexRange='0-' + str(stream['startByteOffset'] + stream['size']), indexRange='0-' + str(init_length), indexRangeExact='true')
i tested this version on a rpi3 (not rpi 3b+) and it works. only thing is that i cant get the 720p stream. it always uses 1080 even when i set max resolution to 720 So i got a few hickups while playing with hyperion enabled for my ambilight. Without hyperion its running near perfect.
Great work so far !!
Update on myself: I set max secure to 640 and its playing at 720
The resolution set on InputStream is for height, strange since it is more related to width....jejejeje
So, 720 take 1080 o higher x720...
Got fast playback changing the indexRange
With the MSL2 branch and these 2 files applied, I can play netflix videos fine (audio + video). :+1:
@louiz msl2 branch should play audio + video without any patches.
I tried workaround with Rpi 3 B+ with no luck. I might doing something wrong. Snip from the logfile: 18:44:01.251 T:1443885808 NOTICE: Creating InputStream 18:44:03.077 T:1443885808 ERROR: AddOnLog: InputStream Adaptive: Could not open / parse mpdURL (http://localhost:35945/manifest?id=80199682&dolby=true&hevc=true&hdr=true&dolbyvision=true) any suggestions?
check the manifest.json what error u get.
I might be little dummy but where manifest.json file is located?
.kodi/user_data/addondata/plugin.video.netflix/
You guys are awesome thanks for all the hard work.
I’m totally useless at diagnosis and repair, but more than happy to do some testing to help out. Let me know if there’s anything I can do or test. Running libreelec
thanks a lot, with the msl2 branch audio and video work fine again!
One minor issue: automatic audio stream selection doesn't seem to work as before. It now selects German 2ch instead of English (original) 6ch by default (checked with Black Mirror S01E01, Marvel's Daredevil S03E01)
Maybe it's only on my side but I think subtitle are not working right now
@HiassofT what happens if you remove "prefer default streams" in settings::player::language ? @maxmasou subs are not yet implemented, I guess they'll come tonight
.kodi/user_data/addondata/plugin.video.netflix/
Interesting. In that folder are only msl_data.json file. Fishy situation.
I'm submitting a ...
General infomration
Prerequisites
Description
The video playback is not working in the release 0.13.18, when i try to play a video nothing happens, I'm not using any VPN, inputstream.adaptive is updated to the latest release 2.3.11, and this problem happened today, and not related in anyway with the problem in 0.13.19 which has been fixed for me here https://github.com/asciidisco/plugin.video.netflix/commit/5d363569b025247f5005a2266e69efddb1476cc7 (it seems that the plugin is working now on the android devices).
Context (Environment)
Installation
Operating System
Additional informatin on the environment
Kodi 18 Leia RC, Windows 10
Debug log
https://pastebin.com/BSYAg2jM
Other information
Here is manifest.json.
manifest.zip