Téměř každý, kdo se zabývá videi, už možná slyšel o FFmpeg. Pro ty, kteří nejsou obeznámeni, FFmpeg je bezplatný a open-source program, který dokáže převést jakýkoli formát videa na jiný a upravit jeho kodeky.
FFmpeg podporuje téměř všechny audio/video kodeky (H.264, H.265, VP8, VP9, AAC, OPUS a další), soubor formáty (MP4, FLV, MKV, TS, WEBM, MP3 atd.), a dokonce i streamovací protokoly (HTTP, RTMP, RTSP, HLS, atd.).
Zde je návod, jak můžete nainstalovat a používat FFmpeg ke zpracování zvukových a video souborů v systému Linux.
Instalace FFmpeg na Linux
FFmpeg je bezplatný a open-source nástroj dostupný ve výchozích úložištích téměř každé hlavní distribuce Linuxu. Můžete také získat jeho zdrojový kód zdarma, pokud si jej chcete zkompilovat sami.
# Debian
sudo apt Nainstalujte ffmpeg# Fedora
sudo dnf Nainstalujte https://download1.rpmfusion.org/free/fedora/rpmfusion-free-uvolnění-$(rpm -E %fedora).noarch.rpm
sudo dnf -y Nainstalujte ffmpeg# RHEL/CentOS
Mňam Nainstalujte ffmpeg ffmpeg-devel
# Arch Linux
pacman -S ffmpeg
Pokud během instalace vše proběhne v pořádku, měli byste při použití vidět verzi FFmpeg -verze argument.
ffmpeg -verze
Získávání informací o videu pomocí FFmpeg
Je možné zobrazit informace o videu, které chcete upravit pomocí FFmpeg pomocí -i vlajka:
ffmpeg-iukázkové video.mp4-skrýt_banner
Tady, -skrýt_banner úkolem parametru je skrýt nepotřebné informace. Tento parametr můžete odstranit a vidět rozdíl ve výstupu.
Jak vidíte, je možné získat spoustu informací jako je typ video kodeku, datum vytvoření, metadata a struktura kodéru ukázkového videa.
Převod video nebo audio souborů do jiného formátu
Jednou z nejužitečnějších funkcí FFmpeg je, že dokáže převést video nebo zvuk do jiného formátu. Můžete to udělat pomocí jednoduchých jednovrstvých vložek.
MOV do MP4 s FFmpeg
Video soubor ve formátu MOV můžete převést na MP4 pomocí FFmpeg pomocí příkazu níže:
ffmpeg-ivstup-mov-video.movvýstupní video.mp4
Nejprve použijte -i parametr, který znamená vstupní video. Poté zadejte soubor, který chcete převést. Nakonec zadejte formát, do kterého jej chcete převést. Svému výstupu můžete dát libovolný název.
Když je FFmpeg spuštěný, na příkazové obrazovce vám ukáže změny, které provedl. Váš výstupní soubor bude uložen ve vašem aktuálním pracovním adresáři.
WAV na MP3 s FFmpeg
Podobně jako u videí můžete provádět stejné převody pro zvukové soubory. Zvukový soubor WAV můžete převést na MP3 například takto:
ffmpeg-ipříklad-wav.wav-vn-ar 48000 -ac 2 -b:A 256 výstup.mp3
Tento příkaz má více parametrů než metoda konverze videa, ale není těžké je pochopit. Abych to vysvětlil:
- -vn: Někdy zvukové soubory, které posloucháte, obsahují obrázky. Tyto obrázky obvykle pocházejí z videí. Pokud takové obrázky ve výstupu nechcete, můžete použít tento parametr.
- -ar: Tento parametr umožňuje nastavit frekvenci zvuku zvukového souboru, který chcete převést. Kvalitu zvuku a frekvenci můžete upravit pomocí hodnot jako 8 kHz, 44,1 kHz nebo 48 kHz.
- -ac: Možná jste již někdy slyšeli termíny mono a stereo. Tento parametr vám může pomoci nastavit počet audio kanálů.
- -b: a: Tento parametr umožňuje nastavit přenosovou rychlost zvuku za sekundu. Čím vyšší kilobit, tím vyšší kvalita zvuku.
Audio operace s FFmpeg
FFmpeg také umí oddělit zvuk od videa. K tomu stačí použít -vn parametr:
ffmpeg-iukázkové video.mp4-vnvýstup.mp3
Pokud se vám podařilo oddělit zvuk od videa, můžete se nyní pokusit zvuk z videí odstranit. Rozdíl zde je -an parametr. Tento parametr byste měli mít na paměti, pokud chcete zakázat jakýkoli zvuk ve videu:
ffmpeg-iukázkové video.mp4-anvýstup-mute.mp4
Zpracování velikosti videa s FFmpeg
Velikosti videí mohou být někdy pěkně otravné, zvláště když je chcete někam nahrát. Už nemusíte stahovat programy, abyste je zkrátili, protože FFmpeg to může udělat za vás. K tomu však potřebujete znát některé parametry:
- -ss: Tento parametr použijte k nastavení času začátku klipu
- -na: Umožňuje určit čas ukončení klipu
- -C: Pomocí tohoto parametru nastavte kodek klipu
- -t: Tento parametr použijte k nastavení doby trvání klipu
Pomocí těchto parametrů můžete odvodit mnoho příkladů. Pokud chcete například oříznout video, můžete použít něco jako:
ffmpeg-iukázkové video.mp4-ss 00:02:25-na 00:03:50-Ckopírovatvýstup-trim.mp4
Je také možné oříznout pouze obrázek uvnitř videa a ne celé video. Za tímto účelem se můžete uchýlit k něčemu jako:
ffmpeg -i example-video.mp4 -filter: v "ořez=š: v:x: y" výstupní plodina.mp4
Zde jsou parametry použité ve výše uvedeném příkazu:
- -filtr: v: Tento parametr určuje proces filtrování, který použijete na video
- oříznutí: Tento parametr určuje, že bude provedena operace oříznutí
- w: h:x: y: Jak jste již možná uhodli, proměnné w, h, x a y označují šířku, výšku a polohu ořezového pole, resp.
Úpravy videí na Linuxu pomocí FFmpeg
Úprava videí nekončí jen ořezáváním a stříháním. Někdy je také potřeba změnit měřítko videa. Následující příkaz změní velikost videa na požadovanou velikost:
ffmpeg -i example-video.mp4 -vf scale=1920:1080 output-scale.mp4
- -VF: Tento parametr funguje stejně jako -filtr: v argument viz výše
- měřítko: Pomocí tohoto parametru můžete určit požadované velikosti měřítka ve výstupu
FFmpeg také umožňuje kombinovat více videí. Představte si, že máte více klipů zakódovaných stejným kodekem. Zadejte seznam videí, která chcete sloučit do a .txt soubor. Poté spusťte následující příkaz:
ffmpeg-Fkonkat-imůj-seznam videí.txt-Ckopírovatsoučet-výstup.mp4
The konkat parametr zde kombinuje vaše soubory. Je také možné otáčet videa pomocí FFmpeg:
ffmpeg -i example-video.mp4 -vf "transponovat=2" výstup-rotovat.mp4
- transponovat=0: Převrátit svisle (výchozí)
- transponovat=1: Otočit o 90 stupňů ve směru hodinových ručiček
- transponovat=2: Otočit o 90 stupňů proti směru hodinových ručiček
- transponovat=3: Převrátit svisle
Chcete-li otočit videa o 180 stupňů ve směru hodinových ručiček, musíte zadat parametr transpozice dvakrát:
ffmpeg -i example-video.mp4 -vf "transponovat=2,transponovat=2" výstup-rotovat.mp4
FPS a GOP operace
Jak víte, FPS znamená snímků za sekundu. GOP (skupina obrázků) je vzdálenost mezi dvěma klíčovými snímky. FFmpeg je také užitečný pro změnu některých parametrů, včetně FPS a GOP. Pokud použijete níže uvedený příkaz, FFmpeg změní původní FPS na vámi nastavenou hodnotu:
ffmpeg -i example-video.mp4 -vf "fps=60" výstup-fps.mp4
Pro GOP můžete použít -G parametr a nastavte jeho hodnotu na cokoliv chcete. Všimněte si, že vynucení příliš mnoha klíčových snímků může být škodlivé pro dopředné algoritmy některých kodérů.
ffmpeg-iukázkové video.mp4-G 200 výstup-gop.mp4
Vytvářejte animované GIFy pomocí FFmpeg
FFmpeg je také ideální pro převod videa na animovaný GIF. K tomu můžete použít jednoduchý příkaz convert:
ffmpeg-iukázkové video.mp4výstup-gif.gif
Někdy však možná budete chtít upravit GIF. K dosažení tohoto cíle můžete použít různé parametry popsané výše:
ffmpeg -ss 00:01:15 -i example-video.mp4 -to 10 -r 10 -vf scale=250:-1 output-gif.gif
The -r parametr zde znamená snímkovou frekvenci. Jak vidíte, v jediném řádku je možné provést mnoho různých přizpůsobení.
Extrahování snímků z videa pomocí FFmpeg
Kromě převodu jednoho nebo více obrázků na video můžete také extrahovat snímky z videa. Následující příkaz extrahuje každou sekundu jeden snímek z vašeho vstupního videa. Tyto extrahované obrázky budou mít také dvoumístná jména jako 01.jpeg, 02.jpeg, atd. Pokud si přejete, můžete také přidat další parametry, které jste se naučili.
ffmpeg-iukázkové video.mp4-r 1 obraz-%02d.jpeg
Pro extrahované obrázky můžete použít i jiné formáty, jako je PNG a BMP.
Proč byste měli používat FFmpeg na Linuxu?
Jak vidíte, FFmpeg je v mnoha ohledech velmi výhodný. K tomu nepotřebujete mít žádné technické znalosti ani profesionální zkušenosti s Linuxem. Pomocí několika parametrů můžete provádět různé funkce zpracování médií. Pokud se chystáte provádět úpravy, které nejsou příliš dlouhé, nepotřebujete drahé počítačové programy a online prémiové členství. Navíc FFmpeg funguje velmi dobře i na low-end zařízeních.
Také funkce FFmpeg nejsou omezeny na výše uvedené. Když si přečtete dokumentaci a uživatelskou příručku, uvidíte, jak výkonný software ve skutečnosti je. Dokonce i pomocí --Pomoc parametr a muž můžete získat podrobnější informace o použití FFmpeg. Existují také další skvělé konvertory pro Linux na konkurenční FFmpeg.