3 votes

Application d'encodage vidéo pour un système à deux processeurs et 16 cœurs

J'ai besoin d'effectuer de l'encodage vidéo, mais la plupart des applications (ou des paramètres) que j'ai utilisées ne tirent pas pleinement parti de ma station de travail.

J'utilise deux processeurs Xeon, 8 cœurs par processeur avec hyperthreading, soit 32 threads. Je peux utiliser Win 7 ou n'importe quelle version de Linux (de préférence debian).

Sous Windows, tous les presets Handbrake n'utilisent que 40% de la puissance totale du processeur pour x264. Sous Linux, libav et ffmpeg utilisent également environ 40%.

Je doute sérieusement que les disques durs soient le facteur limitant. J'utilise une matrice locale raid 0 ssd comme source vidéo et une matrice raid 5 ssd comme sortie vidéo. Les transferts normaux sont de l'ordre de 500 Mo/s, je ne pense donc pas qu'il y ait un goulot d'étranglement au niveau des entrées/sorties.

Pensant que le problème pouvait être lié à l'hyperthreading, je l'ai désactivé. Cela n'a pas beaucoup aidé. Je l'ai donc réactivé.

Y a-t-il donc des aspects de l'encodage x264 qui ne sont pas multithreadés ? De plus, recommandez-vous un autre encodeur ? Enfin, tout commentaire sur ce sujet est le bienvenu. Je vous remercie de votre attention.

2voto

Giuseppe R Points 1325

Vous ne serez probablement pas en mesure d'exploiter au maximum le CPU pour une seule vidéo, car les encodeurs vidéo ne sont pas excessivement parallèles (c'est-à-dire capables de s'adapter à autant de threads que vous en avez). Vous seriez certainement en mesure d'exploiter au maximum ce système si vous aviez plusieurs processus simultanés en cours.

Malheureusement, il n'y a pas grand-chose à faire pour qu'un seul flux vidéo soit encodé en utilisant un très grand nombre de threads de l'unité centrale, sans concevoir un codec spécifiquement pour fonctionner de cette manière. Je ne suis pas sûr qu'il y en ait.

Avez-vous envisagé d'utiliser une sorte de GPU - Intel QSV sur le processeur, ou peut-être OpenCL sur une carte Radeon ou GeForce - pour effectuer un encodage accéléré par le GPU ? Dans mes tests avec une Radeon HD7970 et Sony Vegas Pro sous Windows 8, il faut 15 minutes pour encoder une vidéo avec l'assistance de la Radeon, contre 90 minutes avec mon CPU Core i7 3770K (sans utiliser QSV).

Vous pouvez également lire este document d'information sur l'enfilage en x264. Déterminez la version que vous utilisez (filetage basé sur les images ou sur les tranches) et pesez le pour et le contre comme indiqué dans ce fichier.

0voto

William Points 5801

J'ai essentiellement la même configuration de processeur que vous, et pour tout ce qui concerne l'édition et l'encodage, j'ai utilisé Adobe Media encoder et Adobe Premier Pro. Ils sont conçus pour tirer pleinement parti de configurations telles que celle que vous avez et le font très bien (voici un lien : http://www.adobe.com/ca/products/creativesuite/production.html ). J'espère que cela vous aidera.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X