답변:
스크립팅을 처리 할 수 있다면 AviSynth .
AviSynth는 좋아하는 인코더로 인코딩 할 수있는 .avi 비디오를 출력합니다. 예 : VirtualDub.
다음은 단일 파일을 가져 와서 4 개의 패널로 잘라내어 파란색 여백으로 둘러싸인 샘플 스크립트입니다. 4 가지 비디오 소스를 쉽게 처리 할 수 있습니다. AviSynth는 매우 강력한 도구이지만 스크립팅은 모든 사람에게 적합하지 않습니다.
#BEGIN----------
inVid=AviSource("myVides.avi")
Mg=8 # Margin: # must be a multiple of 4
hM=Mg/2 # half Margin # must be an even number
pane1H=((inVid.height/8)/2)*2 # round it to an even number
pane1W=((inVid.width )/2)*2 # round it to an even number
pane2H=((inVid.height/2)/2)*2 # round it to an even number
pane2W=((inVid.width /3)/2)*2 # round it to an even number
pane3H=pane2H
pane3W=pane1W-pane2W
pane4H=((inVid.height-pane2H-pane1H)/2)*2 # round it to an even number
pane4W=pane1W
#### Crop( clip ,Left ,Top ,-Right ,-Bottom ).AddBorders( L ,T ,R ,B ,Colour )
pane1 =Crop( inVid ,0 ,0 ,-0 ,-pane2H-pane4H ).AddBorders( Mg ,Mg ,Mg ,hM ,$00ffff )
pane2 =Crop( inVid ,0 ,pane1H ,-pane3W-hM ,-pane4H ).AddBorders( Mg ,hM ,hM ,hM ,$00ffff )
pane3 =Crop( inVid ,pane2W+hM ,pane1H ,-0 ,-pane4H ).AddBorders( hM ,hM ,Mg ,hM ,$00ffff )
pane4 =Crop( inVid ,0 ,pane1H+pane3H ,-0 ,-0 ).AddBorders( Mg ,hM ,Mg ,Mg ,$00ffff )
row1=pane1
row2=StackHorizontal(pane2, pane3)
row3=pane4
out=StackVertical(row1, StackVertical(row2, row3))
return out
#END----------