728x90
안녕하세요 파이썬 라이브러리 중 영상편집을 할 수 있는 moviepy에 대해 포스팅해보겠습니다
세부사항은 정식홈페이지(https://zulko.github.io/moviepy/) 에서도 확인가능합니다
- 편집할 영상 가져오기
aa = VideoFileClip(original_video_path+'/'+'mmm.gif', audio=True)
videofileclip을 이용해 구워삶을 수 있는 영상을 aa 변수에 저장해 둡시다
- 영상 정보
def __init__(self, filename, has_mask=False,
audio=True, audio_buffersize=200000,
target_resolution=None, resize_algorithm='bicubic',
audio_fps=44100, audio_nbytes=2, verbose=False,
fps_source='tbr'):
VideoClip.__init__(self)
# Make a reader
pix_fmt = "rgba" if has_mask else "rgb24"
self.reader = FFMPEG_VideoReader(filename, pix_fmt=pix_fmt,
target_resolution=target_resolution,
resize_algo=resize_algorithm,
fps_source=fps_source)
# Make some of the reader's attributes accessible from the clip
self.duration = self.reader.duration
self.end = self.reader.duration
self.fps = self.reader.fps
self.size = self.reader.size
self.rotation = self.reader.rotation
self.filename = self.reader.filename
if has_mask:
self.make_frame = lambda t: self.reader.get_frame(t)[:,:,:3]
mask_mf = lambda t: self.reader.get_frame(t)[:,:,3]/255.0
self.mask = (VideoClip(ismask=True, make_frame=mask_mf)
.set_duration(self.duration))
self.mask.fps = self.fps
else:
self.make_frame = lambda t: self.reader.get_frame(t)
# Make a reader for the audio, if any.
if audio and self.reader.infos['audio_found']:
self.audio = AudioFileClip(filename,
buffersize=audio_buffersize,
fps=audio_fps,
nbytes=audio_nbytes)
videofileclip에는 여러 함수가 내장되어있습니다
영상의 정보등 필요한 함수를 오버라이딩하여 사용하시면 됩니다
videofileclip또한 videoclip을 상속받아 사용하는거라 더 많은 함수를 사용하실 수 있습니다
그 중 유용하게 사용하는 함수 몇개를 소개하겠습니다
- 영상 저장하기
def write_videofile(self, filename, fps=None, codec=None,
bitrate=None, audio=True, audio_fps=44100,
preset="medium",
audio_nbytes=4, audio_codec=None,
audio_bitrate=None, audio_bufsize=2000,
temp_audiofile=None,
rewrite_audio=True, remove_temp=True,
write_logfile=False, verbose=True,
threads=None, ffmpeg_params=None,
logger='bar')
- 영상을 gif로 변환
def write_gif(self, filename, fps=None, program='imageio',
opt='nq', fuzz=1, verbose=True,
loop=0, dispose=False, colors=None, tempfiles=False,
logger='bar')
전에 aa 변수에 저장해두었던 파일크립을 구워 삶은 뒤 위 두개의 함수를 사용하여 영상이나 gif파일로 저장하시면 됩니다
나중엔 aa에 저장한 파일클립을 어떻게 구워삶을 지에 대해 다뤄보겠습니다
감사합니다
728x90
'괴발개발 > python' 카테고리의 다른 글
모두가 사용하는 chatGPT... 개발자는 어떻게 사용하고 있을까? (0) | 2023.02.15 |
---|---|
PyCharm Invalid Python SDK 문제해결 (python 3.11 사용 시) (0) | 2022.11.16 |
pytube를 이용하여 유튜브 영상 다운로드 하기 (2) | 2022.10.24 |