[FFmpeg] 여러 개 동영상 파일 이어 붙이기(feat. 파이썬 소스코드)
본문 바로가기
C++ 라이브러리/FFmpeg

[FFmpeg] 여러 개 동영상 파일 이어 붙이기(feat. 파이썬 소스코드)

by Macgyvering2 2022. 11. 10.

example1.mp4

example2.mp4

example3.mp4 파일이 있을 때 이 3개의 파일을 이어붙이는 방법에 관한 글이다.

 

여러 파일을 하나의 영상으로 합치기 위해선 어떤 영상을 합칠 것인지에 대한 정보를 작성해야 한다.

다음과 같이 filelist.txt파일을 만들어서 저장해준다.

 

file example1.mp4
file example2.mp4
file example3.mp4

 

위와 같이 영상이 몇 개 되지 않으면 수동으로 진행하면 된다.

그런데 만약 영상이 수백개 또는 그 이상이라면 하나 하나 파일을 입력하는 것은 힘이 들고 무리가 있다.

영상이 많을 때 귀찮았던 경험이 있어서 그 때 작성했던 파이썬 소스코드를 공유하였다.

사용 방법은 영상만 모여있는 폴더를 하나 만들어 dir_path에 입력해주고 실행하면 된다.

 

import os

dir_path = "C:/example"
f = open(dir_path + "/filelist.txt", 'w')

for (root, directorie, files) in os.walk(dir_path):
    for file in files:
        f.write("file ")
        file+="\n"
        f.write(file)
        
f.close()

 

위를 실행하면 파일이름이 그대로 잘 정리돼서 나오는 것을 확인할 수 있다.

 

file cam1_0_00000_20220128-014746_6518.mp4
file cam1_0_00000_20220128-020433_8840.mp4
file cam1_0_00001_20220128-014806_6518.mp4
file cam1_0_00001_20220128-020453_8840.mp4
file cam1_0_00002_20220128-014826_6518.mp4
file cam1_0_00002_20220128-020513_8840.mp4
file cam1_0_00003_20220128-014846_6518.mp4
file cam1_0_00003_20220128-020533_8840.mp4
file cam1_0_00004_20220128-014906_6518.mp4
file cam1_0_00004_20220128-020553_8840.mp4
file cam1_0_00005_20220128-014926_6518.mp4
file cam1_0_00005_20220128-020613_8840.mp4
file cam1_0_00006_20220128-014946_6518.mp4
file cam1_0_00006_20220128-020633_8840.mp4
...

 

이제 filelist.txt 파일이 생성되었다면

커맨드 창을 실행하여 다음의 명령어를 입력해주면 된다.

 

ffmpeg -f concat -i C:\example\filelist.txt -c copy C:\example\appendAll.mp4

경로에 주의하여야 한다.

 

결과 파일은 위 명령어에서 설정한 appendAll.mp4로 만들어지는 것을 확인할 수 있다.

댓글