Google vient d'être annoncée que la prochaine version de son navigateur Chrome, la version 48, prendra en charge VP9 pour WebRTC. Il s'agit d'une étape importante pour WebRTC et Chrome, et ce pour plusieurs raisons. Pour comprendre pourquoi, il est utile d'examiner un peu l'histoire de la prise en charge des codecs vidéo dans WebRTC ainsi que dans Google+ Hangouts, l'application de vidéoconférence populaire de Google.
Lorsque Google+ Hangouts a été lancé, il utilisait H.264 SVC, l'extension de codage vidéo évolutive de H.264 que Vidyo a co-développée. L'utilisation de l'évolutivité dans le codec vidéo est essentielle pour mettre en œuvre une conception de serveur radicalement différente pour la vidéo multipoint, capable d'offrir une gamme sans précédent de fonctionnalités : résilience et localisation des erreurs, adaptation du débit, mise en page personnalisée, mise en cascade, etc. Plus important encore, tout cela se fait avec un délai extrêmement faible (un ordre de grandeur inférieur à celui d'un MCU de transcodage typique), à grande échelle, et sans aucun traitement de signal au niveau du serveur. Vidyo a introduit cette conception de serveur en 2008 dans son produit breveté VidyoRouter™.
Hangouts est passé à l'utilisation du codec vidéo open-source VP8 en août 2013 afin, entre autres, que le client puisse éventuellement fonctionner sur WebRTC, comme expliqué dans le document suivant entretiens avec des membres de la direction de Google. Le VP8 n'offrant pas d'évolutivité spatiale, une version plus simple, appelée simulcasting, a été utilisée. Avec cette technique, un point d'extrémité produit plusieurs flux vidéo à des débits binaires et des résolutions différents. Le serveur reçoit les deux et choisit celui qu'il transmettra aux participants destinataires. (Nous avons par la suite inventé le terme "Selective Forwarding Unit", ou SFU, pour décrire le fonctionnement de ces serveurs de manière générique).
En même temps que la transition vers VP8, Vidyo et Google annoncée que Vidyo collaborerait avec Google pour développer une extension évolutive du codec vidéo VP9 dans le cadre du projet open source WebRTC client. L'objectif est de combiner la puissance de WebRTC avec les avantages de l'évolutivité afin d'offrir la meilleure expérience possible aux utilisateurs finaux.
L'inclusion de VP9 dans WebRTC dans Chrome 48 marque une étape importante dans cette collaboration. Il s'agit de la première version logicielle largement disponible de ce nouveau codec (en dehors d'un drapeau, sur toutes les plateformes Chrome). Cette version incorpore le la norme proposée pour la mise en paquets du RTP pour VP9, qui a été conçu et développé en collaboration avec Vidyo et Google, et qui prend en charge les nouvelles fonctions d'extensibilité. Les fonctions d'extensibilité spatiale et temporelle du codec lui-même sont déjà présentes dans les référentiels de code WebM et WebRTC.
Au fur et à mesure que l'on acquiert de l'expérience dans les applications déployées et que le support API approprié est mis à disposition au niveau de la couche WebRTC, nous nous attendons à ce qu'elles trouvent leur place dans les futures versions du navigateur Chrome d'une manière rétrocompatible.
Vidyo a utilisé un codage évolutif pour construire une nouvelle architecture de serveur pour la communication vidéo à grande échelle et de très haute qualité, sur pratiquement n'importe quel réseau et n'importe quel appareil. Cette architecture excelle dans les environnements qui nécessitent une grande échelle et/ou qui sont hébergés dans le nuage. Elle est également intrinsèquement agnostique en matière de codec : le choix du codec, du point de vue de l'infrastructure, est une décision purement commerciale. Tant que l'évolutivité est disponible, l'infrastructure peut opérer sa magie.
Nous sommes très enthousiastes à l'idée de pouvoir bientôt apporter les avantages éprouvés de cette conception au monde WebRTC. Bien que cette version soit la première étape, comme le dit le proverbe, la première étape est la moitié du voyage.