Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[OQEE] - Decrypt failed with error: 2 and key: 00000000000000000000000000000000 #1566

Open
2 of 7 tasks
Nitorac opened this issue May 29, 2024 · 6 comments
Open
2 of 7 tasks

Comments

@Nitorac
Copy link

Nitorac commented May 29, 2024

Bug report

Describe the bug

Here is a clear and concise description of what the problem is:

Disclaimer: I'm kinda new to all of this Widevine madness, I could possibly miss something.

I'm trying to support a French TV provider (OQEE from Free (a French ISP)).

The stream starts on Kodi but I have what seems a failed decryption (green artifacts, unusable image, no sound).
The logs are mentionning failed decryption.
It seems that the license_key I provide is correct (no more complaining in logs about an invalid response).

Here is my test addon that starts the stream:

listitem = xbmcgui.ListItem(path='https://api-proxad.dc2.oqee.net/playlist/v1/live/201/1/live.mpd', offscreen=True)

# These two lines are needed to prevent the HTTP HEAD request from Kodi core, used to determine the mimetype
listitem.setMimeType('application/dash+xml')
listitem.setContentLookup(False)

listitem.setProperty('inputstream', 'inputstream.adaptive')
listitem.setProperty('inputstream.adaptive.license_type', 'com.widevine.alpha')

license_headers = {
    'Content-Type': 'application/json',
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:126.0) Gecko/20100101 Firefox/126.0', #"web_utils.get_random_windows_ua(),
    'authorization': 'Bearer <REDACTED>',
    'Origin': 'https://oqee.tv',
    'Referer': 'https://oqee.tv',
    'Priority': 'u=4',
    'x-oqee-account-provider': 'free',
    'x-oqee-customization': 1,
    'x-oqee-platform': 'web',
    'x-oqee-profile': '<REDACTED>',
    'x-fbx-rights-token': '<REDACTED>',
}

from urllib.parse import urlencode
license_config = { 
    'license_server_url': "https://license.oqee.net/api/v1/live/license/widevine",
    'headers': urlencode(license_headers),
    'post_data': '%7B%22licenseRequest%22%3A%22b{SSM}%22%7D',
    'response_data': 'JBlicense;expiration'
}
listitem.setProperty('inputstream.adaptive.license_key', '|'.join(license_config.values()))


# Pass the item to the Kodi player.
xbmcplugin.setResolvedUrl(HANDLE, True, listitem=listitem)

Expected Behavior

Here is a clear and concise description of what was expected to happen:

The stream should display an unencrypted video data with sound.

Actual Behavior

The stream shows what seems to be an encrypted video stream.

Possible Fix

None that I have found (I tried to tweak around some things but always the same issue)

To Reproduce

Steps to reproduce the behavior:

