[파이썬] imageio 오디오를 비디오에 삽입

image

Image source: Unsplash

오디오를 비디오에 삽입하는 것은 멀티미디어 작업에서 자주 사용되는 작업입니다. imageio 라이브러리는 Python에서 이미지 및 비디오 처리를 위해 널리 사용되는 라이브러리입니다. 이 블로그 포스트에서는 imageio를 사용하여 오디오를 비디오에 삽입하는 방법에 대해 알아보겠습니다.

imageio 라이브러리 설치

imageio 라이브러리는 Python Package Index (PyPI)에서 제공되므로 pip를 사용하여 설치할 수 있습니다. 다음 명령어를 터미널에 입력하여 라이브러리를 설치합니다.

pip install imageio

오디오 파일 및 비디오 파일 준비

먼저, 오디오 파일과 비디오 파일을 준비해야 합니다. 이 예제에서는 ‘audio.mp3’라는 오디오 파일과 ‘video.mp4’라는 비디오 파일을 사용하겠습니다. 이 파일들이 현재 작업 디렉토리에 있어야 합니다.

오디오를 비디오에 삽입하는 코드

이제, 준비한 오디오 파일을 비디오에 삽입하는 코드를 작성해보겠습니다.

import imageio
import numpy as np

# 비디오 파일 열기
video_reader = imageio.get_reader('video.mp4')

# 비디오의 프레임 수 확인
num_frames = len(video_reader)

# 삽입할 오디오 파일 열기
audio_reader = imageio.get_reader('audio.mp3')

# 비디오 프레임마다 오디오 프레임을 가져와 삽입
for i in range(num_frames):
    video_frame = video_reader.get_data(i)
    audio_frame = audio_reader.get_data(i % len(audio_reader))
    
    # 오디오를 삽입할 프레임에 오디오 데이터 추가
    video_frame[..., -1] = audio_frame
    
    # 비디오 프레임 저장
    imageio.imwrite('output/frame{}.png'.format(i), video_frame)

# 비디오 리더 종료
video_reader.close()
audio_reader.close()

위의 코드는 ‘video.mp4’ 비디오 파일을 읽어들이고, ‘audio.mp3’ 오디오 파일의 프레임을 비디오의 각 프레임에 삽입한 다음, 삽입된 비디오를 이미지 파일로 저장합니다. 삽입된 비디오 프레임의 파일 이름은 ‘frame{}.png’로 지정되어 각 프레임마다 저장됩니다.

마치며

Python의 imageio 라이브러리를 사용하여 오디오를 비디오에 삽입하는 방법을 살펴보았습니다. 이를 통해 멀티미디어 작업에서 더 다양한 기능을 구현할 수 있습니다. 이 라이브러리의 다양한 기능과 옵션을 알아보고 적용해보세요!

이미지 출처: Unsplash