Quelqu'un connaît-il une solution actuelle et active pour encoder des vidéos x264 sur plusieurs ordinateurs (via le réseau) afin d'augmenter les FPS d'encodage ?
Des points pour la multiplateforme et l'open source, mais pour votre information, j'utilise habituellement Windows.
Les programmes dont j'ai entendu parler, et pourquoi je ne pense pas qu'ils soient adaptés :
- x264farm : Non développé activement. Bonne interface, mais ne supporte pas l'encodage en deux passes, et échoue avec les nouvelles versions de x264.
- ELDER : Encore une fois, pas activement développé, mais mon problème était qu'il ne fonctionnait pas avec les nouvelles constructions x264, et qu'il était très difficile à configurer (lire : a cessé de fonctionner de manière aléatoire).
Bien que je n'aie pas absolument besoin d'un programme en cours de développement, j'aimerais en avoir un qui supporte l'encodage à deux passages et travaille avec new(er) x264 builds .
Informations complémentaires : Jusqu'à présent, j'ai offert (et attribué !) deux primes distinctes sur cette question depuis que je l'ai postée pour la première fois il y a plus de deux ans, et je n'ai toujours pas trouvé de solution à ce problème. Ce que je recherche, c'est un programme simple qui me permette d'encoder des vidéos x264 en utilisant la puissance de traitement de plusieurs ordinateurs connectés en réseau local. De plus, ce serait bien s'il fonctionnait avec les nouvelles versions de x264 et s'il supportait l'encodage à deux passages.
Si quelqu'un a une réponse actualisée ou une nouvelle solution à ce problème, veuillez la poster et elle sera prise en considération.
Mise à jour de 2016 :
Après une grande partie de mon expérience professionnelle dans le domaine de la vision par ordinateur/machine, je me suis rendu compte que les frais généraux associés à la grande quantité de données/mémoire partagées, et le goulot d'étranglement potentiel qu'ils représentent, pourraient l'emporter sur les avantages potentiels.
Bien que j'aimerais toujours trouver quelque chose qui me permettrait d'exploiter la puissance de calcul inactive de plusieurs appareils, pour l'instant, les encodeurs modernes basés sur le GPGPU constituent une bien meilleure approche si vous avez besoin d'un encodage amélioré/en temps réel. C'est ce que proposent la plupart des plateformes d'encodage vidéo basées sur le cloud (ce qui est une autre alternative si vous êtes adepte du SaaS ou du cloud computing), mais à plus grande échelle.
0 votes
Je travaille toujours sur ce sujet. x264farm est juste le gestionnaire de rendu, il semble que vous devriez être en mesure de placer n'importe quelle version de x264 que vous voulez sur les pc esclaves. Avez-vous essayé, et quelles erreurs se sont produites si vous l'avez fait ?
1 votes
forum.doom9.org/showthread.php?p=1184152#post1184152
1 votes
Je réalise que c'est un vieux fil de discussion, mais je pense que je devrais partager mon expérience personnelle. Ne distribuez pas un travail à plusieurs machines, c'est une perte de temps, distribuer à plusieurs cœurs diminue déjà les performances, et il y a plusieurs processeurs physiques, puis plusieurs machines, chacune avec un problème d'E/S et de latence. Ceci étant dit, utilisez-le uniquement lorsque c'est vraiment nécessaire, s'il y a plusieurs fichiers (travaux), distribuez-les par fichier, je crois que Squeeze peut distribuer la charge sur plusieurs machines, mais c'est assez cher.
0 votes
@ShaneHsu merci de partager. J'ai écrit cette question pour la première fois il y a plus de quatre ans, et à l'époque, la machine que j'utilisais pour faire ce travail n'était pas presque aussi puissant que celui que j'ai maintenant, il était donc beaucoup plus logique à l'époque de suivre cette voie. Aujourd'hui, je suis d'accord avec vous : si la vitesse de rendu devient un problème, il est préférable de décharger l'ensemble du travail sur une autre machine, plutôt que de diviser un seul travail en plusieurs morceaux (et de laisser une instance d'encodeur h.264 s'occuper de l'encodage multithread/multicore si nécessaire).
0 votes
Je cherche à faire la même chose, mais malheureusement il semble que ce fil de discussion est surtout rempli de solutions à moitié cuites ou de projets qui n'existent plus. Bien qu'il semble que votre besoin de faire cela se soit estompé, si vous avez plus d'informations sur les solutions possibles depuis la dernière mise à jour, faites-le moi savoir.
0 votes
@Locksleyu malheureusement non, mais je suis toujours à la recherche de nouvelles solutions. Cela dit, après une longue expérience de la vision par ordinateur, je me suis rendu compte que les frais généraux associés à la grande quantité de données/mémoire partagées et le goulot d'étranglement de la bande passante qu'il présente pourraient l'emporter sur les avantages potentiels. Les encodeurs modernes basés sur le GPGPU constituent une bien meilleure approche à mon avis, et l'on pourrait mettre en place une renderfarm si nécessaire. C'est ce que proposent la plupart des plateformes d'encodage vidéo basées sur le cloud (une autre option si vous êtes adepte du SaaS ou du cloud computing), mais à plus grande échelle.