-filter_complex옵션을 써서 split, crop(위쪽), crop(아래쪽), vstack 필터들을 차례로 적용한 뒤 인코딩하면 됩니다.
가운데 잘라내고 싶은 부분의 높이(픽셀 단위)를 MIDDLEHEIGHT, 원하는 윗부분 영상의 높이를 TOPHEIGHT, 원하는 아랫부분 영상의 높이를 BOTTOMHEIGHT라고 한다면 (영상 가로 부분은 잘라낼 부분이 없다고 한다면) FFmpeg 필터그래프 구성은 아래와 같이 합니다.
하나의 프레임을 [a]와 [b] 두 개로 똑같이 복사(split)한 후, [a]로는 윗부분 영상을 잘라내서(crop) [top]이라고 이름 짓고, [b]로는 아랫부분 영상을 잘라내서(crop) [bottom]이라고 이름 붙인 후 [top]과 [bottom]을 vstack 필터로 위아래로 붙입니다.
필터그래프를 이용하는 방법이 있습니다.
-filter_complex 옵션을 써서 split, crop(위쪽), crop(아래쪽), vstack 필터들을 차례로 적용한 뒤 인코딩하면 됩니다.
가운데 잘라내고 싶은 부분의 높이(픽셀 단위)를 MIDDLEHEIGHT, 원하는 윗부분 영상의 높이를 TOPHEIGHT, 원하는 아랫부분 영상의 높이를 BOTTOMHEIGHT라고 한다면 (영상 가로 부분은 잘라낼 부분이 없다고 한다면) FFmpeg 필터그래프 구성은 아래와 같이 합니다.
하나의 프레임을 [a]와 [b] 두 개로 똑같이 복사(split)한 후, [a]로는 윗부분 영상을 잘라내서(crop) [top]이라고 이름 짓고, [b]로는 아랫부분 영상을 잘라내서(crop) [bottom]이라고 이름 붙인 후 [top]과 [bottom]을 vstack 필터로 위아래로 붙입니다.
(crop 필터에 대한 설명은 이 게시물의 답변 참고)
(split, vstack 필터에 대한 설명은 필터 매개변수 도움말 참고)
일련의 과정을 FFmpeg 문법에 맞춰서 명령줄로 구성해 보면 아래와 같이 됩니다. (참고: FFmpeg 명령어 구조와 샤나인코더 작동 방식 이해)
물론 여기서 INPUT과 OUTPUT은 해당 동영상 파일 이름과 새로 만들어지는 동영상 파일 이름입니다(확장자 포함).
{인코딩 옵션들} 부분은 비디오, 오디오 관련 인코딩 옵션들입니다.
(자세한 건 샤나인코더의 H264 설정과 FFmpeg의 x264 설정 이해 참고)
위의 {인코딩 옵션들} 예제를 원래의 명령줄에 적용해 보면 좀 복잡해 보이는 아래의 최종 명령줄을 얻습니다.
(대문자로 표시한 부분은 적절하게 변경할 부분임.)
물론 {인코딩 옵션들} 부분은 코덱과 매개변수 옵션 선택에 따라 다양하게 적용할 수 있습니다.
자세한 것은 FFmpeg, x264, x265 등 매뉴얼과 구글 검색으로 공부하시기 바랍니다.