To get it working on my Shield TV, I had to revert those "Change search path logic for decrypter" commits.
edit: it seems peak3d pushed a fix two minutes ago
To get it working on my Shield TV, I had to revert those "Change search path logic for decrypter" commits.
edit: it seems peak3d pushed a fix two minutes ago
Yes, you have to remove the "_DEBUG" preprocessor definition from bento4 and ssd_wv:
@leonard21: To compile Kodi, if you have downloaded the required dependencies and have all the needed tools, you only have to run \project\Win32BuildSetup\BuildSetup.bat.
But before that, if you want to compile the inputstream addon easily, edit \cmake\addons\bootstrap\repositories\binary-addons.txt and change the line to
After that, you'll need to generate the wvdecrypter .sln with
and compile it.
Copy the ssd_wv.dll you got and widevinecdm.dll to the cdm folder (I recommend you running Agile builds in portable mode with "Kodi -p") and you'll get Netflix working on Windows
koyings MediaCodecAudio was a P(roove)O(f)C(oncept) and there are some audio codecs missing from implementation side wich has to be added.<br style="background-color: rgb(241, 245, 250);">I don't like the idea switching MediaCodec off if stream is not encrypted, more we should try to add the missing codecs.
My hope was that you are able to help on this part, but to make it simple: let me know if you want to go into it to avoid double work.....
The [definition='1','0']log[/definition] shows problems with amc-aac so it isn't a matter of a missing codec. Anyway, my coding skills are pretty basic (at the end, all I did was to add Koying's code for mediacodec audio from Jarvis and the needed changes for Krypton) so it may be something that I'm not capable of.
My hard drive with the dev stuff failed and I could save most of the stuff but not my Ubuntu VM, so I have to start one from scratch and these days won't have much time
Looking at the debug file, the audio stream isn't encrypted so a solution would be to use mediacodec only for encrypted audio: (DVDFactoryCodec.cpp)
if (!(hint.extrasize > 6 && strncmp((char*)hint.extradata,"CRYPTO", 6) == 0))
{
// we don't use passthrough if "sync playback to display" is enabled
if (allowpassthrough)
{
pCodec = OpenCodec(new CDVDAudioCodecPassthrough(processInfo), hint, options);
if (pCodec)
return pCodec;
}
pCodec = OpenCodec(new CDVDAudioCodecFFmpeg(processInfo), hint, options);
if (pCodec)
return pCodec;
}
#if defined(TARGET_ANDROID)
else
{
pCodec = OpenCodec(new CDVDAudioCodecAndroidMediaCodec(processInfo), hint, options);
if (pCodec)
return pCodec;
}
#endif
Alles anzeigen
So we need the credentials from a device with plays 1080p + DD+.
I think this will be one of the AF devices and we have to move away from html parsing and use directly the JSON api wich is used by the android apps.
I've been doing some experiments with Charles Proxy on my Shield TV with the Amazon app and I got the DeviceTypeId: AR8DE21S8PINM but it doesn't seem to work.
This url seems interesting:
For those interested, here is a tutorial (the post with pictures) on how to install Charles Proxy. To install the certificate, you need your Android device rooted and Root Certificate Manager (I tried all the methods I could find for non-rooted devices but, at least on the Shield, they didn't work)
Unfortunately, they changed something and, now, if we delete the /1$....../ from the mpd url, 720p is the max resolution but if we do not delete it, that means we do not get DD+ audio.
So, if you want 1080p (but no DD+) you must delete this line from the default.py:
@Uukrul can you pls post the configure call you use?
I edited my post with the configure I use.
I only could compile it after reverting https://github.com/peak3d/xbmc/co…6d5de1a49dc324f
edit: the link I posted before wasn't the correct one. These are my configure options:
All worked fine here except Die Bestimmung - Allegiant (2016) that has the Mismatch NAL problem:
ZitatAddOnLog: InputStream Adaptive: Mismatch NAL / Subsample (nls: 4) 14 -> 1234
My prefered host is set to Akamai so maybe that can be the difference. Check the [definition=12,0][definition=12,1]debug [definition='1','0']log[/definition][/definition][/definition] to see if you have those Mismatch NAL errors after playing a movie.
I tried the latest build with Tremors (I can confirm looking at the .mpd that audio tracks are encrypted) and it crashes Kodi:
ZitatAlles anzeigen00:38:48.691 T:1474246960 DEBUG: FactoryCodec - Audio: mediacodec - Opening
00:38:48.691 T:1474246960 DEBUG: CDVDAudioCodecAndroidMediaCodec::Open codec(86018), profile(-99), tag(0), extrasize(34)
00:38:48.691 T:1474246960 DEBUG: CDVDAudioCodecAndroidMediaCodec:: CRYPTO size(30), EXTRA size(4)
00:38:48.696 T:1474246960 DEBUG: XXX Parsing Crypto (size: 22)
00:38:48.708 T:1474246960 DEBUG: CDVDAudioCodecAndroidMediaCodec:: sample_rate(48000), channel_count(2)
00:38:48.708 T:1474246960 INFO: CDVDAudioCodecAndroidMediaCodec:: Open Android MediaCodec amc-aac
00:38:48.708 T:1474246960 DEBUG: FactoryCodec - Audio: mediacodec - Opened
00:38:48.708 T:1474246960 NOTICE: Closing stream player 3
00:38:48.711 T:1474246960 NOTICE: Opening stream: 0 source: 1025
00:38:48.711 T:1659623728 DEBUG: CDVDAudio::Pause - pausing audio stream
00:38:48.754 T:1474246960 DEBUG: AddOnLog: InputStream Adaptive: EnableStream(3: false)
00:38:48.754 T:1474246960 DEBUG: AddOnLog: InputStream Adaptive: EnableStream(4: false)
00:38:48.754 T:1474246960 DEBUG: AddOnLog: InputStream Adaptive: EnableStream(5: false)
00:38:48.756 T:1659623728 DEBUG: CDVDAudioCodecAndroidMediaCodec::Decode size: 10, NumSubsamples: 0
00:38:48.756 T:1659623728 DEBUG: CDVDAudioCodecAndroidMediaCodec::queueSecureInputBuffer(1)
00:38:48.757 T:1659623728 ERROR: CDVDAudioCodecAndroidMediaCodec::Decode ExceptionCheck
00:38:48.758 T:1474246960 DEBUG: CurlFile::ParseAndCorrectUrl() adding custom header option 'Connection: keep-alive'
00:38:48.758 T:1474246960 DEBUG: CurlFile::ParseAndCorrectUrl() adding custom header option 'Range: bytes=68652-101358'
Was noch aufgefallen ist, ist die Tatsache, dass ein commit von @uukrull verloren gegangen ist, und dadurch mediaCodecAudio für verschlüsselte streams gar nicht aktiv ist.
Yes, you were missing the FactoryCodec change, but Mediacodec audio for encrypted tracks doesn't work and it will probably crash Kodi when trying to play a video with encrypted audio. For normal videos, it works without problems and you can see that Kodi is using the amc-aac mediacodec.
Ok, not sure what is different for your case. I am currently not able to test, but it could be another CDN, not AKAMAI (maybe cloudfront?). At least I got /dm/.../video as url part.
I checked it and Cloudfront has a /dm/ instead of a /d/ (Akamai and Level3), but with the latest regex there is no problem now
Just to be sure... the attached file is for the Addon from Sandmann?
Yes, just replace the default.py from the zip I posted.
Zitat
That works without problems with the first regex I posted and the new one. While doing some tests with the &audioTrackId parameter, sometimes I got a /d/2$[random chars]~/ and that also works now.
@KingNothing, use the attached one.
Some days ago I noticed the addon stopped working with a lot of videos with the following error:
ZitatERROR: AddOnLog: InputStream MPEG DASH: Mismatch NAL / Subsample (nls: 4) 17 -> 246
ERROR: AddOnLog: InputStream MPEG DASH: Decrypt Sample returns failure!
but the other addon worked fine. So I checked the differences and found out the "culprit": &deviceBitrateAdaptationsOverride=CVBR%2CCBR
Amazon must have changed something because even with that parameter, some videos show the Mismatch NAL / Subsample error (the first episode of the original Star Trek [Anzeige] serie, for example, or all the episodes from 2 Broke Girls [Anzeige])
libdev: Can this be fixed?