Folosesc acest filtru pentru a face câteva decupări:

-filter_complex "[0:v]crop=w=320:h=240[v0c] 

care funcționează bine. Problema este că, uneori, nu știu care este intrarea pe care o voi primi. Ar putea fi un 1000x500 sau un 500x1000, de exemplu. Deci, atunci când se întâmplă acest lucru, acesta devine doar o mică zonă din centrul videoclipului. Idealul ar fi să redimensionați intrarea pentru a se potrivi cu dimensiunile sale mai mici la ieșirea dorită și să decupați restul. Problema este că nu știu ce dimensiune va fi.

Cum aș putea construi un filtru pentru a rezolva această problemă?

Comentarii

  • Care este dimensiunea de ieșire dorită?
  • 320×240, ca în comanda pe care am scris-o

Răspunde

Use

[0:v]scale="if(gt(a,4/3),-1,320)":"if(gt(a,4/3),240,-1)",setsar=1,crop=320:240[v0c] 

Expresiile filtrului de scară pentru x și y verifică raportul de aspect al intrării și dacă este mai mare de 4 : 3, setați valoarea la al doilea argument și, dacă nu, la al treilea argument. -1 înseamnă că raportul de aspect original ar trebui păstrat de ex. scale=-1:400 aplicat pe o pânză 600x800 va avea ca rezultat 300x400.

Comentarii

  • De asemenea, dacă rezultatul dorit ar fi altul, această comandă ar funcționa în continuare, doar înlocuind 320 și 240?
  • Da. De asemenea, actualizați fracțiunea de raport de aspect, dacă ' este diferit.
  • Deci, trebuie întotdeauna raporturi de aspect standard, cum ar fi 16: 9 sau 4: 3? Nu pot face rezoluții aleatorii, cum ar fi 322×239?
  • Sigur. Raportul de aspect aici este cel al ieșirii dorite. Deci, dacă obiectivul dvs. este 234×787, atunci ' s (a,234/787)
  • Explicați în răspunsul modificat.

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *