J’avais déjà parlé il y a un moment de la clé USB dédié à la compression de chez Elgato, la Turbo.264. Depuis, j’ai récupéré la version HD de ce produit, qui me sert de temps en temps.
L’idée, c’est d’utiliser une puce de compression dans la clé USB, qui va effectuer une partie du travail. Avant ~2012, ça avait du sens, depuis les processeurs Intel et les GPU d’AMD et nVidia intègrent des encodeurs (parfois même en HEVC/H.265) et ils sont d’ailleurs très utilisés (AirPlay se base sur ce genre de technologies). Malgré tout, avec un processeur un peu lent (ou ancien), ça peut avoir de l’intérêt. J’utilise la clé en question sur un Mac mini 2009 (Core 2 Duo à 2 GHz) qui sert pour les enregistrements TV et la clé soulage bien le processeur pour le laisser faire d’autres choses.
La première génération encodait uniquement en basse définition (jusqu’au ~800×600), la seconde prend en charge la HD (jusqu’en 1080p). Par contre, petite différence, l’utilisation du CPU reste assez élevée, une partie de l’encodage se fait visiblement sur le processeur. Avec la première clé, le décodage se faisait sur le CPU (ce qui pouvait poser des soucis avec un PowerPC et des vidéos en HD) et l’encodage sur le matériel, ici le décodage se fait sur le CPU et l’encodage sur la clé et le CPU.
Elgato propose un programme dédié, Turbo.264 HD, un composant QuickTime qui permet d’utiliser la clé et – bien évidemment – une intégration sans faille dans EyeTV.
Niveau vitesse, ça peut être surprenant. Attention, OS X (comme tous les Unix) compte l’utilisation du processeur avec comme base 100 % par core, donc un Core 2 Duo peut monter à 200 %, un Core i7 mobile (comme celui de mon MacBook Air) à 400 % (deux coeurs avec Hyper-Threading) et un Mac Pro à 2 400 % (douze coeurs avec Hyper-Threading).
J’ai utilisé une vidéo en 1080p, issue d’un iPhone, d’une durée de 1 minute. Un simple encodage via HandBrake est le plus rapide sur mon MacBook Air : il utilise le CPU pratiquement au maximum (~350 %) et encode ma vidéo de 1:00 en 1:19. La machine souffle, mais c’est rapide. Avec l’encodeur matériel d’Elgato, on passe à 1:38, avec ~115 % d’occupation CPU (75 % pour l’encodage, 40 % pour le décodage). Le programme fonctionne sans la clé, mais les performances sont mauvaises : ~305 % de CPU (280 % pour l’encodage lui-même) et 2:18. Enfin, avec la clé de première génération (donc de HD vers SD), l’encodage prend 1:45 avec un CPU utilisé à 85 %.
Sur une machine de 2012, l’intérêt est donc nul, mais sur un appareil plus ancien, ça permet de garder un peu de réactivité (et de silence). Attention à un truc : le composant QuickTime utilise les anciennes API et ne fonctionne donc pas avec QuickTime X et les logiciels qui se basent dessus (Final Cut Pro X, les derniers iMovie, etc.).