Secvențe de imagini (Time-lapse) în FFmpeg

Transformă o serie de fotografii numerotate într-un videoclip fluid sau descompune un film în poze.

Sintaxă
ffmpeg -framerate 30 -i cadru_%04d.png -c:v libx264 -pix_fmt yuv420p video.mp4
ffmpeg -i video.mp4 -q:v 2 cadre/export_%04d.jpg

Ce face Secvențe de imagini (Time-lapse)

FFmpeg suportă tipare de denumire stil printf (%04d) pentru a citi sau scrie secvențe continue de mii de fișiere de imagine (PNG, JPEG, TIFF, BMP).

Tiparul cadru_%04d.png va căuta în ordine fișierele: cadru_0001.png, cadru_0002.png etc.

Parametrul -framerate 30 plasat înaintea lui -i specifică viteza cu care fotografiile se succed pe ecran, fiind metoda ideală de asamblare a fotografiilor realizate cu intervalometru pe camere foto (Timelapse).

Opțiuni și argumente

Opțiune / Parametru Descriere
-framerate <fps> Rata de cadre la care sunt citite imaginile de intrare.
%04d Tipar de numerotare cu 4 cifre completate cu zerouri (0001, 0002).

Ce returnează

Asamblarea imaginilor într-un fișier video sau scrierea cadrelor pe disc.

Exemple

Exemplul 1: Crearea unui film Time-lapse 4K din 900 de fotografii JPEG

Asamblează fotografiile la 30 fps într-un clip de 30 de secunde.

ffmpeg -framerate 30 -i DSC_%04d.JPG -c:v libx264 -crf 20 -pix_fmt yuv420p timelapse.mp4

Ieșire în terminal

Input #0, image2, from 'DSC_%04d.JPG':
  Duration: 00:00:30.00, 30 fps
Output #0, mp4, to 'timelapse.mp4':
frame=  900 fps= 40 q=20.0 Lsize=   45100kB time=00:00:30.00

Greșeli frecvente

  • Existența unui număr lipsă în secvență (de exemplu ai cadru_0001 și cadru_0003, dar lipsește 0002), ceea ce determină FFmpeg să creadă că a ajuns la finalul seriei.
  • Omiterea lui ‘-pix_fmt yuv420p’, generând un fișier video RGB incompatibil cu majoritatea playerelor.

Comenzi înrudite