Comme nous l'avons évoqué lors de notre première analyse de Netflix , le service de SVOD utilise principalement la technologie Silverlight de Microsoft pour diffuser son contenu protégé par des DRM. Un choix identique à la quasi-totalité de ses concurrents, mais qui est en train de céder sa place au HTML5 accompagné des fameuses EME. L'occasion pour nous de faire le point.

Actuellement, les services de VOD, de SVOD ou même les chaînes de TV qui veulent diffuser du contenu sur différents écrans doivent en assurer la protection via les fameux DRM. Pour cela, différentes normes existent comme HDCP, qui dans sa version 2.0 permet d'assurer le chiffrement d'un flux d'un écran au serveur de diffusion, même si une portion de la transmission se fait sans fil.

Silverlight : un outil en sursis largement exploité malgré ses faiblesses

Mais il faut aussi que cette protection perdure sur l'appareil utilisé par le client final et le logiciel utilisé pour sa lecture, notamment lorsque cela passe par une simple page web comme c'est actuellement la tendance. Sur les ordinateurs, on retrouve le plus souvent une technologie signée Microsoft au centre de cette stratégie : Silverlight.

Utilisée par le groupe Canal, OCS, mais aussi par Netflix (entre autres), c'est actuellement la solution la plus courante, mais elle pose un souci : elle va être abandonnée. Microsoft a en effet annoncé l'arrêt du support de Silverlight 5 en 2021, et aucune nouvelle mouture n'est prévue. Il va donc falloir penser à trouver une autre solution.

Et ce n'est pas forcément un mal puisque cela nécessite l'installation et la mise à jour d'un plugin, tout en limitant le support de Linux par exemple. Car même si le projet Moonlight existe, et que des solutions comme Pipelight permettent de lire du contenu protégé par Silverlight, elles ne sont pas vraiment très accessibles au commun des mortels.

HTML5 et ses EME à la rescousse, malgré le mécontentement du monde du libre

En France, rares sont les acteurs à avoir évoqué ce sujet clairement pour le moment, alors qu'une solution existe via un standard du W3C qui a été largement débattu tout au long de l'année 2013 : les Encrypted Media Extensions (EME). En effet, 27 organisations, rejointes par l'EFF qui était montée au créneau fin 2013, s'opposaient la mise en place de ce standard qui permet de généraliser à n'importe quel navigateur la gestion des DRM pour le contenu multimédia.

Elles contestent en effet le principe même de ces « protections », notamment pour la capacité de contrôle que cela donne aux diffuseurs. Firefox, qui s'était un temps aligné sur cette position, a finalement fait machine arrière et indiqué en mai dernier qu'il allait lui aussi intégrer la gestion des DRM via les EME et Adobe Access, comme le faisaient déjà Chrome, IE ou encore Safari, avec leurs propres implémentations.

Netflix a décidé de proposer un lecteur HTML5 avec les EME dès avril 2013

Il faut dire qu'entre temps, un allié de poids était intervenu outre-Atlantique : Netflix. Car c'est dès avril 2013 (peu avant la première fronde anti-EME) que l'on apprenait que la société travaillait à leur intégration en remplacement de Silverlight. Proposer les EME permet donc de supporter nativement Netflix, sans plugin tiers. Autant dire que cela était de nature à faire changer certains de camp, surtout lorsqu'il est question de permettre le support du service sous Linux par exemple.

Car comme nous l'expliquions à l'époque, le but est de réussir à proposer un lecteur tout aussi complet qu'actuellement, mais en exploitant entièrement HTML5, depuis n'importe quel navigateur. Les équipes de Netflix se sont donc impliquées dans le projet, tout en misant aussi sur d'autres composants essentiels : les Media Source Extensions (MSE) et l'API WebCrypto.

Pour rappel, les MSE permettent de générer un flux de manière dynamique, et donc de l'adapter à ses besoins dans le cadre d'une connexion dont le débit pourrait varier par exemple, ou certaines fonctionnalités comme le time-shifting. Concernant l'API WebCrypto, nous l'avons encore récemment évoqué lors de notre analyse de miniLock, un outil de chiffrement et d'échange de fichiers créé par Nadim Kobeissi.

Son but est de proposer des fonctionnalités utiles au chiffrement qui seraient les mêmes pour tous les navigateurs sans avoir recours à des solutions tierces. Ici, elle est utilisée pour le chiffrement et la vérification des communications entre le code JavaScript et les serveurs de Netflix.

Toutes deux sont nécessaires à l'utilisation des EME et à leur implémentation au sein d'un lecteur tel que celui de Netflix, qui s'est tout d'abord concentré sur Chrome OS. Un plugin PPAPI (Pepper Plugin API) était alors utilisé en remplacement de l'API WebCrypto qui n'était pas encore exploitable. Comme nous l'évoquions à l'arrivée de Netflix en France, un paramètre permet d'indiquer que vous voulez utiliser la solution HTML5 en priorité lorsqu'elle est disponible.

