Le nouveau codec AV1 perce dans VLC et Windows 10

Stéphane Moussie |

Petit à petit, le codec AV1 est adopté par les logiciels grand public. Dans sa version 3.0.5 sortie récemment, VLC améliore significativement sa prise en charge du codec vidéo amené à devenir le futur standard de l’industrie. Le lecteur vidéo tire logiquement parti de dav1d, un décodeur AV1 performant mis au point par les équipes de VideoLAN et FFmpeg.

VLC lisant un fichier AV1 (l’extension est .MP4 mais le fichier est bien encodé en AV1).

Concrètement, VLC lit un plus grand nombre de vidéos AV1 et les lit plus efficacement. Les versions précédentes ne savaient pas du tout lire les clips AV1 expérimentaux encodés par Netflix, par exemple. Sur un MacBook Pro 13" Touch Bar 2016, VLC 3.0.5 assure une lecture fluide de la vidéo Chimera 10 bit 1280x720 (l’application prend plus de 100 % du CPU et exploite également le GPU) jusqu’à la moitié environ. La séquence du garçon dans l’eau semble poser problème ensuite.

Au passage, la mise à jour de VLC corrige un problème de décodage matériel pour les flux HEVC sur Mac, prend en charge (de manière minimale) le mode sombre de macOS Mojave et est approuvée par le « notaire Apple », une nouvelle mesure de sécurité introduite avec Mojave.

L’AV1 qui, pour rappel, a l’avantage d’être libre et plus optimisé que le HEVC, poursuit également sa route dans Windows 10. Le système d’exploitation de Microsoft le prend en charge depuis sa version 1809, par l’intermédiaire d’une extension encore en bêta.

La prochaine mise à jour majeure de Windows 10 (version 1903) pourra en plus gérer l’AVIF, ou AV1 Image File Format, un format d’image basé sur l’AV1. D’après les premières expérimentations réalisées début 2018, les images encodées en AV1 sont 15 % plus légères que celles en HEIF, le format nouvellement utilisé par Apple et lui-même plus optimisé que le JPEG.

L’AV1 est concocté par l’Alliance for Open Media, un consortium rassemblant tous les acteurs majeurs de l’industrie (Google, Apple, Microsoft, Amazon…). YouTube et Netflix ont tous les deux commencé à tester le codec. Sa généralisation est escomptée autour de 2020.

Tags
avatar Zefram | 

Bonjour,
Je me demande quelle machine il faudra pour lire de l’AV1 en 4k. Un Mac 2018 avec processeur T2 en est-il capable ? Une Apple TV 4k ?

avatar Akeru60 | 

@Zefram

Malheureusement il faudra sûrement attendre la prochaine génération.. que ce soit pour un mac ou une ATV. Sans la puce matériel, ça va être très dur niveau logiciel à décoder ?

avatar fte | 

@Akeru60

Les puces Intel ont les instructions nécessaires depuis la gen 6 sauf erreur.

arm je n'en sais rien.

avatar Akeru60 | 

@fte

Non, il pourront le décoder voir l’encoder logiciellement, mais ça risque d’utiliser toute la puissance du processeur voir le GPU. Mais les premières puce à le faire matériellement sortirons quand 2020 voir même plus...

avatar fte | 

@Akeru60

J'ai lu l'inverse.

Je vais allez fouiner pour trouver des réponses, donc.

avatar Akeru60 | 

@fte

D’accord tien nous au courant ! Mais moi j’avais lu qu’il fallait attendre 2020 que le codec soit finalisé et seulement vers cette date que les puces sortiraient ! A confirmer

avatar vince29 | 

Le bitstream est frozen depuis fin mars. Après le(s) codec(s) est toujours susceptible d'être amélioré par rapport à l'implémentation de référence.

avatar fte | 

@Akeru60

Alors, les gen 4 et + ont le hardware nécessaire pour accélérer substantiellement le décodage AV1, sans mettre le processeur sur les genoux. C'est plus ancien que je ne le pensais.

Le vrai décodage matériel requiert une implémentation spécifique, qui ne sera possible que lorsque le codec sera finalisé, plus le temps d'achever hardware, production, livraison, etc. 2020 possiblement. C'est particulièrement important dans le mobile, pour de stupides questions d'autonomie.

L'encodage est une autre histoire.

avatar Akeru60 | 

@fte

Merci ! ?

avatar vince29 | 

Pour l'instant pour bénéficier d'un réel boost dans le décodage il faut avoir des puces possédant le jeu d'instruction avx2 (Intel génération haswell et suivantes).
Le codec est censé intégrer prochainement des améliorations de performances pour les processeurs intégrant le SSE (intel depuis le pentium 4) ainsi que pour les processeurs arm.
Le gain de performances sur les instructions SSE ne sera sans doute pas du même ordre qu'avec avx2 mais c'est toujours bon à prendre.
Sur les videos de tests la 4k est décodé à 30 im/s avec un i7-4710

avatar fte | 

@vince29

