VideoLan Days : le futur de VLC, ses objectifs, ses défis et ses galères

Petit guide des tribulations d'un logiciel libre 86
Accès libre
image dediée
Applications
Par
le lundi 21 septembre 2015 à 17:42
Vincent Hermann

Nous nous sommes rendus aux VideoLAN Days, qui se tenaient ce week-end à Paris, dans les locaux de la société Criteo. Cette grand-messe des développeurs impliqués dans le développement de VLC était pour nous l'occasion d’en savoir davantage sur les projets en cours, les objectifs à long terme ainsi que sur les défis d’une telle entreprise.

Beaucoup connaissent VLC, le lecteur multimédia libre et open source connu surtout pour sa capacité à lire une grande variété de formats audio et vidéo. Le logiciel et ses variantes pour différentes plateformes (Windows, OS X, Linux, Android, iOS, Windows Phone…) sont gérés par deux structures : l'association VideoLAN et sa communauté, qui s'occupent du coeur du projet et ses variantes pour ordinateurs, et la société VideoLabs, travaillant sur les versions mobiles et fournissant du support. La communauté elle-même rassemble plusieurs dizaines de développeurs qui alimentent le projet et ses multiples facettes. Quels sont les défis auxquels doit faire face une telle équipe ? Quelles sont les spécificités de l’aspect open source dans un tel contexte ?

Les VideoLAN Days étaient justement l’occasion de revenir sur les défis actuels et sur les ambitions affichées. Car elles sont nombreuses, et les développeurs préparent activement l’arrivée du prochain socle majeur : VLC 3.0. Mais avant d’en arriver là, il faut faire l’inventaire de tout ce qui fonctionne, de ce qui pose problème, de ce qui pourrait être amélioré, voire ce qu’il faudrait ajouter d’entièrement nouveau.

Le support de Chromecast : un véritable cas d'école

Le cas du support de la clé Chromecast de Google est à ce titre très intéressant. Il s'agit d'une fonctionnalité très largement réclamée, et l'équipe est bien entendue sur le coup depuis un bon moment. Mais les efforts autour d'une fonctionnalité qui a l'air à la base si simple, sont une illustration parfaite des problèmes auxquels doit faire face un groupe de développeurs travaillant sur une solution libre qui vise l'ubiquité.

Pour comprendre la situation, il faut garder à l'esprit que VLC est une solution open source qui tient à le rester. Elle n'utilise donc que des outils open source et l'équipe refuse de s'appuyer sur des SDK aux sources fermées et sur lesquels elle n’a que peu de visibilité. Dans le cas présent, les développeurs ne veulent pas utiliser le SDK de Google, qui s'appuie en partie sur les Play Services, malgré l’insistance de l’entreprise qui tient à ce que les applications tierces se mettent au pas. Mais ils ne sont pas open source, et Google peut en changer les règles de compatibilité quand il le souhaite.

Conséquences, si VLC utilisait cet outil, et qu'ils n'étaient demain plus compatibles avec certaines versions d'Android, l'application devrait suivre le mouvement. Pas question donc de perdre cette indépendance, d’autant qu'il existe une vraie volonté de proposer l'application dès Android 2.3. Par ailleurs, les Play Services ne peuvent pas non plus être utilisés sous Windows, OS X, Windows Phone… Une solution doublement impossible donc pour un logiciel qui vise un socle fonctionnel cohérent sur toutes l'ensemble des plateformes.

videolan days vlc

Rétroingénierie et colère de Google

La solution ? La rétroingénierie. Les développeurs ont décortiqué le fonctionnement de Chromecast pour l'intégrer dans VLC. Ils disposent d'une solution fonctionnelle, mais qui fait face à plusieurs problèmes. Un souci technique d'une part, car Chromecast, à l'inverse d'une solution comme AirPlay d'Apple, n'est pas de type « push », mais fait du « pull ». Comprendre que la clé va interroger l'appareil, et non l'inverse. Dans le cas d'une vidéo sortant un peu des sentiers battus dans sa compression, l'application doit alors la transcoder, posant les inévitables questions des performances et de l'autonomie. D’autant que VLC tient à faire du push pour simplifier l’utilisation, ce qui implique de casser certaines fonctionnalités au passage, notamment le multicast.

L'autre souci est le comportement de Google. La firme n'apprécie pas la rétroingénierie et un ingénieur avait menacé l'équipe directement de déréférencer complètement VLC du moteur de recherche. Peu importe pour l'association, comme nous l’a confirmé Jean-Baptiste Kempf : « On le fera quand même ». Google s’est tout de même rétractée par la suite, mais le message était passé et était particulièrement clair. Par ailleurs, il est important de signaler que la firme reste le plus gros sponsor des VideoLAN Days.

Par ailleurs, même si la solution « fonctionne », elle a encore besoin d'être peaufinée. Nous nous sommes brièvement entretenus avec Steve Lhomme, co-créateur du format Matroska (MKV) et qui travaille désormais sur VLC. Il nous a ainsi indiqué que même si la vidéo était lue, il existait des problèmes de performances actuellement et que le flux pouvait régulièrement se couper. Un constat que nous avons pu vérifier lors d’une courte démonstration durant la conférence. Le travail continue quoi qu’il en soit, et l'arrivée du support de Chromecast est prévue pour VLC 3.0, future version majeure aux multiples objectifs.

VLC 3.0 devra tout lire, sur toutes les plateformes

