
FFmpeg
Nyílt forráskódú multimédia feldolgozó keretrendszer
Kódolás, dekódolás, átkódolás, streaming és audio‑ és videófájlok konvertálása az FFmpeg API-n keresztül.
Mi az FFmpeg?
Az FFmpeg egy vezető nyílt forráskódú multimédia keretrendszer, amely lehetővé teszi a fejlesztők számára a hang- és videótartalom rögzítését, konvertálását és streamelését. Tartalmaz egy átfogó könyvtárkészletet — például a libavcodec, libavformat, libavutil, libavfilter, libswscale és libswresample — amelyek robusztus eszközöket biztosítanak a különféle multimédiás feladatok kezeléséhez. Százezres kodek- és formátumtámogatással az FFmpeg számtalan alkalmazást hajt, a videószerkesztő szoftverektől a streaming szerverekig és médialejátszókig.
Az FFmpeg széles körben elterjedt az iparágakban rugalmassága, teljesítménye és aktív közösségi támogatása miatt. Kezeli a egyszerű formátumkonverziótól a komplex videószűrésig és valós idejű streamelésig minden feladatot. Akár médiakiszolgálót, asztali lejátszót vagy felhőalapú transzkódoló csővezetéket építesz, az FFmpeg megbízható, magas minőségű feldolgozási képességeket nyújt. Parancssori eszközei, mint az ffmpeg, ffplay és ffprobe, megkönnyítik az integrációt szkriptekbe és automatizálási munkafolyamatokba, míg C API-ja és kötései (például Pythonhoz) mély programozási irányítást tesznek lehetővé.
Az FFmpeg használatának megkezdése
Az FFmpeg használatának megkezdéséhez telepítsd a rendszered csomagkezelőjével (például Ubuntu-n `apt install ffmpeg`, macOS-en `brew install ffmpeg`), vagy töltsd le az előre lefordított binárisokat a hivatalos oldalról. Programozási használathoz telepítsd a Python csomagot a `pip install ffmpeg-python` paranccsal, vagy használd a hivatalos C könyvtár fejléceket. Az FFmpeg a GitHub-on is elérhető a [FFmpeg GitHub](https://github.com/FFmpeg/FFmpeg) címen, ahol saját konfigurációkhoz forráskódból építheted. Könnyű súlya és a platformok közötti támogatása ideálissá teszi asztali, szerver és beágyazott környezetekhez.
FFmpeg telepítése csomagkezelőkön keresztül
# Ubuntu/Debian
sudo apt update && sudo apt install ffmpeg
# macOS (Homebrew)
brew install ffmpeg
# Python wrapper
pip install ffmpeg-python
Média átalakítása formátumok között
Az FFmpeg kiváló a médiafájlok több száz formátum és kodek közötti átalakításában. Átkódolhat videót MP4-ről WebM-re, kinyerhet hangot videofájlokból, vagy megváltoztathatja a konténerformátumokat újrakódolás nélkül (stream copy). Az intelligens alapértelmezett beállítások magas minőséget biztosítanak, míg a fejlett opciók lehetővé teszik a bitráta, felbontás, képkockasebesség és a kodek paramétereinek finomhangolását. Akár webes streaminghez, archiváláshoz vagy specifikus eszközökön való lejátszáshoz készít tartalmat, az FFmpeg pontos vezérlést nyújt a kimeneti minőség és kompatibilitás felett. A parancssori felület összetett szűrőláncokat támogat a méretezéshez, vágáshoz és effektusok alkalmazásához az átalakítás során.
Hogyan konvertáljunk MP4-et WebM-re az FFmpeg segítségével?
ffmpeg -i input.mp4 -c:v libvpx-vp9 -crf 30 -b:v 0 -c:a libopus output.webm
Valós idejű streaming és élő közvetítés
Az FFmpeg támogatja a bejövő élő média befogadását, átkódolását és streamingjét olyan protokollokon, mint az RTMP, HLS és SRT. Képes webkamerákról, mikrofonokról vagy hálózati forrásokból rögzíteni, és streameket küldeni olyan platformokra, mint a YouTube, a Twitch vagy egyedi RTMP szerverek. Alacsony késleltetésű opciókkal és adaptív bitrátás streaminggel az FFmpeg élő közvetítési csővezetékeket biztosít eseményekhez, játékokhoz és megfigyeléshez. Képessége több bemenet kezelésére, grafikai átfedések hozzáadására és valós idejű szűrők alkalmazására ideálissá teszi professzionális szintű streaming beállításokhoz. A kimenetet továbbá szegmensre bonthatja DASH/HLS számára, hogy adaptív lejátszást biztosítson mobil és web klienseken.
Hogyan streameljünk egy videofájlt a YouTube Live-ra?
ffmpeg -re -i input.mp4 -c:v libx264 -preset veryfast -maxrate 3000k -bufsize 6000k -g 50 -c:a aac -b:a 160k -f flv "rtmp://a.rtmp.youtube.com/live2/your_stream_key"
Videó szűrés és utófeldolgozás
Az FFmpeg libavfilter keretrendszere lehetővé teszi a hatékony valós idejű videószűrést egy irányított aciklikus szűrőgrafikonon keresztül. Lehet vágni, átméretezni, forgatni, deinterlace‑olni, zajt csökkenteni, vízjeleket átfedni, szöveget hozzáadni, színeket állítani, és összetett hatásokat alkalmazni, mint a lassú mozgás vagy a gyorsított felvétel – mindezt anélkül, hogy az egész adatfolyamot újrakódolná. A szűrők láncolhatók több lépcsős feldolgozáshoz, és a hardveres gyorsítás (pl. NVENC, VAAPI, VideoToolbox) biztosítja a teljesítményt a modern GPU‑kon. Ez teszi a FFmpeg‑et nélkülözhetetlenné videószerkesztők, tartalomkészítők és fejlesztők számára, akik médiafeldolgozó csővezetékeket építenek, és vizuális fejlesztéseket vagy formátum normalizálást igényelnek.
Hogyan vágjunk, méretezzünk és vízjelet adjunk egy videóhoz?
ffmpeg -i input.mp4 -i watermark.png -filter_complex "[0:v]crop=1280:720:0:0[scaled];[scaled][1:v]overlay=10:10" -c:a copy output.mp4
Metaadatok és feliratok kinyerése és módosítása
Az FFmpeg teljes irányítást biztosít a médiafájlokba beágyazott metaadatok (címkék) és feliratok felett. Egyszerű parancsokkal kinyerhet, szerkeszthet vagy eltávolíthat metaadatokat (például cím, előadó, album, GPS adatok), illetve átkonvertálhatja a feliratokat SRT, ASS és VTT formátumok között. Támogatja a feliratok videóra égetését vagy külön sávként való beágyazását. Az akadálymentességi és lokalizációs munkafolyamatokhoz az FFmpeg kötegelt feliratfájl-feldolgozást, időzítési módosításokat és nyelvi sávkezelést tesz lehetővé. Ez ideálissá teszi a feliratlokalizációt, a médiaeszközök kezelését, valamint a beágyazott metaadatokat megkövetelő sugárzási szabványoknak való megfelelést.
Hogyan nyerjünk ki feliratokat egy videofájlból?
ffmpeg -i input.mkv -map 0:s:0 -c:s srt output.srt
