Többszálú FFmpeg készül?

FFmpeg
FFmpeg
Egy érdekes hírre találtam a phoronix oldalán, és kicsit körbejártam a témát.
A FFmpeg egyik levelezőlistáján jelent meg a bejelentés:

Szia,
~2 év munka és ~700+ előkészítő commit után végre itt van a többszálú ffmpeg CLI első "teljesen működőképes" verziója. Azért van idézőjelben, mert a változások mértéke miatt biztos vagyok benne, hogy néhány dolog törött, és nem vettem észre…

Maga a hír egyelőre érdektelennek tűnik, de én mindenképp azt fogom csinálni, hogy figyelem a fejleményeket, hiszen a több szálú munka az nagyon meggyorsítja a valóban lassú videó dekódolást, rendelerést, illetve az audió fájlokkal való munkát.
A videó, illetve audio vágási feladatoknak az egyik leglassabb pontja a renderelés, azaz a kész file elkészítése. Ha a kódolórendszer több szálon tud működni, akkor az összes processzor szálat, processzor magot ki fogja tudni rendesen használni, ezzel villámgyorsát tudjuk tenni a amúgy unalmas és lassú munkát!

Egy tapasztalati értéksor jól mutatja a többszálú munka előnyét: ha videóvágó programban egy szálon rendereltettem, akkor a munka egy órás volt. Amikor mind a 12 szál működött hét perc.

Lehet, hogy sokan nem is tudják, de sok grafikus videó illetve audió program az FFmpeg programra támaszkodik. Bár különféle módszerrel megoldják, hogy a grafikus program több szálat, több CPU magot is használjon, de ha ez megvalósul, akkor a gyorsulást maga a háttérben futó FFmpeg is segíti. Nem beszélve a CLI, terminálos megoldásokról, amiket azért sokan használunk.
Bár sok blogbejegyzés jelent meg itt is az FFmpeg programról, de aki nem ismeri:

FFmpeg egy ingyenes és nyílt forráskódú multimédia keretrendszer, amely számos multimédiás fájlformátumot és kódolást támogat. Használata számos különböző területen hasznos lehet:

  1. Multimédia konverzió: FFmpeg lehetővé teszi a különböző multimédiás formátumok közötti konverziót. Például átalakíthat videókat egy formátumból egy másikba, így kompatibilissé teheti különböző eszközök és lejátszók számára.

  2. Videóvágás és összeillesztés: FFmpeg segítségével videókat lehet vágni, összeilleszteni, átalakítani és szerkeszteni. Ez hasznos lehet videókészítéshez vagy szerkesztéshez.

  3. Hangfeldolgozás: FFmpeg támogatja a hangformátumok konverzióját, kivágását és keverését. Ezenkívül képes hangnyomokat hozzáadni vagy eltávolítani videókhoz.

  4. Élő közvetítések: FFmpeg alkalmas élő videó és hangközvetítések kezelésére, például YouTube vagy Twitch közvetítésekhez. Képes monitorképet is rögzíteni, így célprogram futtatása nélkül is vehetünk fel a monitorról.

  5. Parancssori eszköz: FFmpeg egy parancssori eszköz, ami lehetővé teszi a fejlett szkriptek és automatizációs feladatok végrehajtását multimédiás fájlok kezeléséhez.

  6. Multimédiás adatok elemzése: FFmpeg segítségével lehetőség van részletes információk kinyerésére a multimédiás fájlokból, például videó- és hangkódolásról, méretekről, bitráta stb.

  7. Platformfüggetlenség: FFmpeg több platformon és operációs rendszeren elérhető, beleértve a Windows, macOS és Linux rendszereket.

  8. Fejlesztőknek: FFmpeg nyílt forráskódú projekt, amely lehetőséget nyújt a fejlesztőknek saját multimédiás alkalmazások készítésére vagy testreszabására.

Összességében az FFmpeg egy erőteljes és sokoldalú eszköz a multimédiás fájlok kezeléséhez és manipulálásához. Hasznos lehet mind az átlagos felhasználók, mind a fejlesztők és a multimédia szakemberek számára.