이 필터를 사용하여 자르기를 수행합니다.
-filter_complex "[0:v]crop=w=320:h=240[v0c]
잘 작동합니다. 문제는 때때로 내가 얻을 입력이 무엇인지 모른다는 것입니다. 예를 들어 1000x500
또는 500x1000
일 수 있습니다. 그래서 그것이 발생하면 비디오 중앙의 작은 영역을 얻습니다. 이상적인 것은 입력 크기를 조정하여 원하는 출력에 맞게 크기를 조정하고 나머지는 자르는 것입니다. 문제는 어떤 차원이 될지 모른다는 것입니다.
이 문제를 해결하기 위해 필터를 어떻게 만들 수 있습니까?
댓글
- 원하는 출력 크기는 무엇입니까?
- 내가 작성한 명령에서와 같이 320×240
Answer
사용
[0:v]scale="if(gt(a,4/3),-1,320)":"if(gt(a,4/3),240,-1)",setsar=1,crop=320:240[v0c]
x 및 y에 대한 스케일 필터 표현식은 입력의 종횡비를 확인하고 4보다 큰 경우 : 3, 값을 두 번째 인수로 설정하고 그렇지 않은 경우 세 번째 인수로 설정합니다. -1
는 원래 가로 세로 비율이 유지되어야 함을 의미합니다. scale=-1:400
를 600x800
캔버스에 적용하면 300x400
가됩니다.
320
및240
?(a,234/787)