Three DRM systems cover the device universe: Widevine (Android/Chrome), PlayReady (Edge/Windows), FairPlay (Apple). Packaging the same content for all three with shared encryption is mature, but the operational details still trip teams up.
Common Encryption (CENC)
Encrypt once with AES-128 CTR; package as fMP4 with separate key IDs and PSSH boxes per DRM. Same media bytes serve all three DRMs. Shaka Packager, Bento4 mp4encrypt do this.
Key delivery
Each DRM has its own license server: Widevine via Google's URL, PlayReady via Microsoft, FairPlay via your own KSM. Wire your CDN / app to request from the right URL per platform. License URL templates in the DASH manifest.
Subtitle and audio quirks
FairPlay has stricter requirements (CBCS encryption mode for streaming, not CTR). Older devices may not support multiple audio tracks under DRM. Test on real devices, not emulators.