Automatizujte konverze a multimediální pracovní postupy pomocí FFmpeg

  • FFmpeg umožňuje nahrávat, převádět a upravovat zvuk a video z konzole a bezproblémově se integruje do Bash skriptů a automatizovaných pracovních postupů.
  • Pomocí kombinací filtrů, kodeků a parametrů, jako například -ss, -t, -vf nebo -af, můžete automatizovat ořezávání, škálování, mixování a kompletní editaci.
  • Používání konfiguračních souborů (např. YAML) a skriptů shellu usnadňuje standardizaci intra, outro, přechodů a kvality napříč videosériemi.
  • FFmpeg lze také použít jako knihovnu (libav) pro jeho integraci do vlastních aplikací a vytváření pokročilých multimediálních řešení.

Automatizujte konverze a multimediální pracovní postupy pomocí FFmpeg

Práce s videem a zvukem ve velkém měřítku může být skutečnou otravou, pokud se vše dělá ručně: opakující se úkoly, konfigurace, které se mění projekt od projektu, a chyby, které je těžké odhalit. S FFmpeg a několika promyšlenými skripty je možné na velkou část mechanické práce zapomenout a nechat stroj, aby se postaral o konverze, editaci a úpravy kvality.

Základní myšlenka je jednoduchá: zkombinovat sílu FFmpeg se skripty Bash a konfiguračními soubory (například YAML) k automatizaci všeho od základních konverzí až po složité pracovní postupy střihu videa, screencasty a dávkové překódování. V tomto článku se dozvíte, jak přejít od jednoduchých konverzí k kompletním editacím s intry, outro, přechody a metadaty, vše spravované z terminálu.

Co je FFmpeg a proč je tak užitečný pro automatizaci?

FFmpeg je sada bezplatných a open-source softwarových nástrojů a knihoven pro zpracování videa, zvuku a dokonce i obrázků z příkazového řádku. Umožňuje nahrávat, převádět, překódovat, streamovat, aplikovat filtry, extrahovat stopy a mnoho dalšího bez grafického rozhraní.

Název FFmpeg pochází z názvu Fast Forward Moving Picture Experts Group (Fast Forward Moving Picture Experts Group) , což odkazuje na skupinu, která definovala standardy MPEG. Postupem času se FFmpeg stal multimediálním enginem pro řadu desktopových aplikací, streamovacích platforem a online služeb, i když ho často přímo nevidíte.

FFmpeg
Související článek:
Jak nainstalovat FFmpeg na Windows 10 pomocí těchto kroků

Projekt začal v roce 2000 pod vedením Fabrice Bellarda a od té doby velmi aktivní komunita přidává kodeky, filtry, formáty a vylepšuje výkon . Dnes je klíčovou součástí jakéhokoli seriózního multimediálního pracovního postupu, zejména pokud jde o automatizaci.

Platformy FFmpeg a instalace

Hlavní výhodou je, že FFmpeg je kompletně multiplatformní : běží na Linuxu, Windows, macOS a dalších unixových systémech. Obvykle se instaluje ze správce balíčků nebo z předkompilovaných binárních souborů.

  • Linux (Debian, Ubuntu, Mint a deriváty):
    sudo apt update
    sudo apt upgrade
    sudo apt install ffmpeg
  • Fedora, CentOS, Red Hat:
    sudo yum install ffmpeg ffmpeg-devel
  • macOS s domácím pivem:
    brew install ffmpeg
  • WindowsStáhnout z ffmpeg.org nebo použijte Chocolatey:
    choco install ffmpeg
    Je důležité, přidat FFmpeg do PATH abyste mohli použít příkaz ffmpeg z libovolné složky.

Pokud chcete zkontrolovat, zda je vše v pořádku, můžete spustit příkaz ffmpeg -hide_banner a zobrazit tak verzi, kodeky a kompilované formáty, aniž byste byli zahlceni informacemi v záhlaví, které se zobrazují ve výchozím nastavení.