Hard to reproduce because you should have my account credentials or tokens (if needed I can send them in PM but I don't know if it works outside France)

  1. Create a ListItem with the MPD URL of any channels OQEE provides
  2. Configure inputstream.adaptative license stuff as stated above in the bug description
  3. Start the addon and witness a greenny stuff

Debuglog

The debuglog can be found here:
https://paste.kodi.tv/mayoceqotu.kodi

MPD/M3U8s/ISM

An example or copy of a manifest (or manifests for HLS - master and variants) can be found here:

<?xml version="1.0" encoding="UTF-8"?>
<MPD xmlns="urn:mpeg:dash:schema:mpd:2011" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:mpeg:dash:schema:mpd:2011 DASH-MPD.xsd" xmlns:cenc="urn:mpeg:cenc:2013" profiles="urn:mpeg:dash:profile:isoff-live:2011" type="dynamic" publishTime="2024-05-29T10:19:15Z" availabilityStartTime="1970-01-01T00:00:00Z" minimumUpdatePeriod="PT2S" minBufferTime="PT6.4S" timeShiftBufferDepth="PT14400S" suggestedPresentationDelay="PT9.6S">
	<UTCTiming schemeIdUri="urn:mpeg:dash:utc:http-iso:2014" value="https://time.akamai.com/?iso" />
	<Period id="0" start="PT0S">
		<AdaptationSet id="0" group="1" segmentAlignment="true" startWithSAP="1" contentType="video">
			<ContentProtection schemeIdUri="urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed"><cenc:pssh>AAAAiHBzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAAGgIARIQocf9FUFCoGm775zPIBr3HRIQV1Z+z9RXSbgW1m2ubAU79BIQ/pKJ1nsD0fi3pXUMM+s6MxIQBUPt0jMQHBv88X604SEGTBIQUls9kMYGQ/Slzaq7eDsaJBoAKgAyADgASABQAA==</cenc:pssh></ContentProtection>
			<ContentProtection schemeIdUri="urn:mpeg:dash:mp4protection:2011" value="cenc" cenc:default_KID="a1c7fd15-4142-a069-bbef-9ccf201af71d"/>
			<SupplementalProperty schemeIdUri="urn:mpeg:dash:adaptation-set-switching:2016" value="1,2,3"/>
			<Representation id="379" bandwidth="400000" codecs="avc1.64000d" mimeType="video/mp4" width="384" height="216" frameRate="25">
				<SegmentTemplate timescale="90000" initialization="https://media.stream.proxad.net/media/0_1_379_init" media="https://media.stream.proxad.net/media/0_1_379_$Time$">
					<SegmentTimeline>
						<S t="154526719082794" d="288000" r="4501"/>
					</SegmentTimeline>
				</SegmentTemplate>
			</Representation><Representation id="380" bandwidth="800000" codecs="avc1.64001e" mimeType="video/mp4" width="640" height="360" frameRate="25">
				<SegmentTemplate timescale="90000" initialization="https://media.stream.proxad.net/media/0_1_380_init" media="https://media.stream.proxad.net/media/0_1_380_$Time$">
					<SegmentTimeline>
						<S t="154526719082794" d="288000" r="4501"/>
					</SegmentTimeline>
				</SegmentTemplate>
			</Representation><Representation id="381" bandwidth="1600000" codecs="avc1.64001f" mimeType="video/mp4" width="896" height="504" frameRate="25">
				<SegmentTemplate timescale="90000" initialization="https://media.stream.proxad.net/media/0_1_381_init" media="https://media.stream.proxad.net/media/0_1_381_$Time$">
					<SegmentTimeline>
						<S t="154526719082794" d="288000" r="4501"/>
					</SegmentTimeline>
				</SegmentTemplate>
			</Representation><Representation id="3517" bandwidth="1600000" codecs="hvc1.1.2.L93" mimeType="video/mp4" width="896" height="504" frameRate="50">
				<SegmentTemplate timescale="90000" initialization="https://media.stream.proxad.net/media/0_1_3517_init" media="https://media.stream.proxad.net/media/0_1_3517_$Time$">
					<SegmentTimeline>
						<S t="154526719154794" d="288000" r="4501"/>
					</SegmentTimeline>
				</SegmentTemplate>
			</Representation>
		</AdaptationSet>
		<AdaptationSet id="1" group="1" segmentAlignment="true" startWithSAP="1" contentType="video">
			<ContentProtection schemeIdUri="urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed"><cenc:pssh>AAAAiHBzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAAGgIARIQocf9FUFCoGm775zPIBr3HRIQV1Z+z9RXSbgW1m2ubAU79BIQ/pKJ1nsD0fi3pXUMM+s6MxIQBUPt0jMQHBv88X604SEGTBIQUls9kMYGQ/Slzaq7eDsaJBoAKgAyADgASABQAA==</cenc:pssh></ContentProtection>
			<ContentProtection schemeIdUri="urn:mpeg:dash:mp4protection:2011" value="cenc" cenc:default_KID="0543edd2-3310-1c1b-fcf1-7eb4e121064c"/>
			<SupplementalProperty schemeIdUri="urn:mpeg:dash:adaptation-set-switching:2016" value="0,2,3"/>
			<Representation id="382" bandwidth="3000000" codecs="avc1.64001f" mimeType="video/mp4" width="1280" height="720" frameRate="25">
				<SegmentTemplate timescale="90000" initialization="https://media.stream.proxad.net/media/0_1_382_init" media="https://media.stream.proxad.net/media/0_1_382_$Time$">
					<SegmentTimeline>
						<S t="154526719082794" d="288000" r="4501"/>
					</SegmentTimeline>
				</SegmentTemplate>
			</Representation>
		</AdaptationSet>
		<AdaptationSet id="2" group="1" segmentAlignment="true" startWithSAP="1" contentType="video">
			<ContentProtection schemeIdUri="urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed"><cenc:pssh>AAAAiHBzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAAGgIARIQocf9FUFCoGm775zPIBr3HRIQV1Z+z9RXSbgW1m2ubAU79BIQ/pKJ1nsD0fi3pXUMM+s6MxIQBUPt0jMQHBv88X604SEGTBIQUls9kMYGQ/Slzaq7eDsaJBoAKgAyADgASABQAA==</cenc:pssh></ContentProtection>
			<ContentProtection schemeIdUri="urn:mpeg:dash:mp4protection:2011" value="cenc" cenc:default_KID="525b3d90-c606-43f4-a5cd-aabb783b1a24"/>
			<SupplementalProperty schemeIdUri="urn:mpeg:dash:adaptation-set-switching:2016" value="0,1,3"/>
			<Representation id="3518" bandwidth="4800000" codecs="hvc1.1.2.L123" mimeType="video/mp4" width="1920" height="1080" frameRate="50">
				<SegmentTemplate timescale="90000" initialization="https://media.stream.proxad.net/media/0_1_3518_init" media="https://media.stream.proxad.net/media/0_1_3518_$Time$">
					<SegmentTimeline>
						<S t="154526719154794" d="288000" r="4501"/>
					</SegmentTimeline>
				</SegmentTemplate>
			</Representation>
		</AdaptationSet>
		<AdaptationSet id="3" group="1" segmentAlignment="true" startWithSAP="1" contentType="video">
			<ContentProtection schemeIdUri="urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed"><cenc:pssh>AAAAiHBzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAAGgIARIQocf9FUFCoGm775zPIBr3HRIQV1Z+z9RXSbgW1m2ubAU79BIQ/pKJ1nsD0fi3pXUMM+s6MxIQBUPt0jMQHBv88X604SEGTBIQUls9kMYGQ/Slzaq7eDsaJBoAKgAyADgASABQAA==</cenc:pssh></ContentProtection>
			<ContentProtection schemeIdUri="urn:mpeg:dash:mp4protection:2011" value="cenc" cenc:default_KID="57567ecf-d457-49b8-16d6-6dae6c053bf4"/>
			<SupplementalProperty schemeIdUri="urn:mpeg:dash:adaptation-set-switching:2016" value="0,1,2"/>
			<Representation id="3519" bandwidth="14800000" codecs="hvc1.1.2.L123" mimeType="video/mp4" width="1920" height="1080" frameRate="50">
				<SegmentTemplate timescale="90000" initialization="https://media.stream.proxad.net/media/0_1_3519_init" media="https://media.stream.proxad.net/media/0_1_3519_$Time$">
					<SegmentTimeline>
						<S t="154526719154794" d="288000" r="4501"/>
					</SegmentTimeline>
				</SegmentTemplate>
			</Representation>
		</AdaptationSet>
		<AdaptationSet id="376" group="2" segmentAlignment="true" startWithSAP="1" contentType="audio" lang="fra">
			<ContentProtection schemeIdUri="urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed"><cenc:pssh>AAAAiHBzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAAGgIARIQocf9FUFCoGm775zPIBr3HRIQV1Z+z9RXSbgW1m2ubAU79BIQ/pKJ1nsD0fi3pXUMM+s6MxIQBUPt0jMQHBv88X604SEGTBIQUls9kMYGQ/Slzaq7eDsaJBoAKgAyADgASABQAA==</cenc:pssh></ContentProtection>
			<ContentProtection schemeIdUri="urn:mpeg:dash:mp4protection:2011" value="cenc" cenc:default_KID="fe9289d6-7b03-d1f8-b7a5-750c33eb3a33"/>
			<Role schemeIdUri="urn:mpeg:dash:role:2011" value="main"/>
			<Representation id="376" bandwidth="64000" codecs="mp4a.40.2" mimeType="audio/mp4">
				<SegmentTemplate timescale="90000" initialization="https://media.stream.proxad.net/media/0_1_376_init" media="https://media.stream.proxad.net/media/0_1_376_$Time$">
					<SegmentTimeline>
						<S t="154526719105950" d="288000" r="4501"/>
					</SegmentTimeline>
				</SegmentTemplate>
			</Representation>
		</AdaptationSet>
		<AdaptationSet id="377" group="2" segmentAlignment="true" startWithSAP="1" contentType="audio" lang="und">
			<ContentProtection schemeIdUri="urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed"><cenc:pssh>AAAAiHBzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAAGgIARIQocf9FUFCoGm775zPIBr3HRIQV1Z+z9RXSbgW1m2ubAU79BIQ/pKJ1nsD0fi3pXUMM+s6MxIQBUPt0jMQHBv88X604SEGTBIQUls9kMYGQ/Slzaq7eDsaJBoAKgAyADgASABQAA==</cenc:pssh></ContentProtection>
			<ContentProtection schemeIdUri="urn:mpeg:dash:mp4protection:2011" value="cenc" cenc:default_KID="fe9289d6-7b03-d1f8-b7a5-750c33eb3a33"/>
			<Role schemeIdUri="urn:mpeg:dash:role:2011" value="main"/>
			<Representation id="377" bandwidth="64000" codecs="mp4a.40.2" mimeType="audio/mp4">
				<SegmentTemplate timescale="90000" initialization="https://media.stream.proxad.net/media/0_1_377_init" media="https://media.stream.proxad.net/media/0_1_377_$Time$">
					<SegmentTimeline>
						<S t="154526719105950" d="288000" r="4502"/>
					</SegmentTimeline>
				</SegmentTemplate>
			</Representation>
		</AdaptationSet>
		<AdaptationSet id="455" group="3" segmentAlignment="true" startWithSAP="1" contentType="text" lang="fra">
			<Role schemeIdUri="urn:mpeg:dash:role:2011" value="caption"/>
			<Representation id="455" bandwidth="64000" codecs="stpp" mimeType="application/mp4">
				<SegmentTemplate timescale="90000" initialization="https://media.stream.proxad.net/media/0_1_455_init" media="https://media.stream.proxad.net/media/0_1_455_$Time$">
					<SegmentTimeline>
						<S t="154526719104000" d="288000" r="4501"/>
					</SegmentTimeline>
				</SegmentTemplate>
			</Representation>
		</AdaptationSet>
		<AdaptationSet id="461" group="3" segmentAlignment="true" startWithSAP="1" contentType="text" lang="fra">
			<Role schemeIdUri="urn:mpeg:dash:role:2011" value="subtitle"/>
			<Representation id="461" bandwidth="64000" codecs="stpp" mimeType="application/mp4">
				<SegmentTemplate timescale="90000" initialization="https://media.stream.proxad.net/media/0_1_461_init" media="https://media.stream.proxad.net/media/0_1_461_$Time$">
					<SegmentTimeline>
						<S t="154526719104000" d="288000" r="4501"/>
					</SegmentTimeline>
				</SegmentTemplate>
			</Representation>
		</AdaptationSet>
		<AdaptationSet id="463" group="2" segmentAlignment="true" startWithSAP="1" contentType="audio" lang="fra">
			<ContentProtection schemeIdUri="urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed"><cenc:pssh>AAAAiHBzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAAGgIARIQocf9FUFCoGm775zPIBr3HRIQV1Z+z9RXSbgW1m2ubAU79BIQ/pKJ1nsD0fi3pXUMM+s6MxIQBUPt0jMQHBv88X604SEGTBIQUls9kMYGQ/Slzaq7eDsaJBoAKgAyADgASABQAA==</cenc:pssh></ContentProtection>
			<ContentProtection schemeIdUri="urn:mpeg:dash:mp4protection:2011" value="cenc" cenc:default_KID="fe9289d6-7b03-d1f8-b7a5-750c33eb3a33"/>
			<Role schemeIdUri="urn:mpeg:dash:role:2011" value="description"/>
			<Representation id="463" bandwidth="64000" codecs="mp4a.40.2" mimeType="audio/mp4">
				<SegmentTemplate timescale="90000" initialization="https://media.stream.proxad.net/media/0_1_463_init" media="https://media.stream.proxad.net/media/0_1_463_$Time$">
					<SegmentTimeline>
						<S t="154526719105950" d="288000" r="4502"/>
					</SegmentTimeline>
				</SegmentTemplate>
			</Representation>
		</AdaptationSet>
	</Period>
</MPD>

Screenshots

Here are some links or screenshots to help explain the problem:

A screenshot of the resulting playing stream:
image

Additional context or screenshots (if appropriate)

Here is some additional context or explanation that might help:

Your Environment

Used Operating system:

  • Android

  • iOS

  • tvOS

  • Linux (LibreELEC 12.0.0 on RPi4.aarch64)

  • OSX

  • Windows

  • Windows UWP

  • Operating system version/name:

  • Kodi version: 21.0.0

  • inputstream.adaptive version: 21.4.9

note: Once the issue is made we require you to update it with new information should that be required.
Team Kodi will consider your problem report however, we will not make any promises the problem will be solved.

@CastagnaIT
Copy link
Collaborator

CastagnaIT commented May 29, 2024

the provided mpd dont match the log output, i assume is another channel
i think first thing to do is try inspecting the fmp4 files

can you attach here the video initializing segment file, and the first video segment file?
for example from the log you can find the links where download files as follows:

[AS-0] Download finished: https://media.stream.proxad.net/media/0_1_390_init
[AS-0] Download finished: https://media.stream.proxad.net/media/0_1_390_154528077781654

AS-0 is usually the video stream

@Nitorac
Copy link
Author

Nitorac commented May 29, 2024

You are right, I have confused myself between the channel on the browser page of oqee and the channel I used in the plugin.

So to avoid any confusion, I repost a Kodi log with a new (fixed) live.mdp url which I can track on my browser.

Here is the Kodi logs: https://paste.kodi.tv/eyemikeqot.kodi

If I make the parallel from what you said, in this case the init segment of AS-0 is "0_1_382_init" and the first video segment is "0_1_382_154530128714794"

(I am forced to add the ".mp4" extension for posting them here)

0_1_382_init:
https://github.com/xbmc/inputstream.adaptive/assets/5551064/38e428da-203e-4b17-ac36-df62f0ea4483

0_1_382_154530128714794:
https://github.com/xbmc/inputstream.adaptive/assets/5551064/5b77d52a-8d49-4a25-91fa-e4ef4975bbff

The '''new''' MPD file (https://api-proxad.dc2.oqee.net/playlist/v1/live/612/1/live.mpd):

<?xml version="1.0" encoding="UTF-8"?>
<MPD xmlns="urn:mpeg:dash:schema:mpd:2011" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:mpeg:dash:schema:mpd:2011 DASH-MPD.xsd" xmlns:cenc="urn:mpeg:cenc:2013" profiles="urn:mpeg:dash:profile:isoff-live:2011" type="dynamic" publishTime="2024-05-29T16:25:23Z" availabilityStartTime="1970-01-01T00:00:00Z" minimumUpdatePeriod="PT2S" minBufferTime="PT6.4S" timeShiftBufferDepth="PT14400S" suggestedPresentationDelay="PT9.6S">
	<UTCTiming schemeIdUri="urn:mpeg:dash:utc:http-iso:2014" value="https://time.akamai.com/?iso" />
	<Period id="0" start="PT0S">
		<AdaptationSet id="0" group="1" segmentAlignment="true" startWithSAP="1" contentType="video">
			<ContentProtection schemeIdUri="urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed"><cenc:pssh>AAAAiHBzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAAGgIARIQ/pKJ1nsD0fi3pXUMM+s6MxIQocf9FUFCoGm775zPIBr3HRIQUls9kMYGQ/Slzaq7eDsaJBIQV1Z+z9RXSbgW1m2ubAU79BIQBUPt0jMQHBv88X604SEGTBoAKgAyADgASABQAA==</cenc:pssh></ContentProtection>
			<ContentProtection schemeIdUri="urn:mpeg:dash:mp4protection:2011" value="cenc" cenc:default_KID="a1c7fd15-4142-a069-bbef-9ccf201af71d"/>
			<SupplementalProperty schemeIdUri="urn:mpeg:dash:adaptation-set-switching:2016" value="1,2,3"/>
			
			<Representation id="379" bandwidth="400000" codecs="avc1.64000d" mimeType="video/mp4" width="384" height="216" frameRate="25">
				<SegmentTemplate timescale="90000" initialization="https://media.stream.proxad.net/media/0_1_379_init" media="https://media.stream.proxad.net/media/0_1_379_$Time$">
					<SegmentTimeline>
						<S t="154528696490794" d="288000" r="4501"/>
					</SegmentTimeline>
				</SegmentTemplate>
			</Representation><Representation id="380" bandwidth="800000" codecs="avc1.64001e" mimeType="video/mp4" width="640" height="360" frameRate="25">
				<SegmentTemplate timescale="90000" initialization="https://media.stream.proxad.net/media/0_1_380_init" media="https://media.stream.proxad.net/media/0_1_380_$Time$">
					<SegmentTimeline>
						<S t="154528696490794" d="288000" r="4501"/>
					</SegmentTimeline>
				</SegmentTemplate>
			</Representation><Representation id="381" bandwidth="1600000" codecs="avc1.64001f" mimeType="video/mp4" width="896" height="504" frameRate="25">
				<SegmentTemplate timescale="90000" initialization="https://media.stream.proxad.net/media/0_1_381_init" media="https://media.stream.proxad.net/media/0_1_381_$Time$">
					<SegmentTimeline>
						<S t="154528696490794" d="288000" r="4501"/>
					</SegmentTimeline>
				</SegmentTemplate>
			</Representation><Representation id="3517" bandwidth="1600000" codecs="hvc1.1.2.L93" mimeType="video/mp4" width="896" height="504" frameRate="50">
				<SegmentTemplate timescale="90000" initialization="https://media.stream.proxad.net/media/0_1_3517_init" media="https://media.stream.proxad.net/media/0_1_3517_$Time$">
					<SegmentTimeline>
						<S t="154528696274794" d="288000" r="4502"/>
					</SegmentTimeline>
				</SegmentTemplate>
			</Representation>
		</AdaptationSet>
		<AdaptationSet id="1" group="1" segmentAlignment="true" startWithSAP="1" contentType="video">
			<ContentProtection schemeIdUri="urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed"><cenc:pssh>AAAAiHBzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAAGgIARIQ/pKJ1nsD0fi3pXUMM+s6MxIQocf9FUFCoGm775zPIBr3HRIQUls9kMYGQ/Slzaq7eDsaJBIQV1Z+z9RXSbgW1m2ubAU79BIQBUPt0jMQHBv88X604SEGTBoAKgAyADgASABQAA==</cenc:pssh></ContentProtection>
			<ContentProtection schemeIdUri="urn:mpeg:dash:mp4protection:2011" value="cenc" cenc:default_KID="0543edd2-3310-1c1b-fcf1-7eb4e121064c"/>
			<SupplementalProperty schemeIdUri="urn:mpeg:dash:adaptation-set-switching:2016" value="0,2,3"/>
			
			<Representation id="382" bandwidth="3000000" codecs="avc1.64001f" mimeType="video/mp4" width="1280" height="720" frameRate="25">
				<SegmentTemplate timescale="90000" initialization="https://media.stream.proxad.net/media/0_1_382_init" media="https://media.stream.proxad.net/media/0_1_382_$Time$">
					<SegmentTimeline>
						<S t="154528696490794" d="288000" r="4501"/>
					</SegmentTimeline>
				</SegmentTemplate>
			</Representation>
		</AdaptationSet>
		<AdaptationSet id="2" group="1" segmentAlignment="true" startWithSAP="1" contentType="video">
			<ContentProtection schemeIdUri="urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed"><cenc:pssh>AAAAiHBzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAAGgIARIQ/pKJ1nsD0fi3pXUMM+s6MxIQocf9FUFCoGm775zPIBr3HRIQUls9kMYGQ/Slzaq7eDsaJBIQV1Z+z9RXSbgW1m2ubAU79BIQBUPt0jMQHBv88X604SEGTBoAKgAyADgASABQAA==</cenc:pssh></ContentProtection>
			<ContentProtection schemeIdUri="urn:mpeg:dash:mp4protection:2011" value="cenc" cenc:default_KID="525b3d90-c606-43f4-a5cd-aabb783b1a24"/>
			<SupplementalProperty schemeIdUri="urn:mpeg:dash:adaptation-set-switching:2016" value="0,1,3"/>
			
			<Representation id="3518" bandwidth="4800000" codecs="hvc1.1.2.L123" mimeType="video/mp4" width="1920" height="1080" frameRate="50">
				<SegmentTemplate timescale="90000" initialization="https://media.stream.proxad.net/media/0_1_3518_init" media="https://media.stream.proxad.net/media/0_1_3518_$Time$">
					<SegmentTimeline>
						<S t="154528696274794" d="288000" r="4502"/>
					</SegmentTimeline>
				</SegmentTemplate>
			</Representation>
		</AdaptationSet>
		<AdaptationSet id="3" group="1" segmentAlignment="true" startWithSAP="1" contentType="video">
			<ContentProtection schemeIdUri="urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed"><cenc:pssh>AAAAiHBzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAAGgIARIQ/pKJ1nsD0fi3pXUMM+s6MxIQocf9FUFCoGm775zPIBr3HRIQUls9kMYGQ/Slzaq7eDsaJBIQV1Z+z9RXSbgW1m2ubAU79BIQBUPt0jMQHBv88X604SEGTBoAKgAyADgASABQAA==</cenc:pssh></ContentProtection>
			<ContentProtection schemeIdUri="urn:mpeg:dash:mp4protection:2011" value="cenc" cenc:default_KID="57567ecf-d457-49b8-16d6-6dae6c053bf4"/>
			<SupplementalProperty schemeIdUri="urn:mpeg:dash:adaptation-set-switching:2016" value="0,1,2"/>
			
			<Representation id="3519" bandwidth="14800000" codecs="hvc1.1.2.L123" mimeType="video/mp4" width="1920" height="1080" frameRate="50">
				<SegmentTemplate timescale="90000" initialization="https://media.stream.proxad.net/media/0_1_3519_init" media="https://media.stream.proxad.net/media/0_1_3519_$Time$">
					<SegmentTimeline>
						<S t="154528696274794" d="288000" r="4502"/>
					</SegmentTimeline>
				</SegmentTemplate>
			</Representation>
		</AdaptationSet>
		<AdaptationSet id="376" group="2" segmentAlignment="true" startWithSAP="1" contentType="audio" lang="fra">
			<ContentProtection schemeIdUri="urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed"><cenc:pssh>AAAAiHBzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAAGgIARIQ/pKJ1nsD0fi3pXUMM+s6MxIQocf9FUFCoGm775zPIBr3HRIQUls9kMYGQ/Slzaq7eDsaJBIQV1Z+z9RXSbgW1m2ubAU79BIQBUPt0jMQHBv88X604SEGTBoAKgAyADgASABQAA==</cenc:pssh></ContentProtection>
			<ContentProtection schemeIdUri="urn:mpeg:dash:mp4protection:2011" value="cenc" cenc:default_KID="fe9289d6-7b03-d1f8-b7a5-750c33eb3a33"/>
			
			<Role schemeIdUri="urn:mpeg:dash:role:2011" value="main"/>
			<Representation id="376" bandwidth="64000" codecs="mp4a.40.2" mimeType="audio/mp4">
				<SegmentTemplate timescale="90000" initialization="https://media.stream.proxad.net/media/0_1_376_init" media="https://media.stream.proxad.net/media/0_1_376_$Time$">
					<SegmentTimeline>
						<S t="154528696225950" d="288000" r="4502"/>
					</SegmentTimeline>
				</SegmentTemplate>
			</Representation>
		</AdaptationSet>
		<AdaptationSet id="377" group="2" segmentAlignment="true" startWithSAP="1" contentType="audio" lang="und">
			<ContentProtection schemeIdUri="urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed"><cenc:pssh>AAAAiHBzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAAGgIARIQ/pKJ1nsD0fi3pXUMM+s6MxIQocf9FUFCoGm775zPIBr3HRIQUls9kMYGQ/Slzaq7eDsaJBIQV1Z+z9RXSbgW1m2ubAU79BIQBUPt0jMQHBv88X604SEGTBoAKgAyADgASABQAA==</cenc:pssh></ContentProtection>
			<ContentProtection schemeIdUri="urn:mpeg:dash:mp4protection:2011" value="cenc" cenc:default_KID="fe9289d6-7b03-d1f8-b7a5-750c33eb3a33"/>
			
			<Role schemeIdUri="urn:mpeg:dash:role:2011" value="main"/>
			<Representation id="377" bandwidth="64000" codecs="mp4a.40.2" mimeType="audio/mp4">
				<SegmentTemplate timescale="90000" initialization="https://media.stream.proxad.net/media/0_1_377_init" media="https://media.stream.proxad.net/media/0_1_377_$Time$">
					<SegmentTimeline>
						<S t="154528696225950" d="288000" r="4502"/>
					</SegmentTimeline>
				</SegmentTemplate>
			</Representation>
		</AdaptationSet>
		<AdaptationSet id="455" group="3" segmentAlignment="true" startWithSAP="1" contentType="text" lang="fra">
			
			
			<Role schemeIdUri="urn:mpeg:dash:role:2011" value="caption"/>
			<Representation id="455" bandwidth="64000" codecs="stpp" mimeType="application/mp4">
				<SegmentTemplate timescale="90000" initialization="https://media.stream.proxad.net/media/0_1_455_init" media="https://media.stream.proxad.net/media/0_1_455_$Time$">
					<SegmentTimeline>
						<S t="154528696512000" d="288000" r="4501"/>
					</SegmentTimeline>
				</SegmentTemplate>
			</Representation>
		</AdaptationSet>
		<AdaptationSet id="461" group="3" segmentAlignment="true" startWithSAP="1" contentType="text" lang="fra">
			
			
			<Role schemeIdUri="urn:mpeg:dash:role:2011" value="subtitle"/>
			<Representation id="461" bandwidth="64000" codecs="stpp" mimeType="application/mp4">
				<SegmentTemplate timescale="90000" initialization="https://media.stream.proxad.net/media/0_1_461_init" media="https://media.stream.proxad.net/media/0_1_461_$Time$">
					<SegmentTimeline>
						<S t="154528696512000" d="288000" r="4501"/>
					</SegmentTimeline>
				</SegmentTemplate>
			</Representation>
		</AdaptationSet>
		<AdaptationSet id="463" group="2" segmentAlignment="true" startWithSAP="1" contentType="audio" lang="fra">
			<ContentProtection schemeIdUri="urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed"><cenc:pssh>AAAAiHBzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAAGgIARIQ/pKJ1nsD0fi3pXUMM+s6MxIQocf9FUFCoGm775zPIBr3HRIQUls9kMYGQ/Slzaq7eDsaJBIQV1Z+z9RXSbgW1m2ubAU79BIQBUPt0jMQHBv88X604SEGTBoAKgAyADgASABQAA==</cenc:pssh></ContentProtection>
			<ContentProtection schemeIdUri="urn:mpeg:dash:mp4protection:2011" value="cenc" cenc:default_KID="fe9289d6-7b03-d1f8-b7a5-750c33eb3a33"/>
			
			<Role schemeIdUri="urn:mpeg:dash:role:2011" value="description"/>
			<Representation id="463" bandwidth="64000" codecs="mp4a.40.2" mimeType="audio/mp4">
				<SegmentTemplate timescale="90000" initialization="https://media.stream.proxad.net/media/0_1_463_init" media="https://media.stream.proxad.net/media/0_1_463_$Time$">
					<SegmentTimeline>
						<S t="154528696225950" d="288000" r="4502"/>
					</SegmentTimeline>
				</SegmentTemplate>
			</Representation>
		</AdaptationSet>
		
	</Period>
</MPD>

@CastagnaIT
Copy link
Collaborator

thanks i can see that default kid is zeroed as we can see on the log, so it get the right value
immagine

noticed also inconsistent log from the add-on
so initialize with manifest kid
2024-05-29 18:50:46.135 T:38660 debug <general>: AddOnLog: inputstream.adaptive: Initializing stream with KID: fe9289d67b03d1f8b7a5750c33eb3a33
and after use the mp4 kid
CWVCencSingleSampleDecrypter::LogDecryptError: Decrypt failed with error: 2 and key: 00000000000000000000000000000000

so maybe use the manifest kid when zeroed could works
i made a test build:
https://jenkins.kodi.tv/blue/organizations/jenkins/xbmc%2Finputstream.adaptive/detail/PR-1567/1/artifacts
you can test Windows builds, dont try test android builds atm because WIP
let me know

@Nitorac
Copy link
Author

Nitorac commented May 30, 2024

Thanks !
I tested it on Windows and it solved the 00000000000000000000000000000000 key error, but an other one has popped out : CWVCencSingleSampleDecrypter::LogDecryptError: Decrypt failed with error: 2 and key: 57567ECFD45749B816D66DAE6C053BF4

On the display, it is the same greeny stuff from the screenshot I posted initially, and no sounds (ffmpeg complains about aac channels not allocated)

Here is the new Kodi logs: https://paste.kodi.tv/jakecaseqo.kodi

@CastagnaIT
Copy link
Collaborator

CWVCencSingleSampleDecrypter::LogDecryptError: Decrypt failed with error: 2 and key: 57567ECFD45749B816D66DAE6C053BF4

those can be confused but are not errors

seem there are still decrypting problems
i think you need to wait a feedback from @glennguy that is more expert than me on decrypting

@Nitorac
Copy link
Author

Nitorac commented May 30, 2024

For what it could help:
Oqee uses shaka-player as their video player supporting DRM.

By starting from the opensource shaka-player and giving the same mpd file and license server, I achieved to get the decrypted video stream in my browser.
So I think that Oqee hasn't tampered the thing with custom homemade stuff in the middle.

Screenshot

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants