• 목록
  • 아래로
  • 위로
별점

MoviePy를 이용하여 MP4 -> GIF 변환을 하고 resize 하여 파일 크기를 비교하는 테스트를 진행해봤습니다.

 

테스트 파일의 출처는 아래 유튜브 채널입니다.

(원 출처는 영상에 표기되어 있습니다.)

 

https://www.youtube.com/watch?v=C4BuRysAdp8

 

 

위 영상을 1280x720 사이즈의 mkv 파일로 저장하면 865.2KB입니다.

 

첨부파일 : 냥뇽녕냥 - 언니 나 주거.mkv

(mkv 파일을 에디터에 drag & drop 해도 영상 자체를 첨부할 수 없네요 ㅠㅠ)

 

 

이를 아래의 스크립트를 이용하여 GIF로 변환해보겠습니다.

 

from moviepy.editor import *

clip = VideoFileClip('파일명.mkv', audio=False)
clip.write_gif('파일명.gif', fps=14, fuzz=1)

 

참고로 MoviePy에서 fps=14 미만의 옵션을 주면 상당히 눈에 거슬립니다 ㅠㅠ

 

변환하면 용량은 62.7MB입니다.

(용량 때문에 스포어에 첨부할 수 없습니다 ㅠㅠ)

 

 

위 스크립트에 아래와 같이 한 줄을 추가하여 1/2 사이즈로 resize 해보겠습니다.

 

from moviepy.editor import *

clip = VideoFileClip('파일명.mkv', audio=False)
clip_r = clip.resize(0.5)
clip_r.write_gif('파일명_resized.gif', fps=14, fuzz=1)

 

 

결과물은 아래와 같으며, 640x360으로 변환한 용량은 19.0MB입니다 ^^

 

냥뇽녕냥 - 언니 나 주거_resize.gif

 

 

대략 1/3 이하로 용량이 줄어들었음을 확인할 수 있습니다.

 

이는 Pillow(PIL)을 이용하여 GIF 파일을 resize하면 파일 용량이 그다지 줄어들지 않는 것과 대비됩니다.

 

이러한 차이점이 발생하는 이유는 MoviePy는 FFMPEG을 사용하는 반면, PIL은 그렇지 않기 때문으로 추측됩니다 ^^

 

 

결론적으로 홈페이지를 운영할 때 MP4 파일을 이용하는 것이 가장 트래픽을 덜 사용할 수 있는 방법이며,

 

불가피하게 GIF를 이용하여야 된다면 MoviePy를 이용하여 MP4 -> GIF로 resizing하는 백엔드를 구축하는 것이 대안이 될 수 있겠습니다.

 

포함 1명이 추천

추천인 1

작성자
이니스프리 119 Lv. (0%) 1908520/115200000EXP

Make StudyForUs Great Again!

 

CSVpuymXAAAVVpd.jpg

공유

facebooktwitterpinterestbandkakao story
퍼머링크

댓글 6

YGL
아름다우시네요.


아 코드요!
comment menu
2021.03.02. 02:28

신고

"YGL님의 댓글"

이 댓글을 신고 하시겠습니까?

포인트 폭탄+ → YGL
YGL님 축하합니다.
추가로 100포인트만큼 포인트 폭탄+를 받았습니다.
comment menu
2021.03.02. 02:28

신고

"포인트 폭탄+님의 댓글"

이 댓글을 신고 하시겠습니까?

삭제

"포인트 폭탄+님의 댓글"

이 댓글을 삭제하시겠습니까?

이니스프리 작성자 → YGL
profile image
아름다운 결과물에 비해 제 허접한 코드가 부끄럽네요 ㅠㅠ
그럼 일교차가 큰데 감기 조심하세요~! ^-^
comment menu
2021.03.04. 22:37

신고

"이니스프리님의 댓글"

이 댓글을 신고 하시겠습니까?

신고

"이니스프리님의 댓글"

이 댓글을 신고 하시겠습니까?

신영웅
이니스프리님 ㅠ 클라우드 플레어 우회에 관하여 정보를 얻고싶습니다... 제발 따로 연락 부탁드립니다.
comment menu
2021.03.05. 07:36

신고

"신영웅님의 댓글"

이 댓글을 신고 하시겠습니까?

KeySpace
profile image
신기하네욥 :)
comment menu
2022.07.14. 23:00

신고

"KeySpace님의 댓글"

이 댓글을 신고 하시겠습니까?

권한이 없습니다.