"Le codec est censé intégrer prochainement des améliorations de performances pour les processeurs intégrant le SSE (intel depuis le pentium 4) ainsi que pour les processeurs arm.
Le gain de performances sur les instructions SSE ne sera sans doute pas du même ordre qu'avec avx2 mais c'est toujours bon à prendre. "

Ah, intéressant. J'ai cherché pour l'accélération avx2, je n'avais pas vu pour le SSE. Je me demande ce que ça donnera...

Merci.

avatar Mrleblanc101 | 

@fte

Non, ils ont une puce pour le HEVC, pas AV1

avatar fte | 

@Mrleblanc101

Non, "ils" n’ont pas de puce.

Les derniers modèles intègrent une fonction spécifique à h265 dans le GPU, de plus anciens pour h264... Pour une efficacité maximale, mais aussi une spécificité maximale.

Mais "ils" ont tous des instructions pour accélérer ces codecs, fonction spécifique ou non, depuis les ix-4xxx.

avatar brunnno | 

Si Netflix l’utilise on saura très vite si l’apple TV peut le lire

avatar julien74 | 

C est quoi le gain sur la taille d un fichier par rapport à du HEVC?

avatar reborn | 

l’application prend plus de 100 % du CPU

Oooook ?

avatar duke90000 | 

@reborn

Pareil ?

avatar Faabb | 

@duke90000

Donc un core entier sur toutes les machines >= Haswell (>= 2013)
Une vidéo HEVC 1080p main profile prend 30/40% d’un core sur mon MBP équipé d’un Sandy i7

Meme si les codecs n’exploitent pas encore toutes les optimisations disponibles, le saut de complexité est important !

avatar sebasto72 | 

@reborn

Simple convention.
100% = 1 core

D’autres systèmes n’affichent pas cela comme ça (1 core utilisé correspond à une charge de 25% d’une machine qui en compte 4, par exemple), mais c’est cette convention qui semble l’emporter.

Un hexacore pourra donc monter à 600% :)

avatar PTT91 | 

Bonjour
Un CPU i7 4 cores à 4,2GHz de base peut-il afficher une vidéo AV1 4K ?

Le Moniteur d'activité de OSX s'affiche le pourcentage d'activité du CPU par rapport à 100% sur mon iMac 5K i7 4,2GHz et mon MBP i7 2GHz.

Donc pour encoder en AV1 4K, combien faut-il de cores ?

Merci et bonne fête à tous

avatar fte | 

@PTT91

"Bonjour
Un CPU i7 4 cores à 4,2GHz de base peut-il afficher une vidéo AV1 4K ?"

Oui.

Chrome me joue les vidéos Netflix à moins de 15% de charge. Je ne pense pas qu'il utilise mon GPU.

"Le Moniteur d'activité de OSX s'affiche le pourcentage d'activité du CPU par rapport à 100% sur mon iMac 5K i7 4,2GHz et mon MBP i7 2GHz."

Essayé sur Windows. Pas sur macOS. Pas surpris que ça rame sur Mac ceci dit, pas la première ni la dernière fois.

"Donc pour encoder en AV1 4K, combien faut-il de cores ?"

Idéalement, des processeurs dédiés.

Sinon, ça dépend de l'objectif. 1 au minimum. Pas de maximum.

avatar Upsilona | 

Ce que j’attends, c’est le support WebRTC, malheureusement, pas beaucoup de news de ce côté là, le H.264 a encore de beaux jours devant lui ...

avatar Upsilona | 

Pour travailler dans le milieu de l’embarqué, le VP8 est tout nouveaux pour moi, autant dire que j’ai bien peur de mourrir avant que je ne joue avec l’AV1 ?

avatar richard | 

je n'ai aucune compétence dans ces histoires de codage-décodage ; mais j'envisage l'acquisition d'un caméscope Sony en 4K et je me demande si les images que je monterai avec FCPro seront compatibles avec un iMac sous Mojave (Retina 5K, 27-inch, 2017), 3,8 GHz Intel Core i5 dot é de 24Go de RAM ?

avatar fte | 

@richard

J'avoue ne pas comprendre la question.

Tu vas pouvoir importer, transcoder, afficher, monter et encoder tes vidéos, oui. Comme avec n'importe quel ordi de moins de 10 ans.

avatar richard | 

ma question avait avoir aussi avec ce qui précède : la nouvelle version de VLC (avec lequel il m'arrive aussi de lire mes fichiers aujourd'hui en H264). Je craignais que ce qui est dit me concerne directement, par exemple : "Le vrai décodage matériel requiert une implémentation spécifique, qui ne sera possible que lorsque le codec sera finalisé, plus le temps d'achever hardware, production, livraison, etc. 2020 possiblement"...

avatar Faabb | 

@richard

Pas de souci, le processeur s’en chargera sans problème.
C’est juste qu’une unité matérielle spécialisée dans l’encodage/décodage de ce flux vidéo sera bcp plus efficace (en temps et en énergie)

Mais pour cela, il faudra attendre encore 2ans que le standard soit complètement arrêté et que les puces soient ajoutées au cartes logiques des ordis/tél.

CONNEXION UTILISATEUR