Après un essai sous Chrome OS, Internet Explorer 11 et Safari 8 s'adaptent

En juin, c'était au tour de Windows 8.1 et IE 11 d'avoir droit à un tel support. En effet, depuis la version Preview de cet OS et de son navigateur, vous pouvez utiliser le lecteur que vous préférez. Notez que ceux-ci se distinguent par deux éléments principaux encore aujourd'hui :

Le lecteur HTML5/ EME ne permet pas d'effectuer une capture de l'image

ne permet pas d'effectuer une capture de l'image Le lecteur HTML5/ EME ne propose pas d'indicateur HD

Pour le reste, on retrouve les fonctionnalités habituelles du choix au niveau du flux audio en passant par le sélecteur d'épisodes pour les séries. Pour ceux que cela intéresse, l'équipe technique s'était d'ailleurs expliquée l'année dernière sur la mise en place de ce dernier, dans un billet relativement détaillé.



Lecteur Silverlight / HTML5

Il aura par contre fallu attendre cet été pour voir la solution s'étendre à d'autres systèmes. Ainsi, c'est en juin qu'OS X a été concerné avec le support de Safari dans Yosemite et l'implémentation du trio demandé par Netflix. Reste alors deux navigateurs principaux à gérer, tous deux étant disponibles sur plusieurs plateformes : Firefox et Chrome.

Pour le premier, rien n'a vraiment été annoncé pour le moment, mais nous tenterons d'en savoir plus rapidement. Pour le second, qui était partenaire avec Chrome OS, il faudra encore un peu de patience.

Chrome 38 intègrera nativement le support du lecteur HTML5 de Netflix

Pour l'instant, Silverlight est toujours utilisé dans Chrome, même si les composants nécessaires à la version HTML5 du lecteur sont bien présents. C'est seulement à partir de Chrome 38 (actuellement diffusé sur le canal bêta) que cela changera. Pour vous assurer que tout fonctionne, vous devrez vous rendre à deux endroits :

chrome://components

chrome://plugins

Il faudra alors vérifier que le composant « WidevineCdm » est bien à jour (version actuelle : 1.4.6.667) dans le premier onglet, et qu'il est bien activé dans le second. Une fois que ce sera le cas, vous pourrez profiter du lecteur HTML5 de Netflix aussi sous Chrome, sous Windows.

Si vous utilisez le canal stable, il vous faudra encore attendre quelques jours ou semaines afin de pouvoir faire de même.

Linux : changer un User Agent suffit, mais une solution plus propre arrive pour Ubuntu

Reste le cas de Linux. Firefox n'étant en effet pas encore dans la course, il faut attendre après Chrome pour profiter là aussi de Netflix via le lecteur HTML5.

Malheureusement, pour le moment, passer à la version 38 bêta ne suffit pas, et il faut aussi changer l'User Agent qui identifie le navigateur et le système, afin de faire croire que vous êtes sous Windows. Cela peut être mis en place via l'extension User-Agent Switcher et l'UA suivant comme l'avait indiqué Nathan VanCamp cet été :

Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko)

Chrome/37.0.2049.0 Safari/537.36

Mais là encore, les choses pourraient rapidement changer. Paul Adolph, est en charge de ces questions chez Netflix, a ainsi indiqué il y a quelques jours que ses équipes travaillaient à un support de la version stable de Chrome sous Ubuntu, sans changement de ce paramètre.

Pour cela, il fallait que les Network Security Services (NSS) passent au moins à la version 3.16.2, les précédentes n'étant pas compatibles. Réponse des équipes de Canonical : la version 3.17 allait justement être intégrée. Du fait de cet échange, c'est désormais le cas. Ubuntu 12.04, 14.04 et 14.10 sont concernés, comme le confirment nos confrères d'OMG Ubuntu.

Il faudra par contre attendre que Netflix fasse le nécessaire de son côté pour que tout soit pleinement fonctionnel. Nous ferons alors le point pour vérifier que tout fonctionne.

C'est désormais au tour de Firefox et des concurrents de Netflix de s'adapter

Reste maintenant à voir ce qu'il en sera de Firefox dans les semaines à venir. La conversion des concurrents de Netflix sera également à surveiller pour ce qui est de l'arrivée d'un lecteur HTML5 dans n'importe quel navigateur, même sous Linux.

Les grands acteurs français comme CanalPlay ou OCS n'ont pour le moment pas exprimé leur volonté de sauter le pas. Mais l'univers concurrentiel actuel semble accélérer la prise de bonnes résolutions, espérons que cela sera aussi rapidement le cas sur ce point.