Ce face -vf setpts (Slow-motion și viteză)
Fiecare cadru video conține o etichetă temporală numită PTS (Presentation Time Stamp) care indică playerului momentul exact în care cadrul trebuie afișat.
Filtrul setpts scalează aceste valori matematice:
• setpts=0.5*PTS: cadrele sunt afișate la jumătatea intervalului de timp, dublând viteza de redare (2x Fast-Motion / Timelapse);
• setpts=2.0*PTS: dublează distanța dintre cadre, încetinind viteza la jumătate (0.5x Slow-Motion).
Pentru a păstra sonorul sincronizat la modificarea vitezei, filtrul video setpts se combină obligatoriu cu filtrul audio atempo.
Opțiuni și argumente
| Opțiune / Parametru | Descriere |
|---|---|
setpts=<expresie> |
Formula de multiplicare a PTS (ex: 0.5*PTS, 2.0*PTS). |
Ce returnează
Recalcularea marcajelor temporale ale fiecărui cadru.
Exemple
Exemplul 1: Crearea unui efect Timelapse de viteză 4x cu accelerare audio
Accelerează videoclipul de 4 ori și sincronizează sunetul.
ffmpeg -i mers.mp4 -vf "setpts=0.25*PTS" -af "atempo=2.0,atempo=2.0" timelapse.mp4
Ieșire în terminal
frame= 900 fps= 45 q=22.0 Lsize= 14200kB time=00:00:30.00 bitrate=3876.5kbits/s speed=1.5x
Greșeli frecvente
- Accelerarea imaginii fără adaptarea sunetului, provocând desincronizare totală sau audio rămas în urmă cu minute bune.
- Folosirea unei valori la ‘atempo’ mai mari de 2.0 într-un singur pas (filtrul atempo acceptă valori între 0.5 și 2.0; pentru 4x se înlănțuie ‘atempo=2.0,atempo=2.0’).
Comenzi înrudite
-vf fps (Modificare framerate): Forțează un număr constant de cadre pe secundă sau extrage cadre la intervale regulate.-filter_complex (Grafuri de filtre): Permite construirea de grafuri avansate cu intrări multiple și ieșiri multiple pentru mixare audio-video.-vf scale (Redimensionare video): Scalează rezoluția video la dimensiunile dorite păstrând sau forțând raportul de aspect.