Je me demande si j'obtiens une meilleure carte graphique pourrait-elle accélérer l'encodage h264 sur ma machine à l'aide du frein à main?
Si oui, comment savoir quelle carte graphique prendra en charge cela?
Je suis conscient que le GPU peut effectuer le décodage matériel du h264, mais je ne suis pas sûr de l'encodage.
Réponses:
En utilisant le frein à main, la réponse serait non. Handbrake est un encodeur h.264 uniquement CPU, bien qu'il puisse désormais utiliser OpenCL pour la mise à l'échelle vidéo et prend en charge DXVA pour le décodage vidéo.
La question liée par slhck mentionne MediaCoder , mais elle nécessite soit une carte graphique Nvidia soit un processeur Intel avec un cœur graphique de 2ème génération.
Il y a quelques anciens produits obsolètes, en particulier Badaboom et le logiciel ATi Avivo.
Badaboom qui pourrait utiliser les processeurs graphiques Nvidia et Intel pour accélérer le processus d'encodage mais il est maintenant en fin de vie et ne prend pas en charge les cartes graphiques plus récentes.
ATi avait son propre encodeur vidéo qui s'appelait auparavant "Avivo" avant d'être fusionné dans le paquetage AMD Codec qui comprenait le convertisseur vidéo AMD bien qu'il ne soit plus disponible.
la source
x264 prend désormais en charge l'accélération de codage OpenCL. Le degré d'accélération que vous obtiendrez dépendra des performances de votre carte graphique, sur mon GTS 450, je n'en ai pas et avec des cartes plus lentes, cela ralentit l'encodage. De meilleures cartes peuvent aider. Il vous suffit d'ajouter --opencl à la ligne de commande x264. Je crois que le frein à main utilise les mêmes bibliothèques x264 et offre la même accélération OpenCL dans les versions plus récentes.
la source
https://trac.ffmpeg.org/wiki/HWAccelIntro
L'option "-hwaccel auto" vous permet de sélectionner le décodage accéléré matériel à utiliser pour la session d'encodage. Vous pouvez ajouter ce paramètre avec "auto" avant la saisie (si votre x264 est compilé avec le support OpenCL, vous pouvez essayer d'ajouter le paramètre -x264opts), par exemple:
Désolé, mais je ne me souviens pas comment lister toutes les options disponibles pour "-hwaccel".
Vous pouvez également essayer ceci: https://wiki.archlinux.org/index.php/Hardware_video_acceleration
la source
À l'heure actuelle, Handbrake prend en charge les encodeurs accélérés par matériel suivants pour H.264 / AVC:
Intel QuickSync (sous Windows et sous Linux). Ceci est compatible avec au moins les gammes de processeurs Intel Sandybridge (2e génération Core) avec des graphiques intégrés activés et exposés au système d'exploitation. Matériel recommandé pour une qualité de codage acceptable: Haswell (Core-series de 4e génération) et au-delà, qui a introduit le concept de niveaux cibles à granularité fine (TU), de fonctions d'anticipation (comme les modes de codage LA-BRC et ICQ ) avec des performances nettement meilleures. Voir le guide d'utilisation de la documentation du frein à main ici .
NVENC de NVIDIA : cela nécessite au moins les GPU de la série Kepler (GK +) de NVIDIA et au-dessus des SKU de consommation hautes performances (série GTX) et des gammes professionnelles (GPU Quadro et Tesla basés sur Kepler et au-delà). Ceci est disponible sur Windows et Linux.
Il est à noter qu'avec NVENC, vous serez artificiellement limité à au plus deux sessions d'encodage simultanées sur les SKU grand public, tandis que la gamme professionnelle n'en sera pas affectée. Pour votre référence sur les capacités spécifiques de l'encodeur, reportez-vous à la matrice GPU . Pour des performances et une qualité d'encodeur optimales, respectez la dernière itération des GPU Pascal et Volta .
En option:
En ce qui concerne le support d'Apple, c'est au mieux, provisoire . L' API VideoToolBox , lorsqu'elle est implémentée au-delà de la portée de Handbrake, semble également avoir un ensemble très limité de contrôles. Même si Handbrake l'adopte en amont, ne vous attendez pas à des miracles en termes de rétention de qualité et de débit.
Notez que vous devrez peut-être utiliser la dernière version nocturne pour utiliser les dernières fonctionnalités de l'encodeur sur votre plate-forme, comme à l'heure actuelle. Cela va certainement changer à l'avenir.
la source