FFMPEG Filter Complex

이정우·2023년 3월 13일
0

  • Filter 기본 문법

    • 필터 적용

      [input1][input2]overlay=x=0:y=0:eof_action=pass[output1]

      Filter=parameter1=value1:parameter2=value2:parameter3:value3 ...

    • 여러 필터 동시 적용

      [input1][input2]overlay=x=0:y=0:eof_action=pass,fade=t=in:s=0:n=60,fade=t=out:s=180:n=60[output1]

      Filter1=parameter1=value1:parameter2=value2,Filter2=parameter2:value2 ...


  • 필터 하나만 적용할 경우

    • [0:v] : Input video 중 0번 인덱스

    • [output1] : Output video

      [0:v]{YOUR_FILTER_SYNTAX}[output1]

  • 필터 체이닝

    • [0:v] : Input video 중 0번 인덱스

    • [middle] : 첫 번째 Filter의 Output video, 두 번째 Filter의 Input video

    • [final] : 두 번째 Filter의 Output video

      [0:v]{YOUR_FILTER_SYNTAX}[middle];
      [middle]{YOUR_FILTER_SYNTAX}[final];
    • [0:v] : Input video 중 0번 인덱스

    • [middle1] : 첫 번째 Filter의 Output video

    • [middle2] : 첫 번째 Filter의 Output video

    • [final] : 두 번째 Filter의 Output video

      [0:v]{YOUR_FILTER_SYNTAX}[middle1];
      [0:v]{YOUR_FILTER_SYNTAX}[middle2];
      [middle1][middle2]concat=n=2[final];
    • Filter의 Input이 원본 Video인 경우 Filter의 Input으로 여러 번 사용 가능

      [0:v]{YOUR_FILTER_SYNTAX}[middle1];
      [0:v]{YOUR_FILTER_SYNTAX}[middle2];
      [middle1][middle2]concat=n=2[final];
    • Filter의 Input이 Filter의 Output인 경우 Filter의 Input으로 여러 번 사용 불가능

      [0:v]{YOUR_FILTER_SYNTAX}[middle1];
      [middle1]{YOUR_FILTER_SYNTAX}[temp1];
      [middle1]{YOUR_FILTER_SYNTAX}[temp2];
      [temp1][temp2]concat=n=2[final]

      Filter의 Output으로 사용 된 middle1이 Input으로 여러 번 사용될 수 없다.

    • Filter의 Input이 Filter의 Output인 경우 Filter의 Input으로 여러 번 사용하기 위해서는 split Filter를 사용하여야 한다.

      [0:v]{YOUR_FILTER_SYNTAX},split=2[middle1][middle2];
      [middle1]{YOUR_FILTER_SYNTAX}[temp1];
      [middle2]{YOUR_FILTER_SYNTAX}[temp2];
      [temp1][temp2]concat=n=2[final]

      0:v의 Filter Output을 middle1과 middle2로 2번 출력하여 Input으로 여러 번 사용하였다.

profile
공부

0개의 댓글