FFmpeg führt nach Jahrzehnten mit dem „komplexesten Refactoring“ Multithreading in der CLI ein
(phoronix.com)Unterstützung für Multithreading in der FFmpeg-CLI
- Die Unterstützung für Multithreading in der FFmpeg Command-Line Interface (CLI) wurde in FFmpeg Git zusammengeführt.
- Dies ist eine Änderung vor der Veröffentlichung von FFmpeg 7.0 Anfang nächsten Jahres und stellt eine große Verbesserung für das wichtige Open-Source-Projekt dar, das weithin für Video-Transcoding genutzt wird.
- Da Multi-Core-Prozessoren heute allgemein verbreitet sind, ist diese Verbesserung äußerst vorteilhaft.
Komplexe Refactoring-Arbeiten
- FFmpeg-Entwickler beschrieben diese Multithreading-Arbeit in einer aktuellen technischen Ankündigung als „eines der komplexesten Refactorings, die in Jahrzehnten in der FFmpeg-CLI durchgeführt wurden“.
- Die Entwickler bitten die Nutzer um Tests und fordern dazu auf, gefundene Probleme an FFmpeg Trac zu melden.
Umgesetzte technische Änderungen
- Der zusammengeführte Patch umfasst das Hinzufügen einer threadbewussten Transcoding-Scheduling-Infrastruktur, das Verschieben der Kodierung in einen separaten Thread sowie mehrere weitere Low-Level-Änderungen.
- Die Umstellung von FFmpeg auf eine Thread-Architektur bedeutet, dass jede Komponente (Demuxer, Decoder, Filter, Encoder, Muxer) zwar bereits in einem separaten Thread lief, nun aber tatsächlich parallel ausgeführt werden kann.
Meinung von GN⁺
- Die Unterstützung für Multithreading in FFmpeg ist ein wichtiger Fortschritt, der die Effizienz von Video-Transcoding-Aufgaben deutlich verbessern kann.
- Diese komplexen Refactoring-Arbeiten stellten die Entwickler vor viele Herausforderungen und zeigen, dass sich FFmpeg kontinuierlich an moderne Computing-Umgebungen anpasst und weiterentwickelt.
- Für Nutzer und Entwickler wird es interessant sein zu beobachten, welche Auswirkungen diese Änderung auf die tatsächliche Leistung haben wird.
1 Kommentare
Hacker-News-Kommentare
Theorie zur Optimierung von Multithreading/-processing
Aufzeichnung des Vortrags bei der VDD@Dublin-Veranstaltung
Überlegungen zur Verbesserung der Multicore-Leistung
Die Herausforderung kontinuierlicher Rebase-Arbeit
Erwartete Verbesserung der Startzeit für Virtual-Display-Buffer-Streaming mit FFmpeg
Werbung für einen FFmpeg-C-API-Kurs
Neugier auf die FFmpeg-Codebasis
Perspektive eines Cloud-Service-Betreibers
Geteilte Erfahrungen mit threadbasierter Filterverarbeitung in VapourSynth
Frage zur Multicore-Unterstützung von FFmpeg