Cum să convertești framerate-ul video cu FFmpeg
In this tutorial, you'll learn about Cum să convertești framerate. We cover key concepts, practical examples, and best practices.
Problema
Framerate-ul videoclipului nu se potrivește cu cerințele platformei țintă (30fps pentru web, 24fps pentru film, 60fps pentru gaming). Fără conversia corectă a framerate-ului, videoclipul poate avea mișcare sacadată sau cadre lipsă.
Soluția Rapidă
Fix 1: Schimbarea framerate-ului cu filter-ul fps
GREȘIT — folosirea opțiunii -r fără filtru:
ffmpeg -i input.mp4 -r 30 output.mp4
# -r poate duce la cadre duplicate sau pierdute necontrolat
CORECT — folosește filter-ul fps:
ffmpeg -i input.mp4 -vf "fps=30" output.mp4
Fix 2: Reducerea framerate-ului (60fps → 30fps)
# Elimină fiecare al doilea cadru
ffmpeg -i input.mp4 -vf "fps=30" output.mp4
Fix 3: Creșterea framerate-ului (24fps → 60fps)
# Duplică cadre pentru a ajunge la 60fps
ffmpeg -i input.mp4 -vf "fps=60" output.mp4
# Mișcarea rămâne aceeași, dar frame-urile sunt duplicate
Fix 4: Framerate pentru film (24fps)
ffmpeg -i input.mp4 -vf "fps=24" output.mp4
Fix 5: Framerate pentru televiziune (50fps PAL, 60fps NTSC)
# PAL
ffmpeg -i input.mp4 -vf "fps=50" output.mp4
# NTSC
ffmpeg -i input.mp4 -vf "fps=60000/1001" output.mp4
# 60000/1001 = 59.94fps (NTSC exact)
Fix 6: Verificarea framerate-ului curent
ffprobe -v error -select_streams v:0 -show_entries stream=r_frame_rate -of csv=p=0 input.mp4
# Ieșire: 30000/1001 (29.97fps)
Folosește DodaTech Frame Rate Analyzer pentru a verifica framerate-ul și a alege valoarea țintă optimă.
Prevenție
- Folosește filter-ul
fpsîn loc de opțiunea-r. - Pentru reducerea fps-ului,
fpselimină cadre uniform. - Pentru creșterea fps-ului,
fpsduplică cadre (fără interpolare). - Verifică framerate-ul original cu
ffprobe.
Greșeli Comune cu FPS
- Confundarea lui
-rcufpsfilter —-rpoate da rezultate imprevizibile;fpseste recomandat. - Creșterea fps-ului fără interpolare — cadrele duplicate nu îmbunătățesc fluiditatea mișcării.
- Valori fracționare incorecte — NTSC folosește 30000/1001 (29.97fps), nu 30.
Aceste greșeli apar frecvent în cod FFmpeg real. Contribuitorii DodaTech au identificat aceste patternuri prin analiza proiectelor open-source și a sistemelor de producție.
Exercițiu Practic
Scrie o comandă FFmpeg care convertește un videoclip de la 60fps la 24fps folosind filter-ul fps, cu codecul H.264 și calitate CRF 23.
Acest exercițiu întărește conceptele acoperite în acest ghid. Încearcă să-l implementezi înainte de a verifica soluțiile online.
FAQ
Built by the developers of DodaTech
Doda Browser, DodaZIP & Durga Antivirus Pro