Základní syntaxe a komponenty FFmpeg

Hlavním nástrojem v sadě je příkaz ffmpegkterý se vždy spouští z terminálu. obecná syntaxe Je flexibilní, ale lze ho shrnout následovně: ffmpeg -i entrada salida, kde můžete mít ve stejném příkazu více vstupů a více výstupů.

V podstatě se FFmpeg spoléhá na skupinu knihoven, často označovaných jako FFmpeg libavZpracovávají kontejnery, streamy, kodeky, filtry, škálování atd. Když použijete příkaz ffmpeg Nemusíte se starat o tuto architekturu, ale pokud programujete proti API, budete chtít porozumět komponentám jako AVFormatContext, AVStream, AVPacket, AVCodec a AVFramekteré jsou základními stavebními kameny dekódování a kódování.

V každodenní praxi budete většinou používat hlavní binární volby konzole, které se velmi dobře hodí do Bash skriptů pro automatizaci hromadných multimediálních konverzí.

Základní pojmy: vstupy, výstupy a klíčové parametry

Abyste mohli začít s automatizací, musíte zvládnout čtyři skupiny parametrů: vstupy a výstupy, formáty, přenosové rychlosti a filtry . Jakmile jim porozumíte, prakticky jakýkoli úkol se stane kombinací těchto prvků.

Vstupy a výstupy s -i

Téměř všechny příkazy používají alespoň jeden vstup (-i) a jeden výstupZáznam definujete pomocí -i fichero.ext A výstup je obvykle poslední argument, i když můžete mít několik výstupů s různým nastavením.

Například jednoduchá konverze videa by mohla vypadat takto: ffmpeg -i video.avi salida.mp4, což umožňuje FFmpeg vybrat vhodné kodeky pro MP4 podle jeho výchozího nastavení.

Formáty, kodeky a bitrate

FFmpeg podporuje obrovské množství formátů kontejnerů (MP4, MKV, AVI, WebM, FLV atd.) a video a audio kodeků (H.264, H.265, VP9, ​​​​AAC, MP3, Opus atd.). Můžete prozkoumat, co vaše sestavení podporuje:

  • ffmpeg -formats vypsat vstupní a výstupní formáty.
  • ffmpeg -codecs zobrazit všechny dostupné kodeky.
  • ffmpeg -decoders y ffmpeg -encoders vědět, co lze dekódovat nebo kódovat.

Při automatizaci je běžné explicitně nastavit kvalitu pomocí datový tok videa (-b:v) a datový tok zvuku (-b:a). Například:
ffmpeg -i video.avi -b:v 2500k -b:a 192k video_final.mp4
Tímto způsobem zajistíte, že vygenerovaný soubor bude mít datový tok videa 2500 kb/s a datový tok zvuku 192 kb/s, což usnadní získání... konzistentní výstupy v automatizovaných proudech.

Video (-vf) a audio (-af) filtry

Ekosystém filtrů FFmpeg je obrovský. Můžete řetězit operace s... -vf (video filtr) y -af (zvukový filtr) nebo to všechno zkombinovat s -filter_complex Když se věci zkomplikují. Mezi nejčastěji používané filtry pro automatizaci patří:

  • stupnice pro změnu velikosti videí.
  • plodina vyříznout oblasti.
  • transponovat a další pro otáčení nebo převrácení.
  • vlny show nebo podobné pro generování zvukových vizualizací.
  • rozmazání krabice a filtry rozmazání pro pixelizaci oblastí.
  • obložit překrýt obrázky nebo videa (loga, vodoznaky, kompozice).

V oblasti zvuku vám filtry jako hlasitost, odstranění ticha nebo prolínání umožňují automatizovat normalizaci, odstranění ticha nebo plynulé přechody mezi klipy bez nutnosti používat grafický editor.

Automatická konverze a transkódování formátů

Automatizujte konverze a multimediální pracovní postupy pomocí FFmpeg

Velmi častým případem použití je spuštění skriptu, který hromadně převádí soubory z jednoho formátu do druhého , s jemným doladěním kodeku nebo bez něj. FFmpeg umožňuje jednoduché převody bez zadávání kodeků nebo konkrétních převodů nastavením parametrů kodéru, datového toku nebo kvality.

Konverze bez zadání kodeků

Tyto typy příkazů se spoléhají na FFmpeg pro výběr vhodného kodeku pro cílový formát. Jsou ideální jako první krok automatizace:

  • Z MP4 do WebM:
    ffmpeg -i video.mp4 video.webm
  • Z FLV do AVI:
    ffmpeg -i video.flv video.avi
  • Z MP3 do OGG:
    ffmpeg -i audio.mp3 audio.ogg

Když toto integrujete do Bash skriptu, který iteruje všemi soubory ve složce, dosáhnete hromadných konverzí bez lidského zásahu.

Kodeky a parametry pro řízení konverze

Pokud potřebujete větší kontrolu, můžete specifikovat kodeky a upravit bitrate, rozlišení, fps nebo profily. Například převést WMV do FLV s úpravou zvuku a videa:

ffmpeg -i video.wmv -ab 56 -ar 22050 -s 320x240 video.flv

Zde nastavíte zvukovou frekvenci (-ar 22050) , audio bitrate (-ab 56) a rozlišení (-s 320x240) . Tento typ příkazu se velmi dobře hodí pro automatizaci; stačí jen několik proměnných parametrů ovládaných vaším skriptem.

Automatizujte konverze pomocí interaktivního skriptu Bash

Typickým příkladem automatizace v Linuxu je Bash skript , který bere soubor jako argument, zobrazuje menu a provádí příslušnou konverzi pomocí FFmpeg. Funkční kostra by mohla dělat věci jako:

  • Ověřte, zda je předáván vstupní soubor a zda tento soubor existuje.
  • Požádejte uživatele o výběr výstupního formátu: webm, mp4, mkv, avi nebo pouze mp3 audio.
  • Vytvořte výstupní název ze základního názvu původního souboru.
  • Volání FFmpeg odlišně v závislosti na tom, zda je extrahovat pouze zvuk (například s -q:a 0 -map a) nebo převést celé video.
  • Zobrazujte jasné zprávy o úspěchu nebo neúspěchu.

Pokud skript uložíte do /usr/local/binRozšíření odstraníte a udělíte mu oprávnění ke spuštění pomocí chmod a+rxMůžete jej spustit z jakékoli trasy jednoduchým convertersheep file.webm nebo název, který jste si vybrali. Takto převedete libovolný soubor s několika klíčianiž byste si museli pokaždé pamatovat syntaxi FFmpeg.

Automatizujte editaci videa pomocí souborů YAML

Když se posunete od jednoduché konverze a ponoříte se do opakované úpravy stejného typu obsahu (například kurzů, rozhovorů nebo institucionálních videí), vyplatí se vytvářet skripty, které čtou konfigurace YAML a generují kompletní úpravy pomocí FFmpeg.

Titulky VLC
Související článek:
Jak dávkově převádět video a audio pomocí VLC Media Player

Obecný generátor videa z obrázků a klipů

Velmi účinná strategie spočívá v definování config.yml Seznam položek (obrázků nebo videí) s uvedením jejich pořadí, trvání, možných ořezů, nastavení hlasitosti a dalších parametrů. Skript tyto položky prochází, zpracovává je jednu po druhé v dočasném adresáři a poté… zřetězit vše do jednoho, dokonale synchronizovaného finálního souboru.

Typické případy použití pro tento typ skriptu jsou:

  • Sestavte video z několika slajdů a krátkých klipů, jako by to byly průhledné fólie prokládané krátkými video bloky.
  • Vytvořte informační kapsle s více sekcemi aniž byste museli pokaždé otevírat editor videa.
  • Používejte konzistentní vizuální styl (rozlišení, fps, kódování) bez nutnosti ručního zásahu do každého jednotlivého projektu.

Mezi technické výhody tohoto přístupu patří:

  • Globální kontrola rozlišení, snímková frekvence a výstupní kodek, parametrizovaný v samotném YAML.
  • možnost Ořízněte začátek a konec každého klipu bez dalšího úsilí.
  • Úprava individuální objem na segment aby se zabránilo náhlým změnám zvuku.

Tento typ automatizovaného skriptu se velmi dobře integruje s nástroji, jako je například yq pro čtení YAML z Bashu a s přehledným stromem složek (například automatizacion/video-generator/), který obsahuje jak skripty, tak i zdroje a šablony.

Jednoduchý scénář: pevná obálka + hlavní video

V mnoha vzdělávacích nebo institucionálních kontextech potřebujete něco velmi běžného: aby video začínalo statickou titulní obrazovkou po dobu několika sekund (s názvem, autorstvím, logy atd.) a poté odkazovalo na hlavní video. K tomu stačí mnohem jednodušší skript než:

  • Převeďte obrázek na videoklip, například o délce pěti sekund.
  • Spojte tento klip s hlavním videem bez nutnosti opětovné komprese, s využitím formátů jako například mpegty aby bylo zajištěno čisté zřetězení.
  • Vygenerujte finální soubor připravený k publikování nebo integraci do jiné automatizace.

Klíčovou výhodou je, že Vyhnete se zbytečnému překódováníDíky tomu je proces velmi rychlý a neztrácíte kvalitu. Uspořádejte tyto typy skriptů do cest takto: automatizacion/videos-asignaturas-abierto/ Pomáhá to udržovat všechny tematické toky oddělené, ale opakovaně použitelné.

Komplexní sestavení série rozhovorů nebo programů

Když vytváříte sérii videí s pevnou strukturou , například sbírku rozhovorů nebo opakujících se epizod, můžete vytvořit propracovanější scénář, který automatizuje celý pracovní postup. Představte si střih, který vždy kombinuje:

  1. Institucionální úvod s logy a hudbou.
  2. Statický obrázek s názvem schůze a relevantními informacemi.
  3. Hlavní surové video, v případě potřeby oříznuté na začátku a na konci.
  4. Uzavření instituce s uvedením kreditů nebo výzvami k akci.

V tomto typu střihu se běžně používají filtry jako xfade (pro plynulé přechody videa) a acrossfade (pro prolínání zvuku), aby výsledek měl profesionální vzhled, aniž by bylo nutné cokoli opakovaně ručně upravovat.

To vše je řízeno z config.yml kde jsou definovány trasy ke každému segmentu, časy přechodů, řezy, objemy a globální parametry, jako například standardní rozlišení (např. 720p) nebo vzorkovací frekvence zvuku (44.1 kHz)Výsledkem je stabilní pracovní postup, který generuje videa konzistentní kvality a estetiky epizodu za epizodou.

Automatizace screencastů pomocí FFmpeg

Další velmi výkonnou aplikací FFmpeg je automatizované nahrávání obrazovky (screencast) se synchronizovaným zvukem, což je klíčové pro video tutoriály nebo technické demonstrace. V GNU/Linuxu můžete použít snímky obrazovky s x11grab a získejte souřadnice okna, které chcete zaznamenat, pomocí nástrojů, jako je xwininfo.

Typický pracovní postup zahrnuje :

  • Scénář pro zahájit nahráváníkonfigurace oblasti obrazovky (například 800×600 od levého horního rohu), snímkové frekvence (dobrá reference je 25 fps) a zdroje zvuku.
  • Zvukové parametry, které se přizpůsobí tomu, zda používáte ALSA, OSS nebo PulseAudio (něco takového obvykle funguje dobře v PulseAudio) -f alsa -ac 1 -i pulse).
  • Výběr kodeku: například -acodec libmp3lame pro audio MP3 a -vcodec libx264 -preset ultrafast -crf 0 -threads 0 pro video H.264 bez viditelné ztráty, s optimálním využitím vláken CPU.
  • Doprovodný skript pro zastavit nahrávání A pokud chcete, integrujte oznámení na ploše s notify-send.

S touto kombinací můžete vytvářet screencasty s rozumnou velikostí, dobrou kvalitou a dobře synchronizovaným zvukem a vždy opakovat stejnou konfiguraci, aniž byste si museli pamatovat přesný recept parametrů.

Dávkové zpracování: zvuk, video a obrázky

Mnoho z předchozích příkladů se osvědčilo při současném použití na více souborů. Jednoduchá smyčka for v Bashi v kombinaci s FFmpeg promění zdlouhavé úkoly v procesy s jedním příkazem.

Hromadná konverze zvuku

Představte si, že chcete převést všechny MP3 soubory ve složce do 16bitového mono WAV s frekvencí 22050 Hz . Můžete spustit:

for i in *.mp3; do
ffmpeg -i "$i" -acodec pcm_s16le -ac 1 -ar 22050 "${i%.mp3}-encoded.wav";
done

Stejnou myšlenku lze upravit k vytvoření generických skriptů, které ořezávají fragmenty , mění vzorkovací frekvenci, normalizují hlasitost nebo generují varianty přizpůsobené různým zařízením.

Segmentace a řezání fragmentů

Chcete-li rozdělit zvukový soubor na bloky s pevnou délkou, můžete použít segmentační muxer :

ffmpeg -i input.mp3 -f segment -segment_time 3 -c copy out%03d.mp3

Pokud chcete pouze konkrétní fragment, například 30 sekund počínaje 60. sekundou , máte několik možností:

  • Během několika sekund:
    ffmpeg -i input.mp3 -ss 60 -t 30 output.wav
  • Ve formátu HH:MM:SS:
    ffmpeg -i input.mp3 -ss 0:01:00 -t 0:00:30 output.wav

Logika je analogická pro video, což vám umožňuje nastavit začátek (-ss), trvání (-t) a konec (-to) , s překódováním nebo bez něj podle vašich potřeb.

Extrakce a kombinace zvuku a videa

V automatizovaných pracovních postupech je běžné oddělovat zvuk a video, manipulovat s nimi odděleně a poté je znovu kombinovat . S FFmpeg se to provádí ve dvou řádcích:

  • Extrahujte pouze zvukovou stopu bez jejího dotčení:
    ffmpeg -i video.mp4 -vn -acodec copy salida.aac
  • Odebrání zvuku z videa:
    ffmpeg -i entrada.mp4 -codec copy -an salida_sin_audio.mp4
  • Nahraďte zvukovou stopu jinou a zároveň zachovávejte původní video:
    ffmpeg -i video.mp4 -i nuevo_audio.wav -shortest -c:v copy -c:a aac -b:a 256k salida_final.mp4

To je velmi užitečné, například když automatizujete generování dabovaných verzí nebo vytváření různých zvukových mixů pro stejné video.

Obrázky a video: z videa do snímků a naopak

FFmpeg je také vhodný pro automatizaci procesů, které kombinují obrázky a video , jako je extrakce snímků pro analýzu, generování GIFů nebo vytváření videí z obrazových sekvencí.

Extrahovat snímky z videa

Pokud převedete video přímo do obrázků, získáte jeden obrázek na snímek, což může být příliš mnoho. Běžným způsobem je omezit snímkovou frekvenci pomocí parametru `-vf fps`.

ffmpeg -i video.mp4 -vf fps=1 imagen_%03d.png

Tento příkaz generuje jeden snímek videa za sekundu, očíslovaný postupně. Ty pak můžete zpracovat jinými nástroji nebo je znovu sestavit.

Vytvořte video ze série obrázků

Opačný postup je stejně jednoduchý. Představte si, že máte kolekci obrázků img001.png, img002.png, img003.png, … a chcete vytvořit video s 25 fps:

ffmpeg -framerate 1 -i img%03d.png -r 25 -pix_fmt yuv420p salida.mp4

Můžete také použít vzory jako -pattern_type glob -i "*.jpeg" bod vytvářet videa ze všech obrázků jednoho typu ve složce, což je velmi praktické v automatizacích, které využívají výstupy z jiných nástrojů.

Video do animovaného GIFu s externími nástroji nebo bez nich

Převod videa do GIFu obvykle vyžaduje malý pipeline pro zachování rozumné kvality a velikosti . Běžný recept by byl:

  1. Změna velikosti videa k něčemu zvládnutelnému:
    ffmpeg -i input.mp4 -vf scale=640x360 -c:v h264 -crf 18 -c:a aac output_1.mp4
  2. Generování rámců PNG:
    ffmpeg -i output_1.mp4 frame%04d.png
  3. Vytvořte GIF, dobrý s FFmpegem:
    ffmpeg -i output_1.mp4 salida.gif
    nebo s pomocí specializovaných nástrojů, jako např. gifski pro vynikající kvalitu:
    gifski -o salida.gif frame*.png

Automatizací těchto kroků pomocí skriptu můžete generovat GIFy z konkrétních videoklipů, připravené pro sociální média nebo technickou dokumentaci, bez nutnosti ruční práce.

Automatické úpravy: ořezávání, změna měřítka, rotace a další efekty

Kromě převodu formátů umožňuje FFmpeg automatizovat základní i méně základní editační operace , které dříve vyžadovaly použití grafického editoru.

Co je NVIDIA Broadcast?
Související článek:
Jak vylepšit zvuk a video v reálném čase pomocí NVIDIA Broadcast

Změňte rozlišení a vyhněte se nežádoucímu škálování

Pro úpravu výstupního rozlišení můžete použít přímo -s nebo filtr měřítka . Několik příkladů:

  • Vynucené rozlišení 1280×720:
    ffmpeg -i input.mov -s 1280x720 salida.mp4
  • Zmenšete aktuální velikost na polovinu:
    ffmpeg -i input.mp4 -vf "scale=iw/2:ih/2" salida.mp4
  • Automaticky nastavit šířku a zachovat poměr stran:
    ffmpeg -i input.mp4 -vf "scale=320:-2" salida.mp4

Můžete také použít výrazy, které zabraňují upscalingu , například nezmění velikost původního videa, pokud je již menší než určitá velikost, to vše integrované do skriptů, které zpracovávají celé kolekce videí.

Oříznutí videa

Filtr plodina následuj vzor crop=ancho:alto:x:yUžitečné příklady:

  • Oříznutí čtverce 200x200 počínaje bodem (300,100):
    ffmpeg -i video.mp4 -vf "crop=200:200:300:100" salida.mp4
  • Odeberte X pixelů shora a zdola:
    ffmpeg -i video.mp4 -vf "crop=in_w:in_h-2*X" salida.mp4
  • Práce se zlomky rozlišení (např. pravý dolní roh):
    ffmpeg -i video.mp4 -vf "crop=in_w/2:in_h/2:in_w/2:in_h/2" salida.mp4

Tyto recepty jsou ideální pro skripty, které například generují specifické verze pro sociální sítě , odstraňují černé pruhy nebo připravují obsah pro specifická zařízení.

Otáčení a převrácení videí

Chcete-li video otočit, můžete kombinovat transpoziční filtr :

  • Otočit o 90° ve směru hodinových ručiček:
    ffmpeg -i video.mp4 -vf "transpose=1" salida.mp4
  • Otočit o 90° proti směru hodinových ručiček:
    ffmpeg -i video.mp4 -vf "transpose=2" salida.mp4
  • Otočení o 180º kombinací dvou transpozic:
    ffmpeg -i video.mp4 -vf "transpose=2,transpose=2" salida_180.mp4

Můžete také použít efekty jako zrcadlení a převrácení pro horizontální nebo vertikální zrcadlení a kombinovat je, pokud chcete video zcela obrátit.

Překryvná loga, vodoznaky a video vrstvy

Překryvný filtr je základem automatizovaných rozvržení s logy, televizními světly nebo propracovanějšími kompozicemi. Některé užitečné vzory :

  • Opraveno logo v levém horním rohu, 10 pixelů od okraje:
    ffmpeg -i video.mp4 -i logo.png -filter_complex "overlay=10:10" salida.mp4
  • Logo v pravém dolním rohu s následujícími rozměry:
    ffmpeg -i video.mp4 -i logo.png -filter_complex "overlay=x=(main_w-overlay_w):y=(main_h-overlay_h)" salida.mp4
  • Časová superpozice druhého videa pouze mezi 5. a 10. sekundou:
    použití -filter_complex s overlay, časové výrazy a v případě potřeby filtry před oříznutím nebo rozmazání.

Pokud je vaše logo ve formátu PNG s průhledností, získáte diskrétní vodoznaky integrované do jakéhokoli konverzního nebo publikačního procesu.

Automatizujte manipulaci se zvukem

FFmpeg také září v automatizaci zvukových úloh a úpravách zvuku : změna formátu, normalizace, ořezávání, mixování kanálů nebo generování vizualizací.

Konverze a parametry zvuku

Příklady, které můžete ve svých skriptech proměnit ve funkce:

  • WAV do MP3 mono při 64 kb/s a 22050 Hz:
    ffmpeg -i input.wav -ac 1 -ab 64000 -ar 22050 output.mp3
  • Z MP3 do WAV 16 kHz mono 16 bit:
    ffmpeg -i input.mp3 -acodec pcm_s16le -ac 1 -ar 16000 out.wav
  • Rychlé nastavení hlasitosti:
    ffmpeg -i input.mp3 -vol 200 output.mp3 (zdvojnásobení objemu oproti originálu).

V kombinaci se smyčkami složek nebo čtením seznamu souborů je snadné nastavit procesy pro přípravu zvukových katalogů pro konkrétní přehrávače, telefonní systémy, hardwarové přehrávače atd.

Generování zvukových vln ve videu

Pokud chcete video, které ukazuje průběh zvukového souboru , například k nahrání na video platformy, můžete použít:

ffmpeg -i input.aac -filter_complex "showwaves=mode=cline:s=1920x1080:colors=white" -map "" -map 0:a -c:a copy -pix_fmt yuv420p output.mp4

Tento příkaz vytvoří video v rozlišení Full HD s bílým průběhem na černém pozadí a zároveň zachová původní zvuk. Ve skriptu můžete upravit barvy, velikost nebo režimy zobrazení a automaticky generovat „hezká“ zvuková videa .

Použití FFmpeg jako knihovny (libav) pro vývojáře

Ačkoli většina příkladů závisí na příkazovém řádku, FFmpeg lze také použít jako sadu knihoven ve vašich vlastních aplikacích . Klasické tutoriály ukazují, jak napsat například video přehrávač v méně než tisíci řádcích jazyka C, i když původní kód je nyní poněkud zastaralý.

Obecná myšlenka je vždy stejná: otevřít soubor pomocí AVFormatContext, vyhledat audio a video streamy, přečíst pakety (AVPacket), dekódovat je pomocí AVCodec a získat dekomprimované snímky (AVFrame) . Odtud je můžete zpracovávat, analyzovat nebo zobrazovat dle libosti.

FFmpeg je švýcarský nůž multimediálního světa, který v kombinaci s Bash skripty, YAML soubory a trochou fantazie umožňuje automatizovat konverze, editaci a produkci videa a zvuku , které dříve vyžadovaly hodiny manuální práce v grafickém editoru . S trochou cviku můžete všechny tyto příkazy a vzory proměnit ve vlastní nástroje přizpůsobené vašemu pracovnímu postupu, což ušetří čas, zajistí konzistenci a získá přesnou kontrolu nad kvalitou, formáty a konečnými výsledky. Sdílejte tyto informace, aby se o nich dozvědělo více uživatelů.


Přidat jako preferovaný zdroj v Googlu