파이썬을 이용해서 동영상을 GIF 파일로 만드는 방법
본문 바로가기
파이썬(Python)/파이썬 개발

파이썬을 이용해서 동영상을 GIF 파일로 만드는 방법

by Squat Lee 2024. 1. 15.

동영상을 GIF로 바꾸면 블로그나 네이버카페에서 활용할 곳이 많습니다.

 

그런데 구글링을 하면 GIF로 변환하는 사이트를 이용해야 합니다.

 

 

막상 사이트에 들어가면 회원가입, 로그인 등을 거쳐야 해서 상당히 번거롭습니다.

 

그래서 파이썬으로 한번 만들어 봤습니다.

 

윈도우키+R을 눌러서 실행창을 열고 'cmd'를 입력해 줍니다. 그리고 확인을 눌러 줍니다.

 

 

 

"pip install moviepy"를 입력해서 라이브러리를 설치합니다.

 

from moviepy.editor import *

path = 'C:\\Users\\fibt5\\Desktop\\'
mymovie = VideoFileClip(path + '0110.mp4')

myclip = mymovie.subclip(1, 2) #1초에서 2초 길이로 자르기
myclip.write_gif(path + 'movie_to_gif.gif')

 

위와 같이 코드를 입력합니다.

 

subclip함수는 동영상 길이를 자르는 동작을 합니다. 저는 1~2초로 자른 다음 write_gif 함수로 gif 파일을 만들었습니다.

 

 

이렇게 실행창에 진행 상태가 나옵니다.

 

잘 바뀌네요. 위의 그림은 win32com로 Sheet 이름을 바꾸는 코드를 실행하는 장면인데, 잘 되죠?

 

그럼 이제는 이걸 좀 더 쉽게 쓸 수 있도록 코드를 좀 더 추가해 보겠습니다.

 

from moviepy.editor import *
import sys
from PyQt5.QtWidgets import *

class MovieToGif(QMainWindow):
    def __init__(self):
        super().__init__()
        self.setWindowTitle('Movie_To_GIF')
        self.setGeometry(600, 200, 400, 200)

        lbl1 = QLabel('GIF로 변환할 동영상을 선택하세요', self)
        lbl1.setGeometry(20, 20, 300, 20)

        self.btn = QPushButton('파일찾기', self)
        self.btn.move(150, 100)

        self.btn.clicked.connect(self.BtnClicked)

    def BtnClicked(self):
        file_name = QFileDialog.getOpenFileName(self)
        mymovie = VideoFileClip(file_name[0])
        myclip = mymovie.subclip(1, 2) #1초에서 2초 길이로 자르기
        myclip.write_gif('movie_to_gif.gif')

if __name__=='__main__':
    app = QApplication(sys.argv)
    myWindow = MovieToGif()
    myWindow.show()
    app.exec_()

 

 pyqt5로 UI를 만들었습니다.

 

 

간단하게 만들었어요.

 

상태바도 넣고, 완료했을 때 메세지도 뜨게 할 수 있는데, 일단 이것만 작성했습니다.

 

버튼을 누르면 파일을 선택할 수 있는 창이 나옵니다.

 

 

동영상 파일을 선택하면 위의 그림과 같이 GIF 파일이 만들어진 것을 확인할 수 있습니다.

 

다음에 시간이 있으면 좀 더 업데이트 하고, 실행파일도 올려 보도록 하겠습니다.

728x90
반응형

댓글