For the past few days we are trying to add DRM license key to our dash stream on m3u list. We can able to play this through shaka web player, but management need to play this through Android box with KODI/ any client app. Got few options but its not working with IPTV clients.
#KODIPROP:inputstream.adaptive.license_type=com.widevine.alpha
#KODIPROP:inputstream.adaptive.license_key=https://link.to.license.server.com
#EXTINF:-1,Office VOD 1
https://cdn.ouroffice.com/manifest.mpd
Tried above code with Kodi, and other available IPTV Apps, but no luck. Is there any way , we can pass DRM key through m3u list?
I think there are maybe a couple of different concepts getting mixed up for your example.
DASH and HLS are streaming protocols that essentially break a video up into chunks and provide an index into the chunks in a manifest file.
DASH uses '.mpd' as its manifest file type.
HLS uses '.m3u' as its manifest file type.
So first point is that if you are using an M3U file, it looks like you are using HLS rather than DASH.
Both DASH and HLS can support encrypted tracks and they can include information in the manifest that indicates the encryption schemes being used and in some cases how to access the key.
For DASH you can see an example here (from:https://dashif-documents.azurewebsites.net/Guidelines-Security/master/Guidelines-Security.html):
<ContentProtection
schemeIdUri="urn:uuid:d0ee2730-09b5-459f-8452-200e52b37567"
value="FirstDRM 2.0">
<cenc:pssh>YmFzZTY0IGVuY29kZWQgY29udGVudHMgb2YgkXBzc2iSIGJveCB3aXRoIHRoaXMgU3lzdGVtSUQ=</cenc:pssh>
<dashif:authzurl>https://example.com/tenants/5341/authorize</dashif:authzurl>
<dashif:laurl>https://example.com/AcquireLicense</dashif:laurl>
</ContentProtection>
The above is a fictional DRM - for widevine, for example, you would substitute the widevine schemeIdUri.
HLS DRM information looks like (from: https://www.rfc-editor.org/rfc/rfc8216):
#EXTM3U
#EXT-X-VERSION:3
#EXT-X-MEDIA-SEQUENCE:7794
#EXT-X-TARGETDURATION:15
#EXT-X-KEY:METHOD=AES-128,URI="https://priv.example.com/key.php?r=52"
#EXTINF:2.833,
http://media.example.com/fileSequence52-A.ts
#EXTINF:15.0,
http://media.example.com/fileSequence52-B.ts
#EXTINF:13.333,
http://media.example.com/fileSequence52-C.ts
There are no absolute rules, but typically different DRM's are used on different app and devices. A rough guide: