Categories
FFmpeg

FFmpeg의 필터그래프, 체인, 필터의 개념과 상호관계

FFmpeg의 필터그래프, 체인, 필터 등의 개념과 상호관계를 살펴본다.

1. 필터그래프, 체인, 필터

FFmpeg 의 필터그래프 (filtergraph) 는 체인 (chain) 과 필터 (filter) 로 구성된다.

각 체인은 세미콜론 (;) 으로 구분된다.

-vf [in]scale=640:480[mid];[mid]fps=25[out]

2개의 체인이 사용되었다.

각 필터는 콤마 (,) 로 구분된다.

-vf scale=640:480,fps=25

scale 필터와 fps 필터가 콤마로 구분되어 있다.

2. 스트림 지정의 생략

아래 명령은 “[in]” 스트림에 scale 필터를 적용하여 “[out]” 스트림을 생성한다.

ffmpeg -i input.mp4 -vf [in]scale=640:480[out] output.mp4

“[in]” 스트림 지정을 생략하면 앞에 있는 스트림을 지정한 것으로 간주된다.

ffmpeg -i input.mp4 -vf scale=640:480[out] output.mp4

“[out]” 스트림 지정을 생략하면 뒤에 올 스트림을 지정한 것으로 간주된다.

ffmpeg -i input.mp4 -vf [in]scale=640:480 output.mp4

스트림 지정을 모두 생략할 수도 있다.

ffmpeg -i input.mp4 -vf scale=640:480 output.mp4

3. 체인이 2개 이상일 때 스트림 지정 생략

아래 명령을 살펴보자.

ffmpeg -i input.mp4 -vf [in]scale=640:480[mid];[mid]fps=25[out] output.mp4

“[in]” 스트림에 scale 필터를 적용하여 “[mid]” 라는 중간 스트림을 생성한다. “[mid]” 스트림에 fps 필터를 적용하여 “[out]” 스트림을 생성한다.

중간 스트림의 지정을 생략할 수 있다.

ffmpeg -i input.mp4 -vf [in]scale=640:480,fps=25[out] output.mp4

체인의 개수는 1개가 된다. 각 필터는 콤마로 구분한다.

“[in]” 스트림 또는 “[out]” 스트림의 지정을 생략할 수 있다. 2개 모두 지정하지 않는 것도 가능하다.

ffmpeg -i input.mp4 -vf scale=640:480,fps=25 output.mp4

Leave a Reply

Your email address will not be published. Required fields are marked *