L'une des grandes nouveautés de VLC 3.0 était le support de la technologie Cast de Google. L'intégration d'un premier moteur de rendu externe qui ouvre la voie de la diffusion sur les clés Chromecast, les appareils sous Android TV, etc. Mais dans la pratique, comment est-ce que ça fonctionne ?
Cela fait maintenant plusieurs mois qu'on le sait : VLC a travaillé à une implémentation « maison » de la fonctionnalité Cast de Google. Celle-ci permet au départ de lire du contenu sur une clé Chromecast, une box sous Android TV ou même les enceintes connectées de la gamme Google Home.
Mais il faut se contenter du peu de liberté offerte par le Cast SDK, qui impose notamment une implémentation via Android ou iOS et dans Chrome pour les ordinateurs. Or VLC y est proposée sous la forme d'une application sous Linux, macOS ou Windows, il fallait donc une solution qui fonctionne également avec ces plateformes.
C'est finalement avec la version 3.0 du lecteur multimédia que cela a été implémenté, mais nous avions alors rencontré quelques problèmes avec des appareils sous Android TV. Un problème corrigé par la version 3.0.1. L'occasion de faire un petit point sur le fonctionnement pratique de tout ça.
Le support du Cast par VLC, une très bonne nouvelle
La première chose que l'on peut noter, c'est que c'est une bonne chose qu'un projet open source comme VLC ait pu développer une implémentation « maison » du Cast de Google. Cela ouvrira la voie à d'autres applications, mais surtout, cela permet d'étendre les possibilités autour de cette technologie.
En effet, pour le moment il était surtout possible d'utiliser Cast avec des services en ligne. L'URL du contenu à lire est ainsi transmise à l'appareil distant qui se contente de le charger. L'utilisateur a alors la main, depuis son smartphone ou son navigateur, sur la lecture, le volume, etc.
Des services comme Plex, qui s'installent sur un PC ou un NAS avaient contourné le problème en utilisant une interface web. Ainsi, on pouvait lancer depuis celle-ci la lecture d'un contenu stocké sur la machine ou depuis un appareil du réseau à sur un terminal Google Cast. Mais c'était un brin complexe et encore un peu limité.
Il était presque toujours impossible de lire un contenu stocké sur la machine sans lancer de navigateur. Pouvoir le faire en profitant de la puissance de VLC, tant au niveau de ses performances de (dé)compression que des formats supportés, est donc une bonne chose. Surtout que c'est permis depuis presque toutes les plateformes.
On l'oublie trop souvent, mais VLC n'est en effet pas qu'un simple lecteur, il peut aussi faire office d'outil de conversion et de serveur de diffusion. Ainsi, n'importe quel format géré par VLC sera supporté, ce dernier modifiant le fichier vidéo si nécessaire. Dans ce cas un avertissement sera affiché, prévenant que les performances peuvent être revues à la baisse.
Sous Android : pas de différence avec une autre application
Android est une plateforme où le support de Google Cast est natif. Ici, l'équipe de VLC a respecté le fonctionnel classique, à savoir un bouton avec l'icône officielle qui est présente dans la barre principale.
Vous pouvez donc cliquer dessus pour initialiser la connexion. Si un seul appareil compatible est présent sur le réseau, vous serez automatiquement connecté dessus. Sinon vous aurez le choix. Une fois la lecture d'un contenu commencé vous pourrez vous servir de votre appareil Android comme d'une télécommande.
Sous Linux, macOS et Windows : choisir un autre moteur de rendu
Avec l'application classique de VLC, pensée pour ordinateur, aucun bouton de ce genre n'est présent. L'équipe a travaillé le support de Cast comme une première étape pour le support de « renderer », des moteurs de rendu qui sont externes à la machine. Comme nous l'expliquions en juin 2016, l'objectif est à terme de supporter d'autres solutions comme UPnP/DLNA, AirPlay, WiDi et DIAL (Miracast). De quoi ouvrir également la porte à OCast d'Orange.
Ainsi, dans le menu Lecture, vous trouverez désormais un élément Rendu (ou Renderer selon les cas). Il listera l'ensemble des appareils compatibles présents sur le réseau. Dans le cas de notre test : une SHIELD Android TV. Un modèle ne gérant que l'audio, comme une enceinte Google Home, apparaîtra aux côtés d'une icône en forme de note de musique.
Il vous suffit alors de sélectionner le moteur de rendu puis de lancer la lecture d'un fichier. Les fonctionnalités de contrôle de l'application seront toujours fonctionnelles, le résultat étant lu sur l'écran distant. Ici, VLC fera office de serveur de diffusion, il faudra donc veiller à disposer d'une connexion réseau suffisante, surtout dans le cas de grosses vidéos comme des éléments en 4K par exemple.
Nous avons effectué nos essais avec la dernière session de Questions au gouvernement récupérée sur LCP via Captvty, le film Big Buck Bunny 1080p (MP4) et Tears of steel 1080p (4K Rendered), sans rencontrer de problèmes dans nos différentes configurations. Le débit nécessaire était au maximum de 15 Mo/s. De quoi mettre à mal certaines configurations Wi-Fi (voir notre test).
Lecture depuis un appareil sur le réseau, conversion de format
Là où les choses peuvent se corser, c'est concernant la lecture depuis un NAS par exemple. En effet, VLC doit récupérer le flux vidéo sur le réseau, puis le renvoyer à l'appareil via Google Cast en passant là encore par le réseau. Si la vidéo est lourde, cela peut poser problème.
C'était notamment la vidéo 4K de Tears of steel qui ne pouvait pas être correctement lue depuis notre NAS par VLC sur notre Mac Mini. Cela n'était pas mieux une fois le rendu sur Android TV activé. Dans l'idéal, il faudrait que VLC puisse dire à l'appareil réseau de lire directement le contenu depuis l'emplacement où il se trouve, mais cela poserait trop de problèmes pratiques : protocoles supportés, protection par un mot de passe, etc.
Autre élément à prendre en compte : les performances de votre machine. En effet, il faut que celle-ci soit capable de lire et de transmettre la vidéo, parfois de la compresser lorsque son format n'est pas nativement supporté par l'appareil distant. Un vieux processeur pourra donc poser problème.
Le support dans iOS et l'application UWP pour plus tard
Les plus attentifs remarqueront que nous n'avons pas évoqué deux versions de VLC : celle pour iOS et l'application universelle accessible depuis le Windows Store. La raison est simple : Google Cast n'y fonctionne pas encore.
Néanmoins, l'équipe a déjà indiqué que ce serait le cas dans de prochaines mises à jour. Il faut donc seulement s'armer d'un peu de patience. Le travail va continuer de se faire pour améliorer le support de Cast, qui pose encore parfois quelques petits soucis quand on change de fichier, ou l'arrivée de nouveaux protocoles.
Il serait d'ailleurs intéressant que VLC puisse à terme être utilisé non pas comme un moyen de diffuser du contenu vers un appareil distant, mais comme un récepteur Google Cast exploitable depuis des appareils tiers. Pour le moment, cela ne semble néanmoins pas à l'ordre du jour.
Une chose est sûre, avec cette fonctionnalité, VLC continue d'être une référence de poids dans le secteur des lecteurs multimédias. Et son équipe démontre une fois encore sa capacité à ne pas se laisser bloquer par les solutions plus ou moins ouvertes mises en place par les géants du Net.