//AdSenseにリンク

mp3とjpgを合成してmp4を作成するpythonコード

pythonで同フォルダー内のmp3とjpgを合成してmp4を作成する

元データの名前の確認、変更

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)

python