-vf fps (Modificare framerate) în FFmpeg

Forțează un număr constant de cadre pe secundă sau extrage cadre la intervale regulate.

Sintaxă
ffmpeg -i intrare.mp4 -vf "fps=30" iesire_30fps.mp4
ffmpeg -i intrare.mp4 -vf "fps=1" cadre_%04d.png

Ce face -vf fps (Modificare framerate)

Filtrul fps transformă rata de cadre a videoclipului, duplicând cadre dacă noul framerate este mai mare sau eliminând cadre uniforme dacă noul framerate este mai mic.

Spre deosebire de simplul parametru de container -r, filtrul fps garantează menținerea sincronizării audio-video perfecte prin inserarea sau eliminarea de cadre la momentele temporale matematice exacte.

Este extrem de folosit pentru a extrage exact 1 cadru pe secundă (fps=1) sau 1 cadru la fiecare minut (fps=1/60) din fișiere de monitorizare.

Opțiuni și argumente

Opțiune / Parametru Descriere
fps=<valoare> Numărul de cadre pe secundă (ex: 24, 30, 60 sau fracții precum 1/5).

Ce returnează

Re-sincronizarea fluxului video la un nou framerate constant (CFR).

Exemple

Exemplul 1: Extragerea unei imagini PNG la fiecare 5 secunde din film

Folosește o fracție pentru a captura la intervale mari.

ffmpeg -i film.mp4 -vf "fps=1/5" -q:v 2 cadre_%03d.png

Ieșire în terminal

Output #0, image2, to 'cadre_%03d.png':
frame=   12 fps= 0.0 q=2.0 Lsize=N/A time=00:01:00.00

Greșeli frecvente

  • Folosirea lui ‘-r’ în loc de ‘-vf fps’ pe clipuri cu framerate variabil (VFR), ducând la desincronizări progresive grave între sunet și imagine pe parcursul clipului.
  • Conversia dintr-un framerate mic (24 fps) într-unul mare (60 fps) cu așteptarea de a obține mișcare fluidă (FFmpeg va duplica doar cadrele existente).

Comenzi înrudite