• 목록
  • 아래로
  • 위로
from moviepy.editor import *
import glob, os

files = glob.glob('d:\\폴더명\\**\\*.*', recursive = True)

for f in files:
    if os.path.splitext(f)[1] == '.mp4':
        clip = VideoFileClip(f, audio=False)
        giffile = os.path.splitext(f)[0] + '.gif'
        clip.write_gif(giffile, fps=7, opt='nq')
        size = os.path.getsize(giffile)
        if size / (1024*1024) > 70:    
            clip2 = clip.resize(0.4)
            giffile = os.path.splitext(f)[0] + '.gif'
            clip2.write_gif(giffile, fps=4, fuzz=1, opt='nq')
            clip2.close()
        elif size / (1024*1024) > 20:    
            clip2 = clip.resize(0.5)
            giffile = os.path.splitext(f)[0] + '.gif'
            clip2.write_gif(giffile, fps=6, fuzz=1, opt='nq')
            clip2.close()
        clip.close()

 

 

특정 폴더 및 하위 폴더의 MP4 파일을 20MB가 넘지 않도록 GIF 파일로 일관 변환하는 스크립트에요!

 

※ 주의 : ImageMagick이 설치되어 있지 않으면 일부 옵션에서 에러가 발생할거에요

 

※ 주의2 : 폴더명이 .gif로 끝나면 에러가 발생하네요 ㅎㄷㄷ

 

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

당분간 일신상의 사정으로 쪽지나 댓글로 답변을 드리기 어렵습니다. 죄송합니다.

 

CSVpuymXAAAVVpd.jpg

댓글 0

권한이 없습니다.
번호 제목 글쓴이 날짜 조회 수
공지 [작업 완료] 설 명절 맞이 서버 업데이트 안내 3 마스터 마스터 24.02.11.17:21 370
공지 [중요] 호스팅 만료와 관련하여 일부 수칙이 변경됩니다. 4 마스터 마스터 23.01.14.02:23 4058
460 [Python] 리스트의 순서를 유지하되 중복되는 요소를 제거하기 이니스프리 이니스프리 20.11.15.14:54 180
459 [Python] 네이버 블로그 크롤링할 때 PostList.nhn 관련 팁 (문자열에서 첫번째 행을 제거하기) 이니스프리 이니스프리 20.11.08.18:16 202
458 [Python] 문자열에서 파일명 또는 폴더명으로 시스템상 지원되는 글자를 제외하고 삭제하기 이니스프리 이니스프리 20.11.01.14:37 104
457 [Python] Pytube를 이용하여 유튜브 영상을 간단히 다운받는 법에 대한 설명 이니스프리 이니스프리 20.11.01.14:25 466
456 [Python] 특정 단어가 들어가는 폴더 또는 파일을 옮기기 이니스프리 이니스프리 20.11.01.14:14 3896
455 [Python] 2개의 리스트를 딕셔너리로 변환하는 3가지 방법 이니스프리 이니스프리 20.10.25.15:34 1055
454 [Python] HWP 파일 읽기 6 이니스프리 이니스프리 20.10.18.12:19 2086
453 [Python] 디렉토리 내 0바이트 파일 찾기 이니스프리 이니스프리 20.10.11.11:19 216
452 [Python] 유튜브 영상을 PC에 다운받은 후 영상파일을 90도 rotation 하기 (youtube_dl + moviepy) 4 이니스프리 이니스프리 20.10.03.17:58 356
451 [Python] 폴더 및 하위 폴더 내의 파일에서 문자열을 일괄적으로 replace하는 스크립트 (ver 1.1) 이니스프리 이니스프리 20.10.02.11:58 251
450 [Amina] 그누보드 + 아미나 설치 방법 (처음 시작하는 분들을 위한 간단 매뉴얼) 이니스프리 이니스프리 20.10.01.16:48 267
449 JavaScript와 Canvas로 이미지의 배경값을 자동으로 산출하기 Seia Seia 20.09.12.06:37 283
448 React 그리고 Redux 쉽게 이해하기 image Seia Seia 20.09.12.06:31 104
447 [Python] 폴더의 모든 파일명을 랜덤하게 변경하기 이니스프리 이니스프리 20.08.30.15:06 999
446 [Selenium] 요소가 완전히 로드될 때까지 기다리기 이니스프리 이니스프리 20.08.23.20:22 459
445 [Selenium] 크롬 익스텐션 사용하기 1 이니스프리 이니스프리 20.08.23.19:35 1513
[MoviePy] 폴더의 모든 MP4 파일을 적절한 크기의 GIF 파일로 변환하기 이니스프리 이니스프리 20.08.23.14:18 304
443 [Python] 확장자 확인 및 변경 이니스프리 이니스프리 20.08.23.12:17 2741
442 [Python] 폴더 내 이미지의 height를 측정하여 height < n 미만인 파일을 삭제하기 이니스프리 이니스프리 20.08.13.20:08 136
441 glob.glob()를 이용하여 recursive하게 하위 폴더까지 모든 파일과 디렉토리를 검색하기 이니스프리 이니스프리 20.08.12.16:22 1731