Skip to content

Cum să convertești între VFR și CFR cu FFmpeg

DodaTech Updated 2025-01-15 2 min read

In this tutorial, you'll learn about Cum să convertești între VFR și CFR cu FFmpeg. We cover key concepts, practical examples, and best practices.

Problema

Videoclipurile pot fi VFR (Variable Frame Rate) — framerate variabil care economisește spațiu pentru conținut static — sau CFR (Constant Frame Rate) — necesar pentru streaming și editare. Conversia între ele necesită parametri specifici.

Soluția Rapidă

Fix 1: Convertire VFR → CFR

GREȘIT — simpla specificare a framerate-ului:

ffmpeg -i input_vfr.mp4 -r 30 output_cfr.mp4
# Poate duce la sincronizare greșită

CORECT — folosește vsync cfr:

ffmpeg -i input_vfr.mp4 -vsync cfr -r 30 output_cfr.mp4

Fix 2: Forțarea CFR cu filter-ul fps

ffmpeg -i input_vfr.mp4 -vf "fps=30" output_cfr.mp4
# Mai fiabil decât -vsync cfr

Fix 3: Convertire CFR → VFR

ffmpeg -i input_cfr.mp4 -vsync vfr output_vfr.mp4
# VFR elimină cadrele duplicate și economisește spațiu

Fix 4: Verificarea tipului de framerate

# Verifică dacă videoclipul este VFR sau CFR
ffprobe -v error -select_streams v:0 -show_entries stream=r_frame_rate -of csv=p=0 input.mp4

# Analiză detaliată a cadrelor
ffprobe -v error -select_streams v:0 -show_frames -of csv=p=0 input.mp4 | cut -d ',' -f 6 | sort | uniq -c
# Dacă toate cadrele au aceeași durată → CFR

Fix 5: CFR cu encodare eficientă

# CFR pentru streaming (YouTube, Twitch)
ffmpeg -i input.mp4 -c:v libx264 -crf 23 -preset medium -vf "fps=30" -c:a aac output_cfr.mp4

Fix 6: Păstrarea VFR la re-encodare

ffmpeg -i input.mp4 -vsync vfr -c:v libx264 -crf 23 output_vfr.mp4

Folosește DodaTech VFR Analyzer pentru a determina dacă un videoclip este VFR sau CFR și pentru a alege strategia optimă.

Prevenție

  • Folosește -vf "fps=30" pentru CFR fiabil și predictibil.
  • Folosește -vsync vfr pentru a păstra VFR la re-encodare.
  • CFR este necesar pentru streaming, broadcasting și majoritatea platformelor video.
  • VFR este eficient pentru screencast-uri și conținut cu mult timp static.

Greșeli Comune cu VFR/CFR

  1. Presupunerea că toate videoclipurile sunt CFR — multe înregistrări ecran și telefone produc VFR.
  2. Folosirea -r pentru conversie VFR→CFR-r poate da rezultate imprevizibile; folosește filter-ul fps.
  3. Probleme de sincronizare audio la conversia VFR→CFR — cadrele duplicate pot afecta temporizarea audio.

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 VFR la CFR 30fps folosind filter-ul fps, cu codecul H.264 și audio AAC.

Acest exercițiu întărește conceptele acoperite în acest ghid. Încearcă să-l implementezi înainte de a verifica soluțiile online.

FAQ

### Ce este VFR și când se folosește?

VFR (Variable Frame Rate) ajustează framerate-ul în funcție de conținut. Cadrele identice sunt eliminate, economisind spațiu. Folosit în înregistrări ecran, screencast-uri și conținut cu mult timp static.

De ce YouTube acceptă doar CFR?

Platformele de streaming au nevoie de un framerate constant pentru a gestiona buffer-ul și a asigura playback fluid. YouTube convertește automat VFR la CFR la upload.

Cum știu dacă videoclipul meu este VFR sau CFR?

Folosește comanda ffprobe -v error -select_streams v:0 -show_frames input.mp4 | grep pkt_duration_time și verifică dacă duratele cadrelor sunt constante.

Built by the developers of DodaTech

Doda Browser, DodaZIP & Durga Antivirus Pro