[Python] mp3 파일을 동영상으로 변환하기

개요

 음악(mp3 형태)을 유튜브에 올리려면, 파일 형식이 동영상이어야 한다. mp3 파일을 동영상으로 바꾸기 위해서는 베가스, 프리미어 등의 동영상 편집 프로그램을 사용하는 것이 가장 기본적인 방법이나, 작업이 번거롭고 여러 파일에 적용하기 위해서는 시간이 많이 소요된다. 또한 해당 기능을 제공하는 웹 서비스들의 경우에는 영상에 워터마크가 찍혀 나오는 단점이 있다.

 여기서는 파이썬의 동영상 편집 라이브러리인 moviepy를 이용하여 간단히 음악 mp3 파일과 이미지를 합쳐 유튜브에 업로드 가능한 동영상 형태로 만들고자 한다.

 

저작권에 대하여

 - 유튜브에서는 저작권 소유자의 요청에 따라 여러 저작권 정책을 펴고 있으며, 해당 게시물에서 사용할 음악(장범준 - 노래방에서)의 경우에는 저작권 소유자의 수익 창출 요청에 따라 게시자의 요청에 상관없이 해당 영상에 광고가 삽입되고 수익이 저작자에게로 전달 됨. (https://support.google.com/youtube/answer/6364458?hl=ko)

 

준비물

1) 음악 파일 및 이미지

  - 동영상을 만들 음악 파일 밎 이미지를 준비

 

 

2) Moviepy

pip install moviepy

 - 라이브러리가 없다면 설치한다

 

코드

from moviepy.editor import *

MoviePy를 임포트한다.

 

# 동영상 생성할 때 duration을 오디오 파일과 동일하게 설정

audio = AudioFileClip("at_the_karaoke.mp3")

video = ImageClip('cover.jpg',duration=audio.duration)
video = video.set_audio(audio)
video.write_videofile("test.mp4",fps=24, codec="mpeg4")

 이미지 파일을 불러와 비디오 클립을 만든다. 듀레이션을 오디오 파일의 길이로 설정한다.

 # duration=AudioFileClip(file).duration

 

 다음 줄에서는 set_audio 메소드를 이용하여 오디오 파일을 설정. 그리고 그 다음 줄에서는 만들어진 동영상을 test.mp4 파일로 저장토록 하였다.

 

결과

폴더를 확인해보면 아래와 같이 'test.mp4' 파일이 생성된 것을 확인할 수 있다.

만들어진 동영상을 아래와 같이 유튜브에 업로드했다.

 

 

후기

이번에는 간단히 해당 기능만 사용해 보았으며, 추후에는 앨범 단위로 변환 가능하도록 특정 폴더의 모든 mp3 파일을 동영상으로 변환토록 할 예정. 필요하면 Youtube API 이용하여 업로드까지 한방에 할 수 있도록 하겠다.

댓글

Designed by JB FACTORY