Bye Bye On2, retour à nos amours FFmpeg

Samir AMZANI le Jeudi 18 Novembre 2010

On2 technologies était le leader des solutions et logiciels de compression vidéo qui a été racheté l’année dernière par Google pour 106 M$ :).
Chez WMaker nous utilisions jusqu'à ce jour cette technologie payante pour compresser vos vidéos mais Google a décidé de ne plus reconduire de licences à partir du 31/12/2010.


Dans cette note je vous explique pourquoi nous abandonnons On2, ainsi que la solution technique choisie :

- Problème de stabilité : La solution On2 crash régulièrement, malgré les mises à jours et les échanges avec le support pas de solution optimale, on a été obligé d’installer des sondes pour relancer automatiquement en cas de panne. Ce cas arrivait si un de nos utilisateurs upload une vidéo invalide.

- Mauvais ratio taille/qualité : Après plusieurs années d’utilisation et pour avoir une qualité de vidéo optimale, il fallait augmenter le bitrate de compression. Le bitrate est la quantité de données pour seconde de vidéo.

- Aprés l’encodage on voit apparaître des artfacts (parasites) sur certaines vidéos, et voici la réponse de On2 sur le sujet :
 «Hi Samir, I meant to send this to you earlier - thus far, I have no solution to the artifact issue. As far as I can tell, it is an issue with the H264 encoder we use, and that means that we can't immediately fix it ourselves. We certainly won't have a fix for today, Sorry for not being able to help with this in the time frame you needed. If we do get this working better, I'll let you know. »

Tous nos encodages tournent aujourd’hui avec une solution maison, basée sur FFmpeg + x264, qui est une implémentation open source du célèbre codec H264.  Cette solution permet d’avoir un excellent taux de compression qui peut aller jusqu'à 90%, tout en concevant une bonne qualité d’image. Youtube et Vimeo compressent également leurs vidéos avec ffmpeg + x264.

Historiquement, en 2006 [WMaker]url:http://www.wmaker.net été le premier et le seul CMS qui proposait une solution d’encodage vidéo, basé sur FFmpeg+h263. Aujourd'hui on est plutôt satisfait des performances de ces outils comparé à des solutions propriétaires comme On2.

Pourquoi on a choisi le codec H264 pour la diffusion vidéo :

La norme H.264 réduit la quantité d'informations requises pour reproduire l'entrée vidéo en exploitant les redondances dans les images qu'il encode, de manière à la fois spatiale (à l'intérieur de la même image) et temporelle (entre les images).

D'un point de vue temporel, l'encodeur traite chaque image en la subdivisant en une grille de blocs et en cherchant dans les images précédentes ou suivantes des blocs de texture identique, une technique nommée estimation de mouvement. Lorsqu'une correspondance pertinente est trouvée, le décodeur pourra ultérieurement reproduire la texture du bloc concerné à l'aide d'un simple vecteur pointant vers la texture de référence correspondante et d'un peu d'informations pour corriger les petites différences de texture.

D'un point de vue spatial, là où l'estimation de mouvement ne trouve pas de correspondances pertinentes, l'encodeur peut utiliser la texture des blocs proches à l'intérieur de la même image afin de prédire la texture du bloc et stocker uniquement la différence entre la prédiction et la véritable texture. C'est plus efficace que de stocker directement toute la texture, mais toujours plus coûteux que l'estimation de mouvement.

Il existe plusieurs autres techniques utilisées par le H264, qui lui permet de se positionner comme leader de codecs vidéos, a savoir : 

- Plusieurs codages entropiques  (codage arithmétique CABAC, codage adaptatif) 

- Filtrage anti-bloc en boucle (permet de supprimer les artfacts) 

- Moins d’images de références (une seul image ou frame permet de prédire plusieurs images) 

- Estimation de mouvement au quart de pixel (permet d’obtenir des images plus nettes) 

- Utilisation de blocs de petites tailles qui peuvent aller jusqu'à 4x4 pixels au lieu de 16x16 

Quel est l’avantage de cette solution :

- Économie d'espace disque et de bande passante :
En utilisant la norme H264 vous gagnez 20% à 30% en plus sur la compression de vos vidéos.

- Un seul format vidéo pour la diffusion Web et la diffusion iTunes (Podcast/AppleTV) :
Adobe Flash avait déjà implémenté la lecture des vidéos encodées en H264 et encapsulées dans un conteneur MP4, on en a profité donc pour unifier l'encodage Web et iTunes, ce qui vous fait gagner encore plus d'espace disque.

- Des images nettes (frames), et vidéos plus fluides.

Pour finir

La [WebTV]url:http://www.wmaker.tv utilisait dès sa sortie, la technologie que l'on vous propose aujourd'hui sur le CMS. La qualité de vos vidéos est en nette progression grâce aux moteur d'encodage de la WebTV qui s'appuie sur la librairie x264.