Netflix : des vidéos plus légères et de meilleure qualité

Nicolas Furno |

Netflix va se lancer dans son plus grand chantier depuis sa création : encoder à nouveau chaque fichier vidéo à sa disposition. Le service de streaming a un objectif très simple : améliorer la qualité, tout en réduisant le poids de chaque fichier, et donc la bande-passante nécessaire pour regarder un film ou une série. Un énorme travail, mais qui pourrait diminuer la quantité de données envoyées à hauteur de 20 %, ce qui est immense à son échelle.

La même image avant le nouvel encodage à gauche, et après réencodage à droite. Comme on peut le voir en cliquant pour agrandir, le résultat est meilleur… alors que le flux vidéo est plus léger (1 750 kbps avant, 1 540 kbps après).

Réencoder un catalogue aussi vaste que celui de Netflix n’est pas une décision que l’on prend à la légère du jour au lendemain. L’entreprise y travaille depuis 2011 et elle a utilisé non seulement ses propres ingénieurs, mais aussi les chercheurs de trois universités (dont celle de Nantes, en France) pour trouver la meilleure solution. À l’arrivée, voici le plan de bataille : analyser chaque vidéo pour déterminer sa complexité et encoder ensuite chaque fichier en fonction de ce profil.

Jusque-là, Netflix avait choisi une qualité pour chaque profil de connexion : avec de l’ADSL ou de la fibre, on a un débit moyen et du 1080p, avec de la 3G, on a tel autre débit moyen, etc. Avec cette échelle, on avait au mieux un débit de 5,8 Mbps quelle que soit la source, ce qui est insuffisant pour une qualité parfaite sur un film d’action, et superflu pour un film d’animation. Plus l’image contient d’informations, plus elle sera complexe à encoder et nécessitera un débit élevé pour proposer une bonne qualité. À l’inverse, une image d’animation constituée essentiellement d’aplats de couleurs est beaucoup plus simple et on peut obtenir une excellente qualité avec un débit moindre.

L’idée est donc d’analyser chaque film, documentaire et épisode de série pour établir un profil de complexité. En fonction de ce profil, Netflix va choisir un débit différent, adapté au fichier. Et dans tous les cas, le nouveau fichier sera plus léger et de meilleure qualité à l’arrivée. Mais il va falloir d’abord encoder à nouveau tout le catalogue, ce qui n’est pas une mince affaire.

Encodage original à gauche, nouvelle version à droite. Là encore, il faut cliquer pour agrandir et pour voir la différence (surtout sur l’arrière-plan). Là encore, la version de droite est plus légère que celle de gauche (5 800 kbps contre 4 640 kbps).

Netflix exploite déjà les serveurs d’Amazon pour distribuer les vidéos et ces mêmes serveurs seront aussi exploités pour l’encodage. Dès qu’ils ne travaillent plus, pendant la nuit par exemple, ils seront sollicités pour convertir à nouveau chaque fichier vidéo. Si tout va bien, le processus sera terminé au premier trimestre 2016… mais il sera alors peut-être temps de tout recommencer à nouveau.

En effet, l’entreprise ne compte pas s’arrêter là. Pour optimiser encore plus la qualité de ses vidéos, tout en réduisant leur poids, Netflix a une autre idée. Ajuster le débit, non seulement en fonction d’un profil généré pour un fichier, mais pour chaque scène. De la sorte, une scène d’action serait encodée avec le meilleur débit possible, tandis qu’une scène calme, comme un plan fixe, serait encodée avec un débit plus faible. Visuellement, on aurait un résultat parfait de bout en bout, mais le fichier serait encore plus léger à l’arrivée.

Source
avatar boubloux | 

Superbe effort

avatar Powerdom | 

Ouais. Dommage que le catalogue français soit très très léger.

avatar Toinewh | 

Le jour où on aura un logiciel qui nous permettra de faire ça… j'aimerai ne pas passer à côté !!!

avatar R1x_Fr1x | 

Netflix invente l'encodage responsive. Chapeau.

avatar en ballade | 

@R1x_Fr1x :
Responsive? Tu veux dire réactif ?

avatar narugi | 

Belle prouesse technique !

avatar iDanny | 

Analyser avant d'encoder, c'est le principe de tout bon encodage de toute façon (encodage en 2 passes minimum), donc je pige pas trop pourquoi ils le faisaient pas déjà avant... Et tous les softs d'encodage proposent déjà ça depuis au moins 10 ans.
À moins qu'ils fassent qqchose qui demande + d'intervention humaine que d'habitude, ou que jusqu'ici ils utilisaient tout simplement un encodage à bitrate fixe :o

avatar cortig | 

Il me semble même que c'est possible en une seule passe avec le « Quality-Based Variable Bit Rate Encoding ».
C'est même devenu le mode d'encodage par défaut de Hanbrake depuis pas mal de temps.
https://trac.handbrake.fr/wiki/ConstantQuality

Je ne comprend pas comment il pouvaient s'y prendre avant.

