FFmpeg introduit le multithreading dans son CLI via « le refactoring le plus complexe » depuis des décennies
(phoronix.com)Prise en charge du multithreading dans le CLI de FFmpeg
- La prise en charge du multithreading dans l’interface en ligne de commande (CLI) de FFmpeg a été fusionnée dans le dépôt Git de FFmpeg.
- Il s’agit d’un changement intervenu avant la sortie de FFmpeg 7.0 au début de l’année prochaine, et d’une amélioration majeure pour cet important projet open source largement utilisé pour le transcodage vidéo.
- À l’heure où les processeurs multicœurs sont devenus la norme, cette amélioration est particulièrement bénéfique.
Un travail de refactoring complexe
- Dans une récente présentation technique, les développeurs de FFmpeg ont décrit ce travail sur le multithreading comme « l’un des refactorings les plus complexes réalisés sur le CLI de FFmpeg depuis des décennies ».
- Les développeurs demandent aux utilisateurs d’effectuer des tests et les invitent à signaler tout problème découvert sur FFmpeg Trac.
Les changements techniques mis en œuvre
- Le patch fusionné comprend l’ajout d’une infrastructure de planification du transcodage compatible avec les threads, le déplacement de l’encodage vers un thread séparé, ainsi que plusieurs autres modifications de bas niveau.
- Faire évoluer FFmpeg vers une architecture à threads signifie que chaque composant (demuxer, décodeur, filtre, encodeur, muxer) s’exécutait déjà dans son propre thread, mais peut désormais fonctionner réellement en parallèle.
L’avis de GN⁺
- La prise en charge du multithreading dans FFmpeg constitue une avancée importante susceptible d’améliorer fortement l’efficacité des tâches de transcodage vidéo.
- Ce travail de refactoring complexe a représenté de nombreux défis pour les développeurs, et montre que FFmpeg continue de s’adapter et d’évoluer avec les environnements informatiques modernes.
- Il sera intéressant, pour les utilisateurs comme pour les développeurs, d’observer l’impact concret de ce changement sur les performances réelles.
1 commentaires
Avis Hacker News
Théorie sur l’optimisation du multithreading/multiprocessing
Enregistrement d’une conférence de l’événement VDD@Dublin
Réflexion sur l’amélioration des performances multicœurs
Le défi d’un travail de rebase continu
Attente d’une amélioration du temps de démarrage du streaming de tampons d’affichage virtuel avec FFmpeg
Promotion d’un cours sur l’API C de FFmpeg
Curiosité à propos de la base de code de FFmpeg
Point de vue d’un opérateur de services cloud
Retour d’expérience sur le traitement des filtres threadés de VapourSynth
Question sur la prise en charge multicœur de FFmpeg