
FFmpeg
Open source multimediální framework pro zpracování
Kódujte, dekódujte, transkódujte, streamujte & převádějte audio & video soubory pomocí FFmpeg API.
Co je FFmpeg?
FFmpeg je přední open source multimediální framework, který umožňuje vývojářům nahrávat, konvertovat a streamovat audio a video obsah. Obsahuje komplexní sadu knihoven — například libavcodec, libavformat, libavutil, libavfilter, libswscale a libswresample — poskytujících robustní nástroje pro zpracování různorodých multimediálních úkolů. S podporou stovek kodeků a formátů pohání FFmpeg nespočet aplikací, od softwaru pro úpravu videa po streamingové servery a mediální přehrávače.
FFmpeg je široce používán napříč odvětvími díky své flexibilitě, výkonu a aktivní podpoře komunity. Zvládá vše od jednoduché konverze formátů po složité video filtrování a streamování v reálném čase. Ať už budujete mediální server, desktopový přehrávač nebo cloudovou transkódovací pipeline, FFmpeg poskytuje spolehlivé a vysoce kvalitní zpracování. Jeho nástroje příkazové řádky, jako ffmpeg, ffplay a ffprobe, usnadňují integraci do skriptů a automatizačních pracovních toků, zatímco jeho C API a vazby (např. pro Python) umožňují hlubokou programovou kontrolu.
Začínáme s FFmpeg
Chcete-li začít používat FFmpeg, nainstalujte jej pomocí správce balíčků vašeho systému (např. `apt install ffmpeg` na Ubuntu, `brew install ffmpeg` na macOS) nebo si stáhněte předkompilované binární soubory z oficiálního webu. Pro programové použití nainstalujte Python wrapper pomocí `pip install ffmpeg-python` nebo použijte oficiální hlavičky knihovny C. FFmpeg je také k dispozici na GitHubu na [FFmpeg GitHub](https://github.com/FFmpeg/FFmpeg), kde můžete sestavit ze zdrojového kódu pro vlastní konfigurace. Jeho malá velikost a podpora napříč platformami ho činí ideálním pro nasazení na desktop, server a vestavěná zařízení.
Instalace FFmpeg pomocí správce balíčků
# Ubuntu/Debian
sudo apt update && sudo apt install ffmpeg
# macOS (Homebrew)
brew install ffmpeg
# Python wrapper
pip install ffmpeg-python
Převod médií mezi formáty
FFmpeg vyniká při převodu mediálních souborů mezi stovkami formátů a kodeků. Můžete převádět video z MP4 na WebM, extrahovat audio z video souborů nebo měnit kontejnerové formáty bez překódování (stream copy). Jeho inteligentní výchozí nastavení zajišťuje vysokou kvalitu, zatímco pokročilé možnosti vám umožňují jemně doladit bitrate, rozlišení, snímkovou frekvenci a parametry kodeku. Ať už připravujete obsah pro webové streamování, archivaci nebo přehrávání na konkrétních zařízeních, FFmpeg poskytuje přesnou kontrolu nad kvalitou výstupu a kompatibilitou. Rozhraní příkazové řádky podporuje složité řetězce filtrů pro změnu velikosti, ořezávání a aplikaci efektů během převodu.
Jak převést MP4 na WebM pomocí FFmpeg?
ffmpeg -i input.mp4 -c:v libvpx-vp9 -crf 30 -b:v 0 -c:a libopus output.webm
Streamování v reálném čase a živé vysílání
FFmpeg podporuje příjem, překódování a streamování živých médií přes protokoly jako RTMP, HLS a SRT. Dokáže zachytávat z webových kamer, mikrofonů nebo síťových zdrojů a odesílat streamy na platformy jako YouTube, Twitch nebo vlastní RTMP servery. S možnostmi nízké latence a adaptivního bitrate streamování FFmpeg pohání pipeline živého vysílání pro události, hry a dohled. Jeho schopnost zpracovávat více vstupů, překrývat grafiku a aplikovat filtry v reálném čase ho činí ideálním pro profesionální streamingové nastavení. Můžete také segmentovat výstup pro DASH/HLS pro adaptivní přehrávání na mobilních a webových klientech.
Jak streamovat video soubor na YouTube Live?
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"
Filtrace videa a postprodukce
Framework libavfilter FFmpeg umožňuje výkonné filtrování videa v reálném čase pomocí orientovaného acyklického grafu filtrů. Můžete oříznout, změnit měřítko, otočit, odkládat prokládání, odstraňovat šum, překrývat vodoznaky, přidávat text, upravovat barvy a aplikovat složité efekty jako zpomalení nebo časosběr — vše bez nutnosti překódování celého proudu. Filtry lze řetězit pro vícefázové zpracování a hardwarová akcelerace (např. NVENC, VAAPI, VideoToolbox) zajišťuje výkon na moderních GPU. To činí FFmpeg nepostradatelným pro video editory, tvůrce obsahu a vývojáře, kteří staví mediální zpracovatelské pipeline vyžadující vizuální vylepšení nebo normalizaci formátu.
Jak oříznout, změnit měřítko a přidat vodoznak do videa?
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
Extrahování a úprava metadat a titulků
FFmpeg poskytuje úplnou kontrolu nad metadaty (štítky) a titulky vloženými v mediálních souborech. Pomocí jednoduchých příkazů můžete extrahovat, upravovat nebo odstraňovat metadata (např. název, umělec, album, GPS data) nebo převádět titulky mezi formáty jako SRT, ASS a VTT. Podporuje vypalování titulků do videa nebo jejich vložení jako samostatné stopy. Pro workflow přístupnosti a lokalizace FFmpeg umožňuje hromadné zpracování souborů s titulky, úpravy časování a správu jazykových stop. To jej činí ideálním pro lokalizaci titulků, správu mediálních aktiv a dodržování vysílacích standardů vyžadujících vložená metadata.
Jak extrahovat titulky z video souboru?
ffmpeg -i input.mkv -map 0:s:0 -c:s srt output.srt
