개요
추출된 시퀀스 프레임, 혹은 이미지들로 부터 동영상 파일을 생성하는 방법에 대해 기록한다. 해당 작업에는 재료로 사용할 이미지들의 네이밍 규칙을 통일하는 것이 중요하다.
환경
- Ubuntu 20.04
- ffmpeg version 4.2.7
프레임 병합
ffmpeg
도구를 사용하면서 기본적으로는 3가지 옵션을 통해 제작한다. -framerate
, -i
, output
이다. 마지막 출력 파일은 앞에 따로 옵션명을 안적는다.
이미지 이름이 img_001.jpg
, img_002.jpg
, img_003.jpg
, …와 같이 이어지고 제작할 동영상의 프레임레이트가 30이라면 다음과 같이 생성할 수 있다.
# ffmpeg -framerate {n} -i {filename_convention} {output_file}
$ ffmpeg -framerate 30 -i img_%03d.jpg output.mp4
특정 프레임 부터 생성
위의 내용을 기반으로 특정 번호의 이미지 프레임으로 부터 동영상을 생성하려면 -start_number
옵션을 추가한다. 위의 상황에서 100번 이미지(img_100.jpg
) 부터 동영상을 생성한다 그러면 다음과 같이 명령어를 사용한다.
# ffmpeg -framerate {n} -start_number {m} -i {filename_convention} {output_file}
$ ffmpeg -framerate 30 -start_number 100 -i img_%03d.jpg output.mp4
이름이 컨벤션을 갖지 않을 때
이미지 파일들의 이름이 어떠한 특정 규칙을 따르지 않을 때, 그리고 적당히 이름순으로 정렬된 이미지들을 그냥 그대로 영상으로 만들때에도 동영상을 만드는데에는 문제가 없다. pattern_type=glob
을 이용하여 에스터리스크(*
) 패턴을 사용할 수 있다.
# ffmpeg -framerate {n} -pattern_type glob -i {filename} {output_file}
ffmpeg -framerate 30 -pattern_type glob -i '*.jpg' output.mp4
참고링크: ffmpeg - trac wiki: Create a video slideshow from images
댓글남기기