개발 꿀팁/PYTHON

세 줄의 코드를 사용하여 Python을 사용하여 동영상을 Gif로 변환합니다

Jammie 2022. 12. 2. 12:15
반응형

기사 목록입니다.
첫째, 서언입니다.
2. 튜토리얼입니다.
1. 필수 라이브러리 moviepy 설치
2. 코드를 기록합니다.
3. 전환효과입니다
4. GIF가 큰 솔루션입니다
4. 영상 길이 변환을 캡처합니다
5. 변환된 이미지의 크기(해상도)를 지정합니다.
첫째, 서언입니다.
많은 사이트에서 동영상을 GIF로 돌리는 기능을 제공하지만, 유료이거나 광고가 있습니다.

실제로 파이썬(python)을 통해 몇 줄의 코드만으로 동영상을 gif로 바꿀 수 있습니다

2. 튜토리얼입니다.
1. 필수 라이브러리 moviepy 설치
pip install moviepy -i https://pypi.tuna.tsinghua.edu.cn/simple

2. 코드를 기록합니다

from moviepy.editor import *

clip = (VideoFileClip("movie.mp4") # GIF의 비디오 파일 경로로 변환해야 합니다.
clip.write_gif("movie.gif")

3. 전환효과입니다

방금 GIF 그림은 몇 초밖에 안 됐지만 크기가 9M이나 됩니다!(이미 해상도를 조정한 상태일 수도 있습니다

만약 변환해야 하는 동영상이 수십 초라면, 파일 크기는 수백 메가 이상이 되어야 합니다!

그럼 어떻게 해결하면 될까요?

4. GIF가 큰 솔루션입니다
스케일 해상도 resize 뿐만 아니라 fps 매개 변수 프레임을 설정하여 크기를 줄일 수 있습니다

from moviepy.editor import *

clip = (VideoFileClip("movie.mp4").resize((488,225)))
clip.write_gif("movie.gif", fps=15) #초당 15프레임으로 설정합니다

초당 15프레임으로 설정하니 파일 크기가 2m 남짓이었는데 4배나 줄었습니다!

그리고 비주얼도 크게 다르지 않아요

4. 영상 길이 변환을 캡처합니다
subclip 매개 변수를 설정하여 변환된 비디오의 범위를 지정할 수도 있습니다.

subclip: 원본 비디오의 t_start에서 t_end까지의 비디오 클립을 캡처합니다.

1-2초짜리 비디오를 Gif로 변환합니다

from moviepy.editor import *

clip = (VideoFileClip("movie.mp4").subclip(t_start=1, t_end=2).resize((488, 225)))
clip.write_gif("movie.gif", fps=15)

5. 변환된 이미지의 크기(해상도)를 지정합니다.
resize 매개 변수는 변환된 그림의 크기를 지정할 수 있습니다

허용되는 매개 변수는 다음과 같습니다.

픽셀 또는 부동 소수점 (width, height) 입니다
0.5와 같은 백분율 크기를 조정합니다.
예시입니다.

1. 변환된 이미지를 600*400으로 설정합니다

clip = (VideoFileClip("movie.mp4").resize((600, 400)))

2. 원본 영상을 50% 확대합니다

clip = (VideoFileClip("movie.mp4").resize(0.5))

 

반응형