Categories
FFmpeg

FFmpeg으로 동영상에서 이미지 추출하기

FFmpeg 으로 동영상에서 이미지를 추출하는 방법을 알아보자.

1. 1개의 이미지 추출

아래 명령은 지정된 위치에서 1개의 이미지를 추출한다.

ffmpeg -ss 01:23:45 -i input.mp4 -vframes 1 output.png

-ss 옵션은 시간을 지정한다. 1시간 23분 45초 지점을 지정했다.

-vframes 는 출력할 프레임의 수를 지정한다. 1을 지정했으므로 1개의 프레임이 출력된다.

출력 결과는 output.png 라는 이미지 파일로 저장된다.

2. 매초 1장씩 이미지 추출

이미지를 1초에 1장씩 추출하는 방법을 알아보자.

ffmpeg -i input.mp4 -vf fps=1 output_%d.png

fps 필터의 지정값이 1이므로 1초마다 1프레임 씩 출력된다.

결과는 여러 개의 이미지 파일에 저장된다. 파일 이름은 output_1.png, output_2.png, output_3.png 등과 같이 순차적으로 정해진다.

파일 이름에서 숫자 부분의 형식을 바꿔 보자.

ffmpeg -i input.mp4 -vf fps=1 output_%04d.png

숫자 부분의 자리수는 4개가 된다. 4자리가 안되는 숫자의 앞부분은 0으로 채워진다.

파일 이름은 output_0001.png, output_0002.png, output_0003.png 등과 같이 순차적으로 정해진다.

3. 임의의 주기에 따라 이미지 추출

임의의 시간을 주기로 하여 이미지를 추출해 보자.

아래 명령은 10초에 1장씩 이미지를 추출한다.

ffmpeg -i input.mp4 -vf fps=1/10 output_%d.png

아래 명령은 0.1초에 1장씩 이미지를 추출한다. 1초에 10장의 이미지를 추출하는 셈이다.

ffmpeg -i input.mp4 -vf fps=10 output_%d.png

Leave a Reply

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