mp3とjpgを合成してmp4を作成するpythonコード
pythonで同フォルダー内のmp3とjpgを合成してmp4を作成する
Contents
元データの名前の確認、変更
MP3ファイルとJPGファイルは同じ名前(拡張子を除く)である必要があります。
mp3とjpgの名前が違うときは同じ名前にします。
※出力されるMP4ファイルは、元のMP3ファイルと同じ名前で、同じフォルダーに保存されます。
ライブラリをインストール
pip install moviepy
コード
このスクリプトは、指定されたフォルダー内のMP3ファイルと同名のJPGファイルを探し、それらを合成してMP4ファイルを作成します。folder_path
変数を、実際に使用するフォルダーのパスに置き換えてく。
フォルダーのパスとは、このフォルダー内のMP3ファイルとJPGファイルを使ってMP4ファイルを作成するという意味です。
import os
from moviepy.editor import *
def create_mp4_from_mp3_and_jpg(folder_path):
for file in os.listdir(folder_path):
if file.endswith(".mp3"):
mp3_path = os.path.join(folder_path, file)
jpg_path = os.path.join(folder_path, file.replace(".mp3", ".jpg"))
if os.path.exists(jpg_path):
try:
# Load audio clip
audio_clip = AudioFileClip(mp3_path)
# Create an ImageClip with the jpg file
image_clip = ImageClip(jpg_path, duration=audio_clip.duration)
# Set the audio of the image clip to the mp3 file
video_clip = image_clip.set_audio(audio_clip)
# Set the size of the video to match the image
video_clip = video_clip.set_duration(audio_clip.duration)
video_clip = video_clip.set_fps(24) # Set the frame rate to 24 fps (standard frame rate)
output_path = os.path.join(folder_path, file.replace(".mp3", ".mp4"))
# Write the video file to the output path
video_clip.write_videofile(output_path, codec="libx264", audio_codec='aac')
print(f"Created MP4 file: {output_path}")
except Exception as e:
print(f"Error processing {file}: {e}")
# 実際のフォルダーのパスをここに指定してください
folder_path = "" # ここに正しいパスを記入
create_mp4_from_mp3_and_jpg(folder_path)
ディスカッション
コメント一覧
まだ、コメントがありません