Ils ont peut-être amélioré le processus avec une analyse plus fine sur la durée des scènes.

avatar EBLIS | 

Pareil que vous, j'ai dû zapper un truc parce qu'il y a 10 ans déjà je gérais les encodages différés et directs dans une université et avec mon équipe on faisait du multipasses pour améliorer considérablement la qualité de diffusion et les débits afin de ménager les connexions universitaires internes et externes.
À mon avis il y a autre chose.

avatar gemrosh | 

Et la 4K encodé ? Ça donnera quoi ?

avatar Rez2a | 

Il faut saluer les gars de Netflix qui se sortent vraiment les doigts sur le côté technique. J'ai rarement vu un service aussi clean et abouti dès sa sortie en france (certes, on avait un train de retard). Bravo à eux, ça fait plaisir de voir un service de qualité qui fait tout pour s'améliorer encore plus.

avatar TomSupraBoy | 

Avec le service Netflix France peut-on mettre les films en anglais? Possibilité de mettre les sous-titres en anglais aussi? Merci d'avance.

avatar ericpp412 | 

@TomSupraBoy :
Ça dépend des films, mais la plupart sont disponibles en VO pour l'audio. Pour les sous-titres, c'est moins systématique, et souvent du sous-titrage malentendants (avec description des bruits et musiques)

avatar TomSupraBoy | 

@ericpp412 :
Ok ok je prends notes. Je te remercie de ton retour ;).

avatar nicolas | 

@sapropelet :
Pas forcément, le h.264 permet plein de profil plus ou moins complexes, du style High@L4.1 ou main@L4.0
Le format de base ne change pas, en revanche la complexité change, et la puissance nécessaire au décodage augmente. C'est là que le principal problème se situe : la puissance déla puce chargée de décoder.

avatar Wolf | 

@sapropelet : D'un autre côté si le format est compatible uniquement avec Netflix, je ne vois pas où est le problème

avatar jb18v | 

@sapropelet :
Et non, relis l'article

avatar bill moruuv | 

Et puis il nous ferons une analyse plus fine encore car on peut avoir qqn qui court devant un plan fixe/....

avatar macosZ | 

A noter que l'université de Nantes participe au projet

avatar bonnepoire | 

La qualité de l'image chez Netflix est impressionnante chez moi sans jamais aucun lag. Moi qui préfère les Blu Ray pour la qualité optimale du son et de l'image, je reste bluffé. Là où ça fait mal c'est pour des séries plus anciennes dont le master doit être un dvd (Wallander ou Doctor Who).

Vu que je trouve le cinéma actuel minable, je suis très content de Netflix. Ca me permet de rattraper le cinéma 80, 90 et 2000 que j'ai raté. Mais leur atout reste les séries, c'est incontestable.

avatar CM-S | 

Très bon Bojack Horseman, à voir.

avatar filaton | 

En fait, ce qui n'est pas clair dans l'article, c'est que jusque là Netflix associait débit avec résolution. Tout part du problème suivant : je dispose d'un débit de 1Mbps, j'ai le choix entre diffuser une basse résolution mais avec peu d'artefacts qui, si elle est lue sur un petit écran, semblera très bonne. Cependant, si je la lis sur un écran HD, la mise à l'échelle révélera le manque de résolution. Si je diffuse directement de la HD, le débit sera sûrement insuffisant pour ne pas avoir d'artefacts.
Partant de là, ils ont créé il y quelques années des paires de débit/résolution optimales.
Maintenant, si j'ai un film d'animation peu complexe, au lieu de m'en tenir à la paire débit/résolution optimale, je peux sûrement diffuser une meilleure résolution dans le même débit. Et inversement.

avatar iDanny | 

Après avoir lu l'article original, on dirait vraiment qu'ils viennent juste de découvrir le principe d'encodage en plusieurs passes pour analyser au préalable le débit nécessaire à chaque moment de la vidéo !

Cet extrait tout à la fin de l'article est très clair (et hallucinant à la fois) :

"And then there is another crazy idea that could require the company to re-encode the entire catalog all over again: After finding the best setting for each single video, Aaron’s team is now thinking about even encoding each scene of a movie or TV show with different settings to account for higher information density during fight scenes and lower demands during slow moments of introspection."

... ben oui ça s'appelle du VBR quoi !! ^_°

Il doit y avoir qqun chez Variety qui a mal compris ce que Netflix leur a raconté, c'est pas possible.

avatar Lemmings | 

Assez hallucinant surtout qu'ils n'aient pas exploités le VBR dès le début... :/ Vivement qu'ils s'y mettent (ainsi que les autres).

avatar Lemmings | 
avatar Dranouss | 

Les mecs qui encodent des divx de boules et qui se croient plus malins que Netflix ! Vous ne manquez pas d'air les champions ;)

avatar EBLIS | 

Non c'est pas ça du tout. Il doit sûrement manquer des informations parce que les techniques annoncées existent depuis pas mal de temps. C'est pour cela que certains sont étonnés.

CONNEXION UTILISATEUR