-crf (Constant Rate Factor) în FFmpeg

Parametrul principal de control al calității: menține o fidelitate vizuală constantă în toate cadrele.

Sintaxă
ffmpeg -i intrare.mp4 -c:v libx264 -crf 23 iesire.mp4
ffmpeg -i intrare.mp4 -c:v libx265 -crf 28 iesire.mp4

Ce face -crf (Constant Rate Factor)

Spre deosebire de modul cu bitrate fix (CBR), unde se irosește spațiu pe cadre simple (cer senin) și se pixelizează scenele dinamice (acțiune, ploaie), modul CRF (Constant Rate Factor) alocă dinamic mai puțini biți zonelor simple și mai mulți biți scenelor complexe.

Scara de valori funcționează invers: o valoare mai mică înseamnă o calitate mai mare și un fișier mai voluminos, în timp ce o valoare mai mare comprimă mai agresiv:
• 0: compresie fără pierderi (lossless);
• 17–18: calitate aproape de master profesional (vizual indistinguibil de original);
• 22–23: valoarea implicită și recomandată pentru web la H.264;
• 28: valoarea optimă recomandată pentru H.265 (HEVC).

Fiecare modificare de 6 unități dublează sau înjumătățește dimensiunea finală a fișierului.

Opțiuni și argumente

Opțiune / Parametru Descriere
-crf <0-51> Valoarea calității (scara uzuală 0–51 pentru x264/x265, 0–63 pentru VP9/AV1).

Ce returnează

Alocarea dinamică a ratei de biți per macrobloc video.

Exemple

Exemplul 1: Codare de înaltă calitate pentru arhivare personală

CRF 18 oferă o calitate impecabilă fără artefacte de compresie.

ffmpeg -i camera.mov -c:v libx264 -crf 18 -preset slow -c:a aac -b:a 256k arhiva.mp4

Ieșire în terminal

frame= 1800 fps= 42 q=18.0 Lsize=   62100kB time=00:01:00.00 bitrate=8476.2kbits/s speed=1.4x

Greșeli frecvente

  • Setarea unui CRF sub 16 pentru videoclipuri destinate streamingului web, generând fișiere inutile de mari fără un câștig vizual perceptibil de ochiul uman.
  • Setarea simultană a unui ‘-b:v’ fix împreună cu ‘-crf’ fără constrângeri clare, provocând confuzii de alocare a encoderului.

Comenzi înrudite