Le but principal est à la fois le plus simple à énoncer et le plus complexe : « Lire tout, partout ». VLC 3.0 sera une nouvelle base qui sera déclinée vers l’ensemble des plateformes actuellement supportées, d’autres étant en préparation. Ce sera particulièrement le cas de Tizen qui, s’il n’est que très peu présent dans le monde mobile, équipera à terme l’ensemble des téléviseurs connectés de Samsung, avec tout le potentiel que cela suppose. Le créneau intéresse donc vivement l’équipe, qui souhaite proposer à terme une véritable référence dans le monde multimédia pour tout ce qui touche à la lecture des contenus.

Autre plateforme visée, tvOS, c’est-à-dire le système équipant la nouvelle Apple TV, qui sortira courant octobre. En dépit des apparences, le travail sera relativement complexe. Jean-Baptiste Kempf nous explique ainsi qu’à la base, il ne s’agira que d’une variante de l’application iOS, les API étant très proches. Cependant, Apple réclame un bytecode (code intermédiaire), compilé ensuite pour être envoyé sur les Apple TV quand on en fait la demande sur le Store.

Pour comprendre le problème, il suffit du coup de comparer VLC avec une solution multimédia comme Netflix. Ce dernier s’appuie simplement sur les API et frameworks proposés, et donc tout ce qui touche notamment à l’accélération matérielle. VLC ne le peut pas : c’est toujours la problématique des éléments tiers non libres auxquels l’application ne peut pas se « fier ». Conséquence pour l’instant, l’impossibilité d’utiliser certaines fonctionnalités, comme l’accélération matérielle. Il reste dans tous les cas plusieurs mois de travail.

videolan days vlc

Le désir de s'ériger en solution de référence pour l'industrie

Cette volonté de résoudre ces soucis techniques illustrent celui d’être partout. Mais pourquoi ce besoin de toucher tous les systèmes qui le peuvent ? Le président de VideoLAN nous a répondu que l’objectif pour VLC était de devenir une plateforme de référence pour la lecture des contenus : « Des platines DVD et Blu-ray utilisent déjà la libVLC, la Freebox et d’autres le font aussi, la prochaine grosse mise à jour de la Bbox l’intégrera. Et ce n’est pas fini ».

VLC joue également une carte dans un domaine où il est presque le seul. Les développeurs s’acharnent parfois à intégrer coûte que coûte le support de formats audio et vidéo qui sont parfois très vieux, globalement inutilisés, tombés en désuétude, depuis longtemps hors support d’un éditeur et qui vont finalement être utilisés par quelques personnes sur la planète. « Le nombre d’utilisations n’est pas la question » nous a ainsi confirmé Jean-Baptiste Kempf, « on doit le faire ». Il poursuit : « Quand Apple décide de faire des changements dans QuickTime et que d’anciens fichiers MOV ne peuvent plus être lus, les utilisateurs savent qu’ils peuvent télécharger VLC et revoir leurs vidéos ».

VLC est un logiciel transversal, ses problèmes le sont aussi

La philosophie qui règne au sein de la communauté permet en fait de mesurer l’éventail complet des problématiques auxquelles un projet information libre peut faire. Les discussions au sein du groupe sont éloignées des préoccupations d’une majorité d’utilisateurs, pour qui le choix d’un environnement informatique se résume souvent à choisir Apple, Google ou Microsoft. Chacun des trois géants a travaillé à mettre en place un environnement idéalisé pour ses propres objectifs, un écosystème certes complet, mais qui ignore évidemment le défi qu’un produit « transversal » doit accomplir. Les développeurs veulent par exemple un support de Chromecast pour toutes les versions de VLC, mais Google n’y tient pas. La question du pourquoi n’est pas importante, seule compte en définitive un objectif et les moyens de le réaliser.

Android, Android TV, iOS, watchOS, TVOS, Windows, WinRT, Windows Phone, Xbox One ou encore Tizen sont donc déjà pris en charge ou en passe de l’être. Il n’y aura probablement pas de mouture pour FirefoxOS car le système mobile ne permet pas les threads (processus) nécessaires au fonctionnement de VLC. Il dispose certes de webworkers, mais on est loin de ce qu’il faudrait. La situation n’est d’ailleurs pas prête de changer, un développeur de Mozilla ayant indiqué que le système n’évoluerait pas sur ce point.

Et maintenant ?

Les plus gros changements arriveront donc avec VLC 3.0, dont le « feature freeze » (la liste définitive des fonctionnalités) interviendra à la fin du mois d’octobre. Selon Jean-Baptiste Kempf, la version finale est prévue pour décembre, avec potentiellement un peu de retard et une arrivée pour début janvier.

Avant la sortie de cette version majeure, d’autres sont prévues. C’est particulièrement le cas des moutures 2.0 pour Android et WinRT. Sur la plateforme de Google, on signalera le support d’Android 6.0, une décompression plus rapide, une plus grande stabilité et, si tout va bien, l’arrivée du support d’UPnP et de SMB. Côté WinRT, il s’agira surtout de corrections de bugs, du support de Windows 10 et le passage en application universelle.

Une version iOS 2.7.0 arrivera également le mois prochain, pour assurer le support avec iOS 9, l’iPhone 6S (et sa version Plus) ainsi qu’avec watchOS 2.0. Notez que l’association a décidé de réintégrer le support du Dolby, mais l’équipe ne sait pas encore s’il sera prêt pour l’arrivée de cette prochaine mouture. Sachez enfin que le travail pour une version Xbox One commencera en novembre, mais il faudra attendre dans tous les cas l’arrivée de véritables SDK pour la console, qui pourraient n’arriver qu’en mars prochain. La mise à jour Windows 10 prévue en novembre ne s’accompagnera en effet pas tout de suite du Store.


chargement
Chargement des commentaires...