-
Notifications
You must be signed in to change notification settings - Fork 1.4k
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
HLS FAIRPLAY with DRM not working with v4.0.0 #4211
Comments
Please use It is a change that has been introduced in 4.0. |
after changing it from |
I tested on the Shaka demo app and it says media failed to decode |
I have sent an email to [email protected] with the template and the demo test URL. can you please test it on safari Thanks |
Did you have time to see the URLs on the mail I sent? Because of |
Hello @avelad did you got time to test it? are you available? |
@hiren3897 Sorry, I'm on holidays until tomorrow |
Okay, once you are back on Wednesday please let me know. |
@hiren3897, @avelad does not work at Google and does not have access to what you sent to shaka-player-issues. Do I have your permission to forward that message to him? |
@joeyparrish Yes!, you can forward it to him, I will send the new demo to test because the earlier URLs are expired |
@hiren3897 One question, I haven't received Joey's email yet because he's sleeping, what is the DRM provider (company)? |
The DRM provider Company is EZDRM: https://www.ezdrm.com |
Using: https://na-fps.ezdrm.com/demo/ezdrm/master.m3u8 and the next configuration: {
"drm": {
"retryParameters": {
"maxAttempts": 2,
"baseDelay": 1000,
"backoffFactor": 2,
"fuzzFactor": 0.5,
"timeout": 0,
"stallTimeout": 5000,
"connectionTimeout": 10000
},
"servers": {
"com.apple.fps": "https://fps.ezdrm.com/api/licenses/b99ed9e5-c641-49d1-bfa8-43692b686ddb"
},
"clearKeys": {},
"advanced": {
"com.apple.fps": {
"distinctiveIdentifierRequired": false,
"persistentStateRequired": false,
"videoRobustness": "",
"audioRobustness": "",
"sessionType": "",
"serverCertificate": {},
"serverCertificateUri": "https://fps.ezdrm.com/demo/video/eleisure.cer",
"individualizationServer": ""
}
},
"delayLicenseRequestUntilPlayed": false,
"logLicenseExchange": false,
"updateExpirationTime": 1,
"preferredKeySystems": []
},
"manifest": {
"retryParameters": {
"maxAttempts": 2,
"baseDelay": 1000,
"backoffFactor": 1,
"fuzzFactor": 0.5,
"timeout": 15000,
"stallTimeout": 2000,
"connectionTimeout": 3000
},
"availabilityWindowOverride": null,
"disableAudio": false,
"disableVideo": false,
"disableText": false,
"disableThumbnails": true,
"defaultPresentationDelay": 0,
"segmentRelativeVttTiming": false,
"dash": {
"clockSyncUri": "",
"ignoreDrmInfo": false,
"disableXlinkProcessing": true,
"xlinkFailGracefully": false,
"ignoreMinBufferTime": true,
"autoCorrectDrift": true,
"initialSegmentLimit": 10000000000,
"ignoreSuggestedPresentationDelay": false,
"ignoreEmptyAdaptationSet": false,
"ignoreMaxSegmentDuration": false,
"keySystemsByURI": {
"urn:uuid:1077efec-c0b2-4d02-ace3-3c1e52e2fb4b": "org.w3.clearkey",
"urn:uuid:e2719d58-a985-b3c9-781a-b030af78d30e": "org.w3.clearkey",
"urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed": "com.widevine.alpha",
"urn:uuid:9a04f079-9840-4286-ab92-e65be0885f95": "com.microsoft.playready",
"urn:uuid:79f0049a-4098-8642-ab92-e65be0885f95": "com.microsoft.playready",
"urn:uuid:f239e769-efa3-4850-9c16-a903c6932efb": "com.adobe.primetime"
}
},
"hls": {
"ignoreTextStreamFailures": true,
"ignoreImageStreamFailures": false,
"defaultAudioCodec": "mp4a.40.2",
"defaultVideoCodec": "avc1.42E01E",
"ignoreManifestProgramDateTime": false,
"mediaPlaylistFullMimeType": "video/mp2t; codecs=\"avc1.42E01E, mp4a.40.2\""
}
},
"streaming": {
"retryParameters": {
"maxAttempts": 15,
"baseDelay": 1000,
"backoffFactor": 1,
"fuzzFactor": 0.5,
"timeout": 30000,
"stallTimeout": 5000,
"connectionTimeout": 10000
},
"rebufferingGoal": 2,
"bufferingGoal": 30,
"bufferBehind": 5,
"ignoreTextStreamFailures": true,
"alwaysStreamText": false,
"startAtSegmentBoundary": false,
"gapDetectionThreshold": 0.5,
"durationBackoff": 1,
"forceTransmuxTS": false,
"safeSeekOffset": 5,
"stallEnabled": true,
"stallThreshold": 1,
"stallSkip": 0.1,
"useNativeHlsOnSafari": true,
"inaccurateManifestTolerance": 0,
"lowLatencyMode": false,
"autoLowLatencyMode": false,
"forceHTTPS": false,
"preferNativeHls": false,
"updateIntervalSeconds": 1,
"dispatchAllEmsgBoxes": false,
"observeQualityChanges": false,
"maxDisabledTime": 30
},
"offline": {
"usePersistentLicense": true,
"numberOfParallelDownloads": 5
},
"abr": {
"enabled": true,
"useNetworkInformation": true,
"defaultBandwidthEstimate": 1000000,
"switchInterval": 4,
"bandwidthUpgradeTarget": 0.95,
"bandwidthDowngradeTarget": 0.95,
"restrictions": {
"minWidth": 0,
"maxWidth": null,
"minHeight": 0,
"maxHeight": null,
"minPixels": 0,
"maxPixels": null,
"minFrameRate": 0,
"maxFrameRate": null,
"minBandwidth": 0,
"maxBandwidth": null
},
"advanced": {
"minTotalBytes": 64000,
"minBytes": 20000,
"fastHalfLife": 2,
"slowHalfLife": 4
}
},
"preferredAudioLanguage": "es",
"preferredTextLanguage": "es",
"preferredVariantRole": "main",
"preferredTextRole": "",
"preferredAudioChannelCount": 2,
"preferredVideoCodecs": [
"dvh1",
"dvhe",
"av01",
"hvc1",
"hev1",
"vp09",
"vp9",
"avc1",
"avc3"
],
"preferredAudioCodecs": [],
"preferForcedSubs": false,
"preferredDecodingAttributes": [],
"restrictions": {
"minWidth": 0,
"maxWidth": null,
"minHeight": 0,
"maxHeight": null,
"minPixels": 0,
"maxPixels": null,
"minFrameRate": 0,
"maxFrameRate": null,
"minBandwidth": 0,
"maxBandwidth": null
},
"playRangeStart": 0,
"playRangeEnd": null,
"cmcd": {
"enabled": false,
"sessionId": "",
"contentId": "",
"useHeaders": false
}
} And the next request filter: function ezdrmFairPlayRequest (type, request) {
if (type !== shaka.net.NetworkingEngine.RequestType.LICENSE) {
return;
}
request.headers['Content-Type'] = 'application/octet-stream';
} and the next response filter With this it works correctly in 4.0.0. EZDRM data has been recolected from https://www.ezdrm.com/demonstration-of-shaka-player-security-ezdrm?hsLang=en |
How did it appear in the second image? It is only because of the DRM? so I have to ask the DRM about the problem we are facing? |
I haven't done anything special, I just opened your link... |
Note: I tested your url in iOS 15.5 (iPhone 13) and it works! |
Yes, I saw that already, it is weird maybe it is because of DRM not sure but if I see on safari networks I have a correct license request with |
@avelad my HLS Fairplay stream still doesn't work with v4.0.1 |
you can test this on your mac Safari |
That's strange it doesn't work on my mac mini safari :/ Do I have to implement this in my code? player.getNetworkingEngine()
.registerRequestFilter(FairPlayUtils.ezdrmFairPlayRequest); |
I would say yes, but the only thing is that it is in a PR that has not yet been merged, so it is not in any release yet. |
So in the current v4.0.1 |
Since 4.0.1 you don't need to configure any initData transforms for EZDRM and you must use com.fps.apple. |
yes! I am doing the exact same as you told but strange no working. for the server certificate I manually convert it into the Uint8Array and pass it to |
There shouldn't be any difference, but you can always try. |
I tried and it has the same result! doesn't work :/ Not even on iPhone Safari Is there any setting we need to do in the safari browser for Fariplay? |
Hello @avelad greetings of the day, can you please comment on the above response? Thanks |
It seems that what fails in your capture is that some keysystems are being tested that are not supported in your browser. Widevine appears, PlayReady, Adobe?... |
Okay, But it should mainly test for the Do we have any way to stop this test? because it works with 3.2.2 on the same platform and browser |
The video that I have put in the comment above is with 4.1.0 and it works for me. |
I am sorry that I forgot to check that. What do I do? Am I missing something to do like ?? function ezdrmFairPlayRequest (type, request) {
if (type !== shaka.net.NetworkingEngine.RequestType.LICENSE) {
return;
}
request.headers['Content-Type'] = 'application/octet-stream';
} with |
It is strange but with |
when I set I guess the DRM license request OR Fairplay cert is taking too long to be requested |
hello, @avelad can we come to a point do we have a fix in the newly released version? and what are the steps to set up Fairplay live stream? Thanks |
It will be resolved with #4309 |
Have you read the FAQ and checked for duplicate open issues?
YES
What version of Shaka Player are you using?
v4.0
Can you reproduce the issue with our latest release version?
YES
Can you reproduce the issue with the latest code from
main
?YES
Are you using the demo app or your own custom app?
Demo
If custom app, can you reproduce the issue using our demo app?
YES
What browser and OS are you using?
Safari iOS, iPad, MacOS
For embedded devices (smart TVs, etc.), what model and firmware version are you using?
n/a
What are the manifest and license server URIs?
HLS FAIR PLAY with native as well as with MSE doesn't work
we have mp2t content type in HLS
What configuration are you using? What is the output of
player.getConfiguration()
?drm.servers => drm_URL
drm.advanced.'com.apple.fps.1_0'.serverCertificate: cert
What did you do?
To play the HLS Fairplay live stream on the safari browser with DRM and ServerCertificate but it is not working in v4 :( I have a blank player playing nothing
What did you expect to happen?
To have an HLS LIVE playback on safari mac and iOS and iPad
What actually happened?
The HLS Fairplay used to work perfectly with v3.2.2 but it is not working in v4 :(
I will send the screenshot and whole debug on mail
The text was updated successfully, but these errors were encountered: