Jusqu'alors, chaque élément de notre ordinateur avait un rôle propre : la carte graphique avait pour tâche le traitement 3D, dont le jeux vidéo, tandis que le processeur s'occupait... du reste. Aujourd'hui, la donne a changé et les fondeurs que sont AMD et NVIDIA ont entrepris d'utiliser leur GPU pour d'autres opérations que des calculs 3D. Pourquoi une telle évolution ? Quels avantages peut-on tirer d'une telle technologie et quid des performances sont autant de questions auxquelles nous répondrons dans ce dossier.
Pourquoi utiliser le GPU pour l'encodage ?
Si les constructeurs de GPU se sont tournés vers cette voie qui n'en est toutefois qu'à ses prémices, ce n'est pas seulement pour diversifier leur activité et promouvoir un peu plus leur produit. C'est également parce que le GPU est un vrai « client » en ce qui concerne certains types de calculs, plus précisément les opérations parallélisables. Pour comprendre cela, il faut se plonger dans les différences fondamentales qui existent entre un CPU et un GPU, c'est à dire entre un processeur et une carte graphique.Le processeur tel que nous le connaissons actuellement est un excellent élément pour traiter rapidement un flux d'instructions complexes important, du fait de la rapidité de l'échange entre la mémoire cache, qui occupe la majeure partie de la surface d'un CPU, et les unités de calcul, en nombre restreint. Dans un GPU, les unités de calcul sont en revanche très nombreuses, toutes destinées à du calcul « simple » et la mémoire prend très peu de place. Il est donc tout à fait véloce pour ce qui est du calcul parallèle, c'est-à-dire une opération pouvait être « découpée » en une multitude de calculs indépendants, comme le rendu 3D ou la conversion d'une vidéo.
De par leur nature hautement programmable, les GPU sont ainsi apte à effectuer des calculs généralistes au même titre qu'ils effectuent depuis des décennies des rendus 3D. C'est ce qu'on appelle le GP-GPU (general purpose GPU). NVIDIA et son API CUDA ou AMD avec le ATI Stream proposent deux langages de programmation qui ont permis la création d'applications comme Avivo Video Converter ou Badaboom, que nous détaillerons plus avant.
Quelques chiffres à titre de comparaison
Protocole de test
Dans ce dossier, nous avons tout d'abord voulu vérifier l'efficacité des GPU en matière d'encodage vidéo. Nous avons également souhaité mettre face à face plusieurs applications à même d'utiliser le GPU pour effectuer l'encodage. Afin de coller au plus près d'une utilisation commune de ces logiciels, nous avons choisi de travailler sur deux fichiers :- une vidéo MPEG-4 de 350 Mo encodée en XviD à 970 Kbps, flux audio en MP3 135 Kbps ;
- un DVD que nous avons au préalable sauvegardé grâce à DVD Shrink. Le total des fichiers MPEG-2 représente 4,8 Go.
Pour effectuer ces opérations, nous avons eu recours à la machine suivante :
- Boîtier Antec Nine Hundred
- Carte-mère Asus P5Q-EM (BIOS 0202),
- Processeur Intel Core 2 Quad Q9300 2,5 GHz,
- 4 Go de mémoire DDR2-800 Corsair,
- Disque dur Western Digital Velociraptor 300 Go fonctionnant à 10 000 tours par minute
Deux remarques concernant le matériel choisi. Tout d'abord, le processeur Intel Core 2 Quad Q9300 n'est certes pas le plus véloce des CPU actuellement sur le marché, mais il est nettement plus « grand public » qu'un Q9550 ou un Core i7 940. En second lieu, le disque dur a volontairement été choisi le plus rapide possible afin de ne pas niveler les performances des logiciels et des composants.
Quelles cartes graphiques compatibles ?
Evoquons enfin le choix des cartes graphiques. Tous les GPU ne sont pas compatibles avec CUDA pour NVIDIA et l'ATI Stream pour AMD. Chez AMD, la compatibilité ATI Stream démarre avec les cartes Radeon HD de la série 2000 et se poursuit avec les Radeon HD 3000 et 4000. Vous trouverez une liste exhaustive sur cette page. Chez NVIDIA, ce sont les familles GeForce 8, GeForce 9, GeForce séries 100/200 qui peuvent tirer profit de CUDA. Les pilotes et les systèmes d'exploitation sont une autre restriction : CUDA est compatible avec Windows XP et Vista, tout comme l'ATI Stream, qui nécessite toutefois l'installation du Service Pack 3 pour Windows XP. Pour les pilotes, la version 8.12 des Catalyst est un minimum, alors que pour une carte NVIDIA, ce sont les versions ultérieures à la mouture 177.35 qui seront aptes à faire fonctionner CUDA. Enfin, sachez que ni l'API de NVIDIA ni celle d'AMD ne gère d'un côté le SLI, de l'autre le CrossFire. En conséquence, nous effectuerons nos tests sans tenir compte de ces possibilités.Nous avons finalement opté pour une Radeon HD 4870 dotée de 1 Go de mémoire du côté d'AMD, et pour une GeForce GTX 260 de NVIDIA. Ces deux cartes sont relativement proches en termes de performances et sont dans la même gamme de prix et il nous a paru pertinent de les comparer dans ce dossier. Enfin, les pilotes utilisés sont les Catalyst 9.4 (le patch permettant d'utiliser ATI Stream se trouve en fin de page) et les GeForce 185.85 WHQL.
Les applications testées
Si le matériel est choisi, reste à sélectionner les logiciels qui nous permettront de nous faire une idée des performances de l'encodage par GPU. Le BadaBOOM d'Elemental Technologies et NVIDIA parait incontournable. Nero Move It, compatible avec CUDA, sera également testé, ainsi que Cyberlink MediaShow Espresso, qui peut solliciter à la fois les GPU NVIDIA et ceux d'AMD. Enfin, MediaCoder et Handbrake joueront le rôle de témoins, avec un encodage utilisant uniquement le processeur.BadaBOOM
Quels formats pris en charge ?
Lors de sa sortie, BadaBOOM souffrait d'un nombre de formats pris en charge bien trop réduit. Depuis, des efforts ont été consentis et dans sa version 1.1.1, le logiciel accepte :
- pour la vidéo, les formats MPEG2, H.264, RAW (4:2:0 seulement), HDV, AVCHD, MPEG1, WMV, VC1, DivX, Xvid et FRAPS ;
- pour le signal audio, l'AC-3, le MP2, le PCM et l'AAC ;
- pour le conteneur (ou l'encapsuleur) enfin, les fichiers .m2v, .mpg, .vob, .avi, .trp, .ts, .m2t, .m2ts, .mpeg, .mts, .mov, .mp4, .mkv, .wmv (mais pas dans sa version Pro Audio) sont tous reconnus.
Encoder avec BadaBOOM, procédure
Des trois logiciels que nous avons testés, BadaBOOM est probablement le plus simple. Choisissez votre source à gauche parmi un dossier, un fichier ou un DVD, puis sélectionnez l'appareil de destination sur la colonne de droite. Notez que notre DVD de test contenant une protection, il nous a fallu effectuer une sauvegarde préalable du média. En revanche, et contrairement à Nero Move It ou le MediaShow Espresso de Cyberlink, BadaBOOM a été capable, à partir des fichiers VOB, de reconstituer un unique fichier vidéo.L'interface de BadaBOOM est double : la première est simplifiée à l'extrême et ne permet de ne régler la « qualité » (en réalité le bitrate vidéo) via un curseur allant de « Smallest File » à « Higher Quality ». Une pression sur le bouton « Advanced » placé en haut de l'interface autorise cependant d'autres réglages en faisant apparaître 4 onglets :
- Video Decoder : onglet relativement inutile qui permet de limiter le nombre de frames encodées... il serait étonnant que quelqu'un soit tenté de décocher la case « All ».
- Video Encoder : ici se trouvent les réglages les plus importants. Définissez le profil à utiliser (Main ou Baseline), le niveau du profil en question ainsi que la qualité.
- Picture Settings : choisissez ici la résolution de sortie et l'aspect de votre vidéo (4/3 ou 16/9). Vous avez également la possibilité de désentrelacer votre vidéo.
- Audio Settings : comme son nom l'indique, vous trouverez dans cet onglet les quelques paramètres qu'il vous est permis de changer sur le flux audio, dont le débit, à choisir entre 128 et 160 Kbps, ce que certains pourront trouver insuffisant.
Le mode avancé de l'interface de BadaBOOM apporte plus de liberté sur les paramètres d'encodage
Deux remarques pour terminer : notez la présence de BadaBOOM dans le menu contextuel de Windows, et celle de quelques bugs qui ont parfois entaché nos tests. Le problème semblait se situer au niveau du pilote d'affichage. Vous pourrez vous procurer BadaBOOM sur le Net contre la somme de 25 euros.
Nero Move It
- Télécharger la version d'évaluation de Nero Move It dans notre logithèque.
Quels formats pris en charge ?
Il serait trop long de lister le nombre de formats que Nero Move It parvient à prendre en charge, tant au niveau de la vidéo que de l'audio. Mais sachez que c'est de loin le plus doué en la matière, parmi nos trois logiciels. Quant aux formats de sortie :- Pour les codecs vidéos, les MPEG-4, XviD, H.264, 3GP, WMV, et l'AAC pour le flux audio ;
- Les .mp4, .avi, .3gp et .wmv pour les conteneurs.
Encoder avec Nero Move It, procédure
Au contraire de l'interface de BadaBOOM, celle de Nero Move It est plus brouillonne : les icônes sont peu explicites, et le partage de la fenêtre en deux est assez déconcertant. A gauche, la source, à droite, la destination. Vous avez la possibilité de synchroniser les deux, ou d'effectuer des transferts (et donc des conversions) de l'un vers l'autre et réciproquement. Les sources et les destinations des vidéos sont les mêmes, à savoir :- des dossiers de votre ordinateur ;
- des éléments en ligne, sur MySpace, Youtube ou MyNero, un site communautaire de l'éditeur ;
- un périphérique mobile automatiquement reconnu une fois connecté à votre PC, ce que vous invite à faire le logiciel dès son lancement.
L'interface de Nero Move It, proche de celle de BadaBOOM
Comme sur l'interface du logiciel de NVIDIA, l'interface principale de Nero Move It n'autorise que très peu de latitudes quant au comportement du programme. Le lien « Paramètres » permet toutefois de mettre les mains dans le cambouis pour ceux qui aiment ça. Les « réglages du périphérique » sont probablement les plus importants. Pour la vidéo notamment, il permet de choisir le codec utilisé, la fréquence des images, le taux d'échantillonnage et le débit du flux audio, celui du flux vidéo, ainsi que sa résolution.
D'autres réglages sont accessibles via cet onglet « Paramètres » et concernent en premier lieu la définition des dossiers multimédia sur lesquels le logiciel opèrera un contrôle du contenu afin de maintenir à jour sa base. Autres paramètres à définir, ceux qui vous permettront de vous connecter à vos comptes MySpace, Youtube ou MyNero.
Paramètres des comptes en ligne et définition des dossiers multimédia
L'utilisation de Nero Move It ne nous a pas posé de problème particulier, mis à part une jauge d'avancement pas toujours fidèle. Le concept de « périphérique » comme élément de destination est assez déconcertant au premier abord, mais est finalement plutôt bien pensée. Nero Move It est disponible en ligne contre un peu plus de 33 euros.
Cyberlink MediaShow Espresso
Quels formats pris en charge ?
Si le logiciel de Cyberlink ne reconnait pas autant de formats en entrée que BadaBOOM par exemple, particulièrement au niveau du signal audio, il gère tout de même un grand nombre de conteneurs et autorise surtout la conversion vers un assez grand nombre de formats :- pour la vidéo, les formats MPEG2, DVR-MS, DV-AVI, H.264, TiVo, MPEG1, WMV sont compatibles ;
- pour le signal audio, seul le format ASF est accepté ;
- pour le conteneur (ou l'encapsuleur) enfin, les fichiers .mpg, .avi, .ts, .m2t, .m2ts, .mpeg, .mts, .mov, .mp4, .wmv et .wtv sont tous reconnus.
Encoder avec MediaShow Espresso, procédure
Comme nos deux autres logiciels, celui de Cyberlink possède une interface dont la simplicité ravira les moins geeks d'entre vous. Un glisser-déplacer d'une vidéo dans la fenêtre principale servira de source, tout comme les deux boutons d'importation (de fichier ou de dossier). Une fois les fichiers importés, ceux-ci apparaissent sous forme de vignettes dans la fenêtre. Il vous reste à cliquer sur l'une des différentes destinations gérées (Appareils Apple, Sony, Microsoft, Youtube ou encore un autre format) pour que l'encodage débute.Une interface simple et esthétiquement réussie
Une fois votre périphérique sélectionné, vous pouvez préciser davantage votre choix dans la nouvelle fenêtre qui s'ouvre. Le format de sortie s'ajuste alors automatiquement. Vous pouvez également sélectionner la résolution de sortie et le répertoire dans lequel sera enregistrée la vidéo. Vous ne disposez en revanche pas de possibilité de réglage sur la qualité de votre vidéo si vous empruntez ce chemin. Pour gagner en liberté, il vous faudra passer par le lien « Autres formats » qui vous offrira la possibilité de créer un profil personnalisé où le codec et la résolution de la vidéo ainsi que les débits des flux audio et vidéo seront paramétrables. Il subsiste toutefois quelques limitations qui vous obligeront parfois à vous contenter des profils programmés.
Les possibilités offertes par le MediaShow Espresso de Cyberlink sont quelque peu limitées
Une fois tous vos choix effectués, la fenêtre d'avancement de l'encodage apparaît. Les estimations sont fidèles, comme c'était le cas avec BadaBOOM. Cette capture d'écran nous renseigne par ailleurs sur le fonctionnement du logiciel de Cyberlink. En effet, le fait de voir s'effectuer quatre opérations simultanées n'est pas un hasard lorsqu'on pense aux quatre cœurs de notre processeur. Le rôle du CPU serait-il prépondérant avec ce logiciel ?
Notez enfin que ce logiciel n'a pu effectuer notre test mettant en jeu le fichier XviD, ce format n'étant pas reconnu par MediaShow Espresso. De plus, si la conversion des fichiers VOB issus de notre DVD s'est déroulée correctement, le programme n'a pas été en mesure d'en faire un unique fichier vidéo. Cyberlink MediaShow Espresso est vendu pour un peu moins de 40 euros.
Performances des encodeurs
Les protagonistes présentés, le protocole expliqué, reste à savoir si l'intérêt de l'utilisation de GPU pour l'encodage vidéo est si élevé que le disent NVIDIA et AMD. Nous saurons également quel logiciel semble le plus intéressant, celui dont les performances sont les plus impressionnantes.Temps de conversion
Cette donnée est probablement celle qui nous intéresse le plus, car l'encodage est souvent une opération dont on aimerait se débarrasser le plus rapidement possible.- Encodage du DVD
Ce premier test ne comporte pas de résultat pour MediaShow Espresso, puisque les possibilités de réglages limitées de ce logiciel nous ont empêchés de réaliser l'encodage en H.264 à 760 Kbps dans la résolution de 640x480. On voit ici que HandBrake, qui n'utilise que le CPU, est plus lent que BadaBOOM pour réaliser l'opération, et presque deux fois moins rapide que Nero Move It, qui ne met que 16 minutes à réaliser l'opération. Si le premier résultat était attendu, la différence de performance entre BadaBOOM et Move It surprend, d'autant que les deux applications utilisent toutes les deux CUDA et le GeForce GTX 260.
Sur le second graphique, les résultats sont un peu plus riches. L'encodage en 2 000 Kbps de notre DVD a cette fois été effectué par MediaShow. Mais le logiciel de Cyberlink ne semble pas du tout adapté à CUDA. En effet, les résultats obtenus avec la GTX 260 sont bien plus mauvais que ceux de la carte ATI, alors que les deux GPU sont assez proches en termes de performances.
Notez également que HandBrake ne se débrouille pas si mal par rapport aux autres méthodes d'encodage, Nero Move It exclu. Enfin, il est intéressant de remarquer que les résultats de HandBrake, BadaBOOM et Nero Move It évoluent assez peu en fonction du bitrate. La taille du fichier de départ semble donc être un paramètre bien plus important que le débit du fichier de sortie en ce qui concerne le temps d'encodage.
- Encodage du fichier XviD
MediaShow Espresso ne gérant pas le format XviD, il est évidemment absent de ces graphiques sur lesquels l'apport du GPU ne se dément pas. Entre les performances de Mediacoder et celles de BadaBOOM, il existe un écart de 23% pour un encodage en 760 Kbps, et même plus de 40% si le bitrate passe à 2 000 Kbps. Le CPU seul gère donc moins bien l'augmentation de ce paramètre pour un tel encodage. Nero Move It sort encore gagnant de ce test.
Taille des fichiers
+ Encodage du DVDAvec un encodage à 760 Kbps d'un film de 2h20, il est assez naturel d'aboutir à des fichiers dont la taille dépasse les 800 Mo. Notez toutefois que BadaBOOM génère des fichiers de taille légèrement moins importante que HandBrake, quel que soit le bitrate. Nero Move It et Cyberlink MediaShow Espresso ne figurent pas dans ces résultats, puisqu'ils sont incapables de générer un fichier unique à partir de plusieurs fichiers VOB.
- Encodage du fichier XviD
Si Nero Move It réintègre ce graphique, ce n'est toujours pas le cas de MediaShow Espresso, qui ne gère pas le format XviD. Le logiciel de Nero génère des fichiers d'un poids légèrement plus important, tandis que BadaBOOM parvient encore à fournir des fichiers moins volumineux que ses concurrents, quel que soit le débit utilisé pour le fichier de sortie.
Occupation CPU
L'utilisation du CPU va nous donner les clés nécessaires à la compréhension des résultats précédents.- Encodage du DVD
Lors de l'encodage des fichiers VOB de notre DVD à 2 000 Kbps, MediaShow et HandBrake ont utilisé notre Intel Core 2 Quad Q9300 au maximum de ses capacités. Nero Move It en a quasiment fait de même, alors que BadaBOOM se contente de seulement 20% de charge. Lorsque l'on se rappelle les résultats du second graphique de cette page, plusieurs remarques viennent à l'esprit :
- face à un HandBrake qui utilise toutes les ressources, BadaBOOM et ses 20% de charge montrent l'intérêt de l'utilisation du GPU ;
- de même, le MediaShow de Cyberlink ne semble décidément pas adapté à CUDA. Malgré ses 100% d'occupation CPU, le logiciel est bon dernier en terme de temps d'encodage. CUDA n'est pas à mettre en cause, étant donnés les résultats de BadaBOOM ;
- le MediaShow se comporte beaucoup mieux avec l'ATI Stream, comme le montrent les résultats de la HD Radeon 4870, malgré une occupation du processeur moindre ;
- enfin, les performances de Nero Move It s'expliquent enfin, la consommation de temps CPU étant bien plus importante avec ce logiciel qu'avec BadaBOOOM. Cette différence est d'ordre philosophique, puisque la politique de NVIDIA avec BadaBOOM est de laisser la possibilité à l'utilisateur d'effectuer d'autres opérations pendant l'encodage, réduisant celle-ci à une tâche de fond. Chez Nero, on a préféré mettre la gomme et utiliser au maximum toutes les ressources de l'ordinateur.
- Encodage du fichier XviD
Sur ce graphique, on s'aperçoit une nouvelle fois de la gourmandise de Nero Move It et de l'attitude « économe » de BadaBOOM, qui reste sous les 25% d'occupation CPU.
Occupation mémoire vive
Dernier paramètre à prendre en compte lorsque l'on parle de performance des différents logiciels, leur demande en mémoire vive.- Encodage du DVD
Lors de l'encodage de notre DVD au bitrate de 2 000 Kbps, nous avons relevé la consommation en mémoire vive de nos logiciels. On s'aperçoit que le MediaShow Espresso de Cyberlink consomme considérablement davantage que ses concurrents. Par ailleurs, ce logiciel est plus gourmand encore lorsqu'il utilise CUDA et non l'ATI Stream. Pour ce qui est des trois autres protagonistes, la consommation de RAM est plutôt bien contenue, avec un bon point pour Handbrake et ses 81 Mo de RAM utilisée seulement.
Qualité des vidéos
S'il est évidemment délicat de juger de la qualité des vidéos en 640x480, nous avons tout de même voulu jouer le jeu des impressions d'écran. Celles-ci ont été réalisées par le biais de VLC, tout post-traitement ayant été désactivé. Les fichiers utilisés sont ceux issus de l'encodage de notre DVD en 2 000 Kbps.Comme vous pouvez vous en apercevoir, il est très difficile de distinguer des différences au niveau de la qualité de ces vidéos en 640x480. Toutes semblent convenir à une lecture sur un appareil mobile.
Conclusion
Deux politiques s'affrontent ensuite quant à l'utilisation du processeur. Alors que NVIDIA voit en l'utilisation du GPU une occasion d'alléger la charge du processeur, ce que BadaBOOM effectue parfaitement, Nero préfère solliciter tous les composants de la machine afin de réduire le temps de calcul au maximum. Move It réussit cela avec une certaine réussite.
En revanche, que dire du MediaShow de Cyberlink ? Il consomme à la fois les ressources du GPU et celles du processeur pour des résultats particulièrement décevants lorsqu'il utilise CUDA. Avec l'ATI Stream, les résultats sont plus conformes à nos attentes, même s'ils restent assez éloignés des performances de Nero Move It. Si vous possédez une carte graphique de marque ATI, pourquoi ne pas utiliser ce logiciel. Tournez-vous en revanche vers BadaBOOM ou Nero Move It si votre ordinateur est équipé en NVIDIA.
Les trois logiciels présentés sont par ailleurs assez inégaux. S'ils ne sont pas vraiment éloignés concernant l'ergonomie, le nombre de formats pris en compte place BadaBOOM et surtout Nero Move It loin devant le logiciel de Cyberlink.
Evoquons enfin la qualité des vidéos générées. Pour un appareil mobile, elles sont toutes convenables, aucun problème évident ne nous ayant sauté aux yeux. Parler de macro-bloc pour des vidéos à la résolution de 640x480 n'est pas vraiment approprié, à moins de posséder une vue bien au-delà de la normale. De ce point de vue donc, pas de souci particulier à relever.
Terminons en évoquant le problème du prix de ces trois logiciels : est-il intéressant d'investir au minimum 25 euros (pour BadaBOOM) pour gagner un peu de temps dans le processus d'encodage ou pour alléger la charge du processeur ? Un encodage de nuit n'est-il pas plus économique à tous les points de vue ? Tout dépend de votre consommation dans ce domaine.
Télécharger Handbrake pour Windows.