웹개발 및 최신 테크 소식을 전하는 블로그, 웹이즈프리

HOME > etc

윈도우에서 ffmpeg로 여러 이미지를 하나의 영상으로 변환하는 방법

Last Modified : 2024-01-16 / Created : 2024-01-16
683
View Count
동영상 편집을 위해 다양한 툴 들이 사용되는데요 길고 복잡한 편집이 아닌 단순한 작업들... 예를들어 이미지의 영상 변환, 품질 변환 및 구간 자르기 등등 간단하고 쉬운 작업을 위해서 ffmpeg를 사용할 수 있습니다. 아래는 ffmpeg를 사용하기 위해 설치부터 간단한 사용 방법을 알아보겠습니다.




ffmpeg 알아보기


ffmpeg는 강력한 멀티미디어 처리 도구로 오디오 및 비디오를 처리 및 변환하는데 사용하는 툴 중 하나입니다. 특히 ffmpeg가 인기 있는 이유는 무엇보다 무료로 사용 가능한 점윈도우, 맥, 리눅스 등 다양한 OS 환경을 지원하기 때문입니다. 게다가 가벼우면서도 강력한 기능을 지원하는 데 영상을 자르거나 변환할 수도 있고 또 여러 이미지를 하나의 영상으로 변환할 수도 있습니다.

그럼 아래에서는 윈도우 환경에서 ffmpeg를 설치하는 방법을 먼저 알아보고 그 다음 여러 이미지들을 가지고 하나의 영상으로 변환하는 방법도 알아봅니다.


ffmpeg 윈도우 설치 방법


설치를 위해서는 아래의 순서대로 따라 수행합니다. 가장 먼저 공식 웹사이트로 이동해 ffmpeg를 다운받도록 해야합니다.

공식 웹사이트 주소 >
https://ffmpeg.org/download.html


1. ffmpeg 다운로드 및 설치하기
ffmpeg 공식 웹사이트(https://ffmpeg.org/download.html)에서 윈도우용 ffmpeg를 다운로드하도록 합니다. 아래 스크린샷에 위치한 버튼을 클릭하면 다운로드 받을 수 있는 다른 링크로 이동됩니다.



이제 위 스크린샷의 ffmpeg-git-essentials.7z 파일을 클릭하면 다운로드가 시작됩니다. 다운로드를 받아 저장하도록 합니다.


2. 압축 해제하기
다운 받은 파일의 확장자는 7z으로 7-Zip 및 기타 압축 해제툴을 사용하여 원하는 곳에 해제하도록 합니다. 저장 위치는 삭제되지 않는 곳이면 되며 여기에서는 c:\utils\ffmpeg에 해제하였습니다.


3. 시스템 환경 변수 설정:
다음으로 환경 변수에 추가하여 모든 경로에서 ffmpeg를 사용할 수 있도록 설정하려고 합니다. 이를 위해서 아래와 같이 환경 변수를 열어 값을 추가합니다. 위 스크린샷을 참고하세요!

  • 윈도우키 누르고 검색창에서 "시스템 환경 변수 편집" 입력 후 엔터
  • 우측 하단의 "환경 변수(N)" 클릭
  • 아래의 시스템 변수에서 Path를 찾아 편집을 클릭
  • 환경 변수 클릭창에서 새로 만들기를 눌러 해당 경로 C:\utils\ffmpeg\bin\ 입력

이제 설치 및 설정이 끝났습니다. 정상 동작하는지 확인해봐야겠죠. cmd 커맨드라인에서 ffmpeg를 입력해봅니다.
c:\>ffmpeg

실행결과가 아래의 스크린샷과 같다면 잘 설치된 것입니다.


여기까지 설치 및 설정은 모두 완료되었습니다. 이제 아래에서 이미지를 영상으로 변환하는 방법을 알아보겠습니다.



여러 이미지를 영상으로 변환하기


ffmpeg를 사용하여 이미지를 영상으로 변환하는 방법을 알아보려고 합니다. 예를들어 블로그에 사용할 동영상을 만들 수도 있겠죠. 만약 다음과 같은 4개의 이미지를 있는 경우 아래 이미지를 연결하여 영상을 만들 수 있습니다.
test1.jpg
test2.jpg
test3.jpg
test4.jpg

위 이미지들을 파일명의 1, 2, 3 순서에 따라 연결하여 영상을 만들고자 합니다. 이 경우 다음과 같이 입력하여 영상을 만들 수 있습니다.
C:\>ffmpeg -framerate 1/3 -i test%d.jpg -vf "scale=640:480" -c:v libx264 -r 30 output.mp4

위 명령어를 사용시 하나의 이미지에 각각 3초씩 출력되어 총 12초 길이의 영상이 mp4 영상이 생성되어 만들어집니다. 참고로 사용된 명령어의 옵션은 다음을 의미합니다.

framerate // 각 이미지에 대한 시간 설정(1/3은 하나당 3초를 의미)
r // 옵션은 초당 프레임 수를 지정
i // 입력 파일 형식으로 d는 정규식의 숫자를 의미
c:v // 비디오 코덱을 지정(libx264는 가장 일반적으로 사용되는 H.264 코덱)
vf // 영상 크기를 설정함(scale=640:480은 각각 width, height 값)

여기까지 이미지를 사용하여 기본적인 영상 변환 방법을 알아보았는데요 ~ 아래는 다른 포맷으로 변환하거나 영상 크기를 변경하기 위해 옵션을 사용하는 방법의 예제입니다.


@ 다른 포맷으로 변환하기, mov, avi, mp4
마지막 생성할 파일명의 확장자를 변경하면 output 포맷을 변경 가능합니다. 아래는 각각 mov, avi를 생성하 경우입니다.
C:\>ffmpeg -framerate 1/3 -i test%d.jpg -vf "scale=640:480" -c:v libx264 -r 30 output.mov
C:\>ffmpeg -framerate 1/3 -i test%d.jpg -vf "scale=640:480" -c:v libx264 -r 30 output.avi

이제 여러개의 이미지를 사용하여 움직이는 영상을 손쉽게 만들 수 있게되었습니다.


@ 영상 사이즈 변환하기, 크기 변환
만약 영상 크기를 변경하길 원하는 경우 아래와 같이 scale 옵션을 변경하여 가능합니다. 아래는 각각 1024:800 그리고 480:320 값의 영상입니다.
C:\>ffmpeg -framerate 1/3 -i test%d.jpg -vf "scale=1024:800" -c:v libx264 -r 30 output_1024.mp4
C:\>ffmpeg -framerate 1/3 -i test%d.jpg -vf "scale=480:320" -c:v libx264 -r 30 output_480.mp4

이번에 생성될 비디오의 경우 크기가 각각 다른 영상이 만들어지게됩니다. 영상이 작은 경우 당연히 크기도 줄어들게 되죠.


마치면서


여기까지 ffmpeg를 사용하여 다수의 이미지를 영상으로 변환하는 방법에 대하여 알아보았습니다. ffmpeg는 다양한 옵션을 제공하기 때문에 원하는 경우 훨씬 복잡한 효과 및 기능들 역시 구현이 가능합니다. 다만 그래픽 인터페이스(GUI)를 제공하지 않기 때문에 이 경우 다소 복잡하고 어려울 수 있어 프리미어 같은 GUI 영상 툴을 사용하는 것이 효과적일 수 있습니다.

Previous

직장인 연말정산은 무엇이고 2024년 달라진 점은?

Previous

리눅스 png 이미지 파일 압축하기, optipng, pngquant