Windows/유용한 풀그림

[ffmpeg] 영상 파일에서 이미지 추출하기

채윤아빠 2023. 10. 9. 10:32
728x90
반응형

개요

ffmpeg 를 이용하여 영상에서 각 프레임별로 JPEG 이미지를 추출하는 방법을 알아 보겠습니다.

시험환경
Platform : NVIDIA Jetson Orin NX
OS : L4T R35.4.1
ffmpeg : 4.2.7


JPEG 이미지 추출하기

기본적으로 이미지 추출은 다음과 같이 간단하게 수행할 수 있습니다.

$ ffmpeg -i input_video.mp4 output_jpeg_%03d.jpeg
  • -i <영상 파일> : 입력 영상 파일을 지정합니다.

추가적으로 몇 가지 옵션들을 추가할 수 있습니다.

  • -qscale:v : JPEG 파일의 품질(quality) 설정 ; 2 ~ 31 (클수록 품질이 낮음)
  • -vf : 비디오 필터 ; fps, crop 등 다양한 필터 설정
  • -vf "crop=width:height:left:top" ; 좌측 상단 좌표(left, top)에서 너비, 폭(width, height) 만큼 잘라냄
  • -vf fps=10 : 초당 10개의 프레임에서 이미지 추출
  • -ss 00:00:00 : 추출을 시작할 시간 지정 ; 그냥 숫자로 입력하면 초 단위로 지정됨

다음은 "./my_video.mp4" 영상 파일을 최고 품질(-qscale:v 1)로 각 프레임별 JPEG 이미지를 "./images" 폴더에 추출하는 예제입니다.

$ ffmpeg -i ./my_video.mp4 -qscale:v 1 ./images/my_video%04d.jpg


다음은 위 예시에 (220, 170)에서부터 폭 640, 높이 480 부분만 잘라서 JPEG 이미지로 추출하는 예제입니다.

$ ffmpeg -i ./20240717_174043.mp4 -qscale:v 1 \
 -vf "crop=640:480:220:170" ./4K/20240717_174043_%04d_s.jpg

참고자료