Er is een heel simpele technische verklaring voor: het type encryptie.
Spotify wil blijkbaar overal DRM doordrukken. In webbrowsers is dat te begrijpen, anders is iedereen direct met je AAC/OGG Vorbis aan de haal. Er is één standaardframework voor DRM (de HTML5 Encrypted Media Extensions). Je hebt daarmee een interface die zegt hoe content decryption modules werken.
Er zijn verschillende content decryption modules, afhankelijk van de browser:
Chrom(e/ium), Firefox, Opera: Widevine (Google)
Edge: PlayReady (Microsoft)
Safari: FairPlay (Apple).
(Flash: Access - Adobe)
Widevine en PlayReady werken allebei gewoonlijk met DASH en gebruiken meestal AES-CTR als encryptiemethode. De encryptie en 'inkapseling' is gelijk, enkel de manier waarop de key wordt opgehaald en verwerkt is anders. Dit zorgt ervoor dat je met één bronbestand Widevine en PlayReady-browsers kan ondersteunen met enkel wat minimale verschillen in JS.
Apple is met FairPlay nét dat beetje anders. Apple verwacht dat je voor FairPlay je bronbestanden online zet in HLS-formaat (met TS-segmenten). De encryptie moet sample-AES zijn (of eventueel AES-CBC in recente versies). (Voor Netflix heeft Apple een uitzondering gemaakt en ondersteunen ze ook DASH met AES-CTR, maar niemand anders kan/mag dat.)
Spotify heeft hierbij dus duidelijk gekozen voor de oplossing die maar de helft aan storage kost: enkel Widevine en PlayReady.. Om Safari nog te ondersteunen zouden ze ofwel Flash in leven moeten houden (in 2017 geen optie), of alle audio dubbel op hun CDN zetten (een versie voor Safari en een versie voor alle andere browsers). Ook op macOS is Chrome de meest populaire browser, Safari in het algemeen heeft een relatief klein aandeel op desktop. Om voor weinig extra users veel extra storage te gebruiken is gewoon niet logisch.
Waarschijnlijk was alle audio vroeger zelfs al beschikbaar in een formaat dat compatibel is met DASH/AES-CTR (voor gebruik met Flash). De hele catalogus zonder Flash beschikbaar maken in Safari zou willen zeggen dat ze alles moeten her-encrypten.
Bron: ik werk op professioneel vlak erg veel met bovenstaande DRM in browsers.
(Bonus: het gaat ook helemaal niet om een plugin. Widevine Classic werkte inderdaad met een plugin die je zelf moest installeren, maar wordt niet meer gebruikt. Widevine Modular zit ingebakken in je browser (Chrome/Firefox/Opera), PlayReady zit ingebakken in Edge en FairPlay zit ingebakken in Safari. Allemaal exact hetzelfde qua functionaliteit, gewoon een ander protocol rond key retrieval.)
[Reactie gewijzigd door AmbroosV op 11 september 2017 15:37]