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
.
320
și240
?(a